Skip to content

saurabhhhcodes/gssoc-ops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gssoc-ops

A Claude Code skill that takes you from "I want to contribute to GSSoC" to a Draft Pull Request, in five steps. No clicking around, no copy-pasting between tabs — Claude does the work.

GSSoC = GirlScript Summer of Code, an open-source program with hundreds of projects looking for contributors.

What it does

  • scout — picks a project from the official GSSoC list
  • hunt — finds an issue you can actually solve (not "rewrite the whole thing", not "fix this typo")
  • engage — drafts and posts a "please assign me" comment that doesn't sound like spam
  • solve — clones the repo, reads the codebase, plans the fix, writes the code, runs tests, commits
  • pr — pushes to your fork and opens a Draft PR

You stay in the driver's seat. The skill never posts comments, pushes branches, or opens PRs without you typing yes first.

Requirements

  • Claude Code installed
  • gh (GitHub CLI) installed and authenticated
  • git installed and configured with your name + email
  • jq installed

The skill checks all of this on first run and tells you exactly what to install if anything is missing.

Install

git clone https://github.com/NachiketPatil26/gssoc-ops.git
cd gssoc-ops
claude

That's it. The skill is self-contained in this folder.

Use

Inside Claude Code, run:

/gssoc-ops

You'll see a menu. Then walk through the modes in order:

/gssoc-ops scout      → opens PROJECTS.md, you pick a project number
/gssoc-ops hunt       → shortlist of medium-difficulty issues, you pick one
/gssoc-ops engage     → drafts an assignment comment, you say "yes" to post
/gssoc-ops solve      → clones, plans, codes, tests, commits — autonomously
/gssoc-ops pr         → forks, pushes, drafts the PR, you say "yes" to open

Each mode saves its state to state/active/, so you can quit Claude Code and pick up later. Just run /gssoc-ops and it'll tell you where you left off.

How a typical run looks

$ claude

❯ /gssoc-ops scout
Generated PROJECTS.md — 313 projects ready to browse.
Which project would you like to contribute to? Enter the number.

❯ 47
Got it — you've selected InternHack (sachinchaurasiya360/internhack).
Run `/gssoc-ops hunt` to find a tractable issue.

❯ /gssoc-ops hunt
Scanned 119 open issues — 12 medium, 8 unassigned or stalled.
[shortlist table]
Which issue would you like to work on?

❯ 3
Locked in on sachinchaurasiya360/internhack#214: Add CSV export.
Run `/gssoc-ops engage` to draft your assignment comment.

❯ /gssoc-ops engage
[shows draft comment]
Post this comment? (yes / edit / cancel)

❯ yes
Comment posted: https://github.com/...

❯ /gssoc-ops solve
[clones, reads codebase, prints plan, writes code, runs tests, commits]
Implemented #214 on branch gssoc/issue-214-csv-export.
Run `/gssoc-ops pr` to push and open a Draft PR.

❯ /gssoc-ops pr
About to push branch to your fork. Proceed? (yes / cancel)

❯ yes
[shows full PR draft]
Create as Draft PR on sachinchaurasiya360/internhack? (yes / edit / cancel)

❯ yes
Draft PR opened: https://github.com/...

You then review the PR on GitHub and click "Ready for review" when you're happy with it.

How it works under the hood

  • projects.json — the GSSoC project list, fetched from the official site. Refresh instructions below.
  • PROJECTS.md — human-readable table generated from projects.json. Open it to browse projects.
  • state/active/ — your current contribution-in-progress (project + issue + branch + PR URL).
  • state/history/ — past contributions, archived automatically when you start a new one.
  • repos/{repo-name}/ — local clones of the repos you contribute to. One per upstream; branches per issue.
  • All work happens on a fork. The skill never tries to push directly to a maintainer's repo.

Refreshing the project list

projects.json ships with the latest snapshot of GSSoC projects, but the official list updates over the season. To refresh:

  1. Open https://gssoc.girlscript.org/projects in your browser.
  2. Open DevTools → Network tab.
  3. Reload the page.
  4. Find the XHR request named projects. Click it.
  5. Copy the response JSON (the full body, including { "projects": [...], "total": ... }).
  6. Save it to projects.json at the repo root, replacing the existing file.
  7. Delete PROJECTS.md so it gets regenerated next scout.
  8. Run /gssoc-ops scout again — it'll write a fresh PROJECTS.md.

Safety

The skill is paranoid by design about anything that touches the public internet:

  • Posting an issue comment → requires explicit yes from you.
  • Pushing a branch → requires explicit yes.
  • Opening a PR → requires explicit yes.
  • Adding reviewers → never. Reviewer assignment is the maintainer's job after you mark the PR ready.
  • Force-pushing, --no-verify, modifying your git config → never, unless you explicitly ask.

The autonomous parts (cloning, branching, code writing, testing, local commits) are all reversible. Anything irreversible has a confirmation gate.

Troubleshooting

"Skill produces no output." Check that you're running Claude Code from inside this repo. The skill is project-local. If pwd isn't the gssoc-ops folder, the slash command won't be discovered.

"Preflight failed: gh not authenticated." Run gh auth login in your terminal (it requires interactive input Claude can't provide), then re-run /gssoc-ops.

"Preflight failed: git identity not set." Run:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

"projects.json not found." Either the file got deleted, or you cloned without LFS / a partial clone. Re-fetch using the steps in "Refreshing the project list" above.

"hunt comes back empty." The project's open issues may all be too small (typo fixes), too large (architectural rewrites), or already actively assigned. Try a different project, or ask the skill to widen the filter.

"solve fails on tests." The skill won't bypass pre-commit hooks or fudge test results. If pre-existing tests are broken in the upstream repo (not your fault), it'll commit anyway and flag it loudly in the summary so you can mention it in the PR.

Contributing to gssoc-ops itself

This skill is itself open source. Bug reports, mode improvements, and new modes are welcome. The skill files are in .claude/skills/gssoc-ops/:

  • SKILL.md — entrypoint and routing
  • _shared.md — global rules loaded by every mode
  • scout.md / hunt.md / engage.md / solve.md / pr.md — one file per mode

Each mode file is plain Markdown — read them like a runbook. To extend the skill, modify one of these files or add a new mode.

License

MIT. See LICENSE.

About

Claude Code skill that takes you from 'I want to contribute to GSSoC' to a Draft PR — scout, hunt, engage, solve, pr.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors