Agent skill

Auto GitHub Contributor

by nexu-io in nexu-io/auto-github-contributor

Interactively pick a quick-win contribution in any GitHub repo — either a labeled issue ("good first issue", "help wanted", docs) or a repo-scan candidate (typo, missing tests, i18n gap, actionable…

MITAuto-check: notesTesting & QA

Install Auto GitHub Contributor

skills CLI
$ npx skills add nexu-io/auto-github-contributor --skill auto-github-contributor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nexu-io/auto-github-contributor auto-github-contributor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nexu-io/auto-github-contributor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/auto-github-contributor .claude/skills/auto-github-contributor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
auto-github-contributor
GitHub stars
137
Token cost
~2.5k tokens
SKILL.md length
1,040 words
Files
12 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Interactively pick a quick-win contribution in any GitHub repo — either a labeled issue ("good first issue", "help wanted", docs) or a repo-scan candidate (typo, missing tests, i18n gap, actionable…

  • Works in 11 steps: Prerequisite check (always first) → Resolve the target repo → Discover candidates (parallel) → …
  • The user wants to auto-contribute to an open-source project end-to-end
  • SKILL.md covers Execution steps — follow in…, Flow variations, Stub policy and Safety rails
  • Runs Shell scripts from its folder; calls bash, gh and git; reaches github.com

What it does

Auto GitHub Contributor is an agent skill from nexu-io/auto-github-contributor. Interactively pick a quick-win contribution in any GitHub repo — either a labeled issue ("good first issue", "help wanted", docs) or a repo-scan candidate (typo, missing tests, i18n gap, actionable TODO). Runs a TDD dev-loop, opens a PR via gh, and returns the PR URL. Use when the user wants to auto-contribute to an open-source project end-to-end. Trigger words: auto-contribute, open a PR for me, find a good first issue, contribute to <repo.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts (for example `scripts/browser-verify.sh`, `scripts/check-prereqs.sh` and `scripts/config.sh`).

It sits in Testing & QA, covering Test-driven development, Pull requests and Internationalization. It works with GitHub. The licence is MIT.

When your agent uses it

  • The user wants to auto-contribute to an open-source project end-to-end
  • Words: auto-contribute
  • Open a PR for me
  • Find a good first issue

Example prompts

  • “good first issue”
  • “help wanted”
  • “/auto-github-contributor”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): -, Bash, -, Read, -, Write, -, Edit, -, AskUserQuestion, -, TaskCreate, -, TaskUpdate, -, WebFetch

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. Prerequisite check (always first)
  2. Resolve the target repo
  3. Discover candidates (parallel)
  4. Present the picklist
  5. Isolate the workdir
  6. Write the spec
  7. Generate TODO breakdown + mirror to TaskCreate
  8. TDD dev-loop (per todo)
  9. Final verification
  10. Commit, push, open PR
  11. Wrap up

What it can do on your machine

Read from SKILL.md and the folder at commit 7d92835. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • -
    • Bash
    • -
    • Read
    • -
    • Write
    • -
    • Edit
    • -
    • AskUserQuestion

    …and 6 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 8 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Auto GitHub Contributor loads about 2.5k tokens when it runs. Until then it costs about 118 tokens; SKILL.md has 1,040 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: -, Bash, -, Read, -, Write, -, Edit, -, AskUserQuestion, -, TaskCreate, -, TaskUpdate, -, WebFetch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from nexu-io/auto-github-contributor at commit 7d92835, republished under its MIT licence (© nexu-io). 1,040 words, ~2,477 tokens.

Download SKILL.mdSave it as .claude/skills/auto-github-contributor/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.
name
auto-github-contributor
description
Interactively pick a quick-win contribution in any GitHub repo — either a labeled issue ("good first issue", "help wanted", docs) or a repo-scan candidate (typo, missing tests, i18n gap, actionable TODO). Runs a TDD dev-loop, opens a PR via gh, and returns the PR URL. Use when the user wants to auto-contribute to an open-source project end-to-end. Trigger words: auto-contribute, open a PR for me, find a good first issue, contribute to <repo>.
allowed-tools
-, Bash, -, Read, -, Write, -, Edit, -, AskUserQuestion, -, TaskCreate, -, TaskUpdate, -, WebFetch

auto-github-contributor — interactive OSS PR agent

One command, full pipeline, any repo:

  1. Check prerequisites (gh, git, jq, gh auth) — guide the user to fix anything missing.
  2. Ask for the target repo (owner/name or GitHub URL). Default fork to the authed gh user.
  3. Discover candidates from two sources in parallel:
    • Labeled issues (good first issue, help wanted, documentation, etc.)
    • Repo scan for quick wins (typos, missing tests, i18n gaps, actionable TODOs)
  4. Present a ranked picklist with estimated time + LLM cost per item.
  5. Wait for explicit user confirmation before touching anything.
  6. Run the TDD dev-loop (red → green → refactor) until lint / typecheck / tests all pass.
  7. Push + open PR via gh. Print the PR URL on its own line so the user can click.

Scripts live next to this file under scripts/. Each script emits machine-readable KEY=VAL lines on stdout and logs to stderr. Source the shared helpers from every script:

bash
source "$(dirname "$0")/config.sh"

Override config via env vars on invocation:

bash
TARGET_REPO=owner/name TARGET_FORK=me/name bash <script>

Execution steps — follow in order

Step 1 — Prerequisite check (always first)
bash
bash "$SKILL_DIR/scripts/check-prereqs.sh"

Reads GH_USER=... from stdout — capture it as the default fork owner.

  • Exit code 0: continue.
  • Exit code 2: surface the printed install / auth hint verbatim to the user and stop. Do not attempt token workarounds, sudo installs, or other shortcuts. The user runs the fix and restarts the flow.
Step 2 — Resolve the target repo

Priority order:

  1. If the slash command passed TARGET_REPO via $ARGUMENTS, normalize and use it.
  2. Otherwise, ask the user via AskUserQuestion with one free-text prompt titled "Target repo" and hint owner/name or https://github.com/owner/name. If the user gives a URL, strip the protocol + trailing .git.
  3. Ask for fork owner (optional) — default to $GH_USER. If the user confirms no fork, TARGET_FORK stays empty and we push to origin (create-pr.sh will warn 3s before doing so).

Validate: gh repo view "$TARGET_REPO" must succeed. If the repo doesn't exist or the user lacks access, stop and surface the gh error.

Export TARGET_REPO and TARGET_FORK for the rest of the session.

Step 3 — Discover candidates (parallel)

3a. Labeled issues

bash
bash "$SKILL_DIR/scripts/fetch-issues.sh" > /tmp/agc-issues.json

This queries each label in $AGC_LABELS (default: good first issue, help wanted, documentation, good-first-issue), merges, de-dupes, and ranks by a score that weights label specificity + freshness + body clarity. Top of the list = easiest high-quality pick.

3b. Repo quick-win scan

We need a shallow clone first so scan-quick-wins.sh has files to read. Use a scratch clone rather than the per-issue workdir (no branch yet):

bash
SCRATCH="$AGC_WORK_ROOT/$(echo $TARGET_REPO | tr / -)/_scratch"
if [[ ! -d "$SCRATCH/.git" ]]; then
  git clone --depth 1 "https://github.com/$TARGET_REPO.git" "$SCRATCH"
fi
bash "$SKILL_DIR/scripts/scan-quick-wins.sh" --workdir "$SCRATCH" > /tmp/agc-quickwins.json

Returns an array of {kind, title, summary, file, line, estimated_minutes, slug}. Kinds: typo, missing-test, i18n, todo.

Step 4 — Present the picklist

Render a single merged table. For each entry compute:

  • Estimated time — issues: flat 60min (we'll refine after reading the body); quick-wins: estimated_minutes from the scanner.
  • Estimated cost — use this rule of thumb, cheap and transparent:
    • typo, tiny doc fix: ~$0.30
    • i18n, small test add: ~$1.50
    • missing-test for a non-trivial module: ~$3
    • TODO resolution or labeled issue: ~$5–8 depending on scope
    • UI-affecting issue that needs visual verification: +$2 The point isn't precision — it's letting the user pick a ceiling.

Format as markdown so the user can scan quickly:

Discovered candidates in owner/name:

Quick wins (repo scan)
  1. [typo]         Fix "teh" → "the" in docs/intro.md:42           ~5 min  ~$0.30
  2. [missing-test] Add tests for src/utils/parse.ts                 ~30 min ~$1.50
  3. [i18n]         Fill 12 missing keys in locales/zh-CN.json       ~45 min ~$2.00
  ...

Issues (labeled)
  a. #124  Clarify CONTRIBUTING steps for monorepo setup             ~60 min ~$3.00
     labels: documentation · good first issue
  b. #131  Add --json flag to `cli list` command                     ~90 min ~$6.00
     labels: good first issue · help wanted
  ...

Then call AskUserQuestion titled "Pick one" with options: top quick-wins (numbered) + top issues (lettered) + "Other: paste issue # or slug" fallback + "Cancel".

If the user picks "Cancel", stop cleanly. No work, no clones beyond _scratch.

Step 5 — Isolate the workdir
bash
# For issue pick:
bash "$SKILL_DIR/scripts/setup-workspace.sh <ISSUE_NUMBER>"

# For quick-win pick:
bash "$SKILL_DIR/scripts/setup-workspace.sh <SLUG> --title "<short title>"

Capture WORKDIR=..., BRANCH=..., ISSUE_TITLE=... from stdout.

Step 6 — Write the spec

Fill templates/SPEC.template.md → $WORKDIR/.auto-pr/SPEC.md:

  • Problem: restate in your own words.
  • Acceptance criteria: testable bullets.
  • Approach: concrete change plan.
  • Files likely touched: from a quick rg/find pass against the target repo.
  • Risk / blast radius.
  • Test plan: unit + integration + visual.

For quick-win picks, the spec can be minimal (1–2 acceptance criteria). Don't over-invest for a typo fix.

Step 7 — Generate TODO breakdown + mirror to TaskCreate

Fill templates/TODO.template.md → $WORKDIR/.auto-pr/TODO.md, then create one TaskCreate entry per atomic todo. Prefer failing test → minimal implementation → refactor triples. Mark each TaskUpdate in_progress before starting, completed when dev-loop green.

Show full SKILL.md (413 more words)Show less
Step 8 — TDD dev-loop (per todo)
  1. Red: write/update the failing test.
  2. bash
    bash "$SKILL_DIR/scripts/dev-loop-check.sh" --phase red --workdir "$WORKDIR"
    Must exit 0 (tests fail as expected).
  3. Green: minimal implementation.
  4. bash
    bash "$SKILL_DIR/scripts/dev-loop-check.sh" --phase green --workdir "$WORKDIR"
    Runs install + lint + typecheck + test. Fail → diagnose → fix → re-run. Do not mark the todo complete until this exits 0.
  5. Refactor if warranted — re-run step 4.
  6. Visual verification (UI-affecting only):
    bash
    bash "$SKILL_DIR/scripts/browser-verify.sh" --url "$AGC_DEV_URL" --out "$WORKDIR/.auto-pr/screenshots/<todo-slug>.png"
    If the script is still a stub, continue — note visual verify: stub — manual check pending in the PR body.

Iteration cap: 20 loops per todo. On exceed, write the blocker to $WORKDIR/.auto-pr/BLOCKERS.md and move on; the PR will be marked draft and call out the blocker.

Step 9 — Final verification
bash
bash "$SKILL_DIR/scripts/dev-loop-check.sh" --phase final --workdir "$WORKDIR"

Clean install + lint + typecheck + full tests + build. Must exit 0.

Step 10 — Commit, push, open PR
bash
# Issue-driven:
bash "$SKILL_DIR/scripts/create-pr.sh <ISSUE_NUMBER>"

# Quick-win:
bash "$SKILL_DIR/scripts/create-pr.sh <SLUG> --title "<short title>"

create-pr.sh commits, pushes to $TARGET_FORK (falls back to origin with a 3s abort window), renders the PR body from SPEC.md + TODO.md + screenshots + blockers, and opens the PR via gh pr create.

Print the PR URL on its own line to the user, e.g.:

PR opened: https://github.com/owner/name/pull/456
Step 11 — Wrap up

Print a one-line recap: what was picked, PR URL, any stub hooks still pending. No extra summary files unless the user asks.

Flow variations

  • User passes repo URL via slash command: skip the "Ask for repo" prompt in Step 2.
  • User picks "Other" in Step 4: fall back to a free-text prompt; accept either #<issue> or a slug. If #<issue>, route through the issue branch; otherwise treat as a quick-win slug and ask for a one-line title.
  • Discovery returns zero candidates: tell the user the repo looks "clean" for the configured labels and scan heuristics. Offer to broaden labels (AGC_LABELS) or accept a manual issue number.

Stub policy

Every script accepts --dry-run where it makes sense. Stub sections are marked:

# TODO(auto-gh): <what's missing>

Never silently skip verification — always emit a visible stub: <reason> line so the PR body includes the caveat.

Safety rails

  • Never force-push. create-pr.sh uses plain git push -u <remote> <branch>.
  • Never commit to upstream base branch. Hard-coded guard: if the current branch is main/master/develop, abort.
  • Never rm -rf outside $AGC_WORK_ROOT. Workdir paths are validated before any cleanup.
  • Never write to shared systems (Slack, email, external services) unless the user explicitly asks.
  • If gh auth status fails mid-flow, surface the error and stop — no token workarounds.
  • Ask before doing anything destructive the user didn't explicitly request (force-push, branch deletion, rebase onto a shifted base).

© nexu-io, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 11 other files (scripts) in skills/auto-github-contributor of nexu-io/auto-github-contributor.

  • SKILL.md
  • scripts/browser-verify.sh
  • scripts/check-prereqs.sh
  • scripts/config.sh
  • scripts/create-pr.sh
  • scripts/dev-loop-check.sh
  • scripts/fetch-issues.sh
  • scripts/scan-quick-wins.sh
  • scripts/setup-workspace.sh
  • templates/PR-BODY.template.md
  • templates/SPEC.template.md
  • templates/TODO.template.md

Open the folder on GitHubat commit 7d92835

Compare with similar skills

Auto GitHub Contributor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Auto GitHub Contributor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Auto GitHub Contributor this skillnexu-io/auto-github-contributor137—~2.5kAutomated safety check: NotesMIT
PlanRafaelGB/Obsidian-ZettelFlow174—~651Automated safety check: PassMIT
Deliveradamayoung/TMDb178—~12kAutomated safety check: PassApache-2.0
Shift Left Testingpetrkindlmann/qa-skills163—~6.7kAutomated safety check: PassMIT
Review PR Threadsadamayoung/TMDb178—~1.9kAutomated safety check: PassApache-2.0
Readme I18nY80/bmm3432 repos~1.9kAutomated safety check: PassMIT

Similar skills

  • Plan

    RafaelGB/Obsidian-ZettelFlow

    Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy…

    174 GitHub stars~651 tokensUpdated today
    Testing & QAAuto-check passed
  • Deliver

    adamayoung/TMDb

    Take a plan all the way to a ready-to-merge pull request — review the plan (scaled to risk), implement it test-first, code-review and fix, run the CI gate, open the PR, and watch it green.

    178 GitHub stars~12k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Shift Left Testing

    petrkindlmann/qa-skills

    Move quality earlier in the development lifecycle. An agent skill from petrkindlmann/qa-skills.

    163 GitHub stars~6.7k tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • Review PR Threads

    adamayoung/TMDb

    Resolve the currently-unresolved review threads on the current branch's PR in one sweep — assess each, fix it (test-first, verified) or reply-only, then reply and resolve — and return a summary.

    178 GitHub stars~1.9k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • A skill your agent uses when the user wants to translate a repository README, make a repo multilingual, localize docs, add a language switcher, internationalize the README, or update localized…

    343 GitHub starsUsed in 2 repos~1.9k tokens
    Frontend & DesignAuto-check passed
  • Docs Authoring

    TracecatHQ/tracecat

    A skill your agent uses when adding or updating documentation pages in an existing docs site.

    3.8k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check: notes

Works with

Questions about Auto GitHub Contributor

What does Auto GitHub Contributor do?

Interactively pick a quick-win contribution in any GitHub repo — either a labeled issue ("good first issue", "help wanted", docs) or a repo-scan candidate (typo, missing tests, i18n gap, actionable…. Auto GitHub Contributor is an agent skill from nexu-io/auto-github-contributor. Interactively pick a quick-win contribution in any GitHub repo — either a labeled issue ("good first issue", "help wanted", docs) or a repo-scan candidate (typo, missing tests, i18n gap, actionable TODO).

When should I use Auto GitHub Contributor?

Auto GitHub Contributor fits situations like: the user wants to auto-contribute to an open-source project end-to-end; words: auto-contribute; open a PR for me; find a good first issue.

How do I install Auto GitHub Contributor in Claude Code?

Run `npx skills add nexu-io/auto-github-contributor --skill auto-github-contributor -a claude-code`. Or copy the skill folder (skills/auto-github-contributor in nexu-io/auto-github-contributor) into .claude/skills/auto-github-contributor in your project. Claude Code loads it when a task matches its description.

How do I install Auto GitHub Contributor in Codex?

Run `npx skills add nexu-io/auto-github-contributor --skill auto-github-contributor -a codex`. Or copy the skill folder (skills/auto-github-contributor in nexu-io/auto-github-contributor) into .agents/skills/auto-github-contributor in your project. Codex loads it when a task matches its description.

Can I use Auto GitHub Contributor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nexu-io/auto-github-contributor --skill auto-github-contributor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/auto-github-contributor, .gemini/skills/auto-github-contributor, .github/skills/auto-github-contributor and .opencode/skills/auto-github-contributor in your project.

What does Auto GitHub Contributor need to run?

Going by SKILL.md and its folder, Auto GitHub Contributor needs a shell for the scripts in its folder and the command-line tools its instructions call (bash, gh and git). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: -, Bash, -, Read, -, Write, -, Edit, -, AskUserQuestion, -, TaskCreate, -, TaskUpdate, -, WebFetch.

Does Auto GitHub Contributor access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Auto GitHub Contributor safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Auto GitHub Contributor use?

Auto GitHub Contributor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Auto GitHub Contributor use?

About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Auto GitHub Contributor?

Skills that share tags, products or a category with Auto GitHub Contributor: Plan (RafaelGB/Obsidian-ZettelFlow, 174 stars), Deliver (adamayoung/TMDb, 178 stars), Shift Left Testing (petrkindlmann/qa-skills, 163 stars) and Review PR Threads (adamayoung/TMDb, 178 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Auto GitHub Contributor?

nexu-io (a GitHub organization) maintains it in nexu-io/auto-github-contributor, which has 137 GitHub stars. The repository was last updated on April 24, 2026.

Source: nexu-io/auto-github-contributor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.