implement-issue
Installation
SKILL.md
Implement Issue
Take a GitHub issue from open → feature branch → working code → green tests + runtime smoke check → draft PR.
Inputs
- Issue number (optional, e.g.
#8or8). If omitted, auto-select (see step 0). - Optional: target repo (defaults to the current
ghremote).
Orchestrated dispatch
When a feature orchestrator (e.g. the implement-feature skill) dispatches this skill, its prompt may set these overrides — sanctioned branches of this workflow, not contradictions to argue with:
- Issue number is always given — skip step 0's auto-pick.
base_branch: <integration branch>— replaces step 2 entirely; blockers are pre-merged into it, so skip all blocked-by detection. Cut the issue branch without checking out the base (it may be checked out in the main tree or a sibling worktree):git switch -c feat/issue-<N>-<slug> <base_branch>— the shared local ref is already at the tip the orchestrator pushed.git fetch origin <base_branch>only if that ref is missing, retrying once on a ref-lock error (parallel siblings fetch too). Nevergit switch <base_branch>itself.resume_branch: <name>— a prior attempt's pushed WIP branch: fetch and switch to it instead of creating one, rebase ontoorigin/<base_branch>, read the findings comment on the issue, and continue from step 6. If the rebase conflicts, or the base alone already satisfies the issue (its previously failing tests pass onorigin/<base_branch>before your changes), abandon the WIP and returnstatus: already_satisfied— the orchestrator drops the issue.open_pr: false— skip every PR step (the draft PR in step 5, the finalise/gh pr readyparts of step 8). Step 8's review becomes a direct read ofgit diff <base_branch>...HEAD(nocode-reviewsub-agent fan-out — the orchestrator runs the authoritative review). Returnbranch,worktree_path,files_changed,tests_run, andopen_questionsinstead of a PR URL; on a stop condition returnstatus: failed, the pushed WIPbranch,worktree_path, androot_cause.- "Stop and ask" remaps — you cannot reach the user: stop, put the question in
open_questions, and return; the orchestrator asks.