Handle GitHub Issue
Process any GitHub issue through a structured end-to-end workflow: read → validate → implement with TDD → review → land → cleanup.
Use this skill when you need to:
- Implement a feature or bug fix from a GitHub issue
- Ensure disciplined process (isolated changes, review gates, verification)
- Coordinate across verification, testing, landing, and issue closure
Required Workflow
1. Read and Validate
- Fetch the full issue, comments, linked PRs, and labels from GitHub
- Review the current repository code and context
- Determine if the issue is valid, actionable, and not a duplicate
- If invalid/duplicate/already fixed, comment with evidence and stop
2. Plan and Create Isolation
- Confirm the base branch (e.g.,
main, develop, a feature branch)
- Plan the implementation: What code changes are needed? Are there tests to update?
- Create an isolated working branch from the base branch:
- Standard approach:
git checkout -b issue/<number> origin/<base-branch>
- Advanced: If your project uses worktree tooling (e.g.,
git worktree, specialized CLI), use that instead for better isolation
- Navigate into the working branch or worktree
3. Implement with TDD (When Applicable)
- Identify if a test surface exists (unit tests, integration tests, UI tests)
- If a test exists:
- Write or update the smallest failing test case first
- Make the minimal production code change to pass that test
- Rerun the focused test and verify green
- If no test surface exists:
- Implement the feature/fix directly
- Document rationale in commit message
4. Verify Locally
- Run relevant test suites, build checks, linters, or integration tests
- Capture and report all verification output
- Ensure all checks pass before proceeding
5. Code Review and Cleanup
- Invoke
review-swarm or pre-commit-review on the uncommitted or staged diff
- Address every actionable finding
- Resolve style, performance, security, and architectural concerns
- Verify review resolution before commit
6. Land and Push
- Commit inside the isolated branch with a clear, descriptive message
- Merge or rebase back to the base branch (use
git merge or git rebase depending on your project)
- Push the base branch to GitHub
- Clean up the working branch or worktree:
- Standard:
git branch -d issue/<number> or git branch -D issue/<number>
- Advanced: If you used worktree tooling, use its cleanup command
7. Close and Report
- Comment on the issue with:
- What changed (features/fixes implemented)
- Verification results (tests passed, lints passed, etc.)
- Review findings and how they were resolved
- Commit hash and branch/PR reference
- Close the issue (via GitHub UI or comment with
/close if supported)
- Report any blockers or cleanup issues explicitly
Key Principles
Validate before committing: Always run review and verification BEFORE landing.
Isolated changes: Use branches or worktrees to isolate work from the mainline, preventing accidental interference.
TDD when applicable: If a test surface exists, prioritize writing the test first. If not, implement directly and document why.
Transparent communication: Every step produces reportable evidence (test output, review results, commit hash).
Cleanup discipline: Remove temporary worktrees or branches to keep the repository clean.
When to Stop
Stop early and comment on the issue if any of these are true:
- The issue is a duplicate of another (link the canonical issue)
- The issue is already fixed (cite the commit/PR)
- The issue is invalid or lacks sufficient detail to implement
- The issue requests unsafe or policy-violating behavior
- The verification or review discovers a fundamental blocker
Adapting to Your Project
Projects may customize this workflow via:
- Test framework: XCTest, Swift Testing, Jest, pytest, Vitest, etc.
- Verification tools: SwiftFormat, SwiftLint, cargo test, npm run test, eslint, etc.
- Branch isolation: Standard
git checkout -b, or advanced worktree tools (git worktree or project-specific CLI)
- Review gates: Pre-commit reviews, code review automation, linting, or static analysis
- Base branch strategy:
main, develop, release branches, or other branch hierarchies
Read your project's contribution guide or CONTRIBUTING.md for specifics.
References
See GitHub Issue Agent Workflow for a step-by-step checklist.
1---2name: handle-github-issue3description: Handle a GitHub issue end-to-end using disciplined code review, TDD when applicable, local verification, and structured landing workflow.4---56# Handle GitHub Issue78Process any GitHub issue through a structured end-to-end workflow: read → validate → implement with TDD → review → land → cleanup.910Use this skill when you need to:11- Implement a feature or bug fix from a GitHub issue12- Ensure disciplined process (isolated changes, review gates, verification)13- Coordinate across verification, testing, landing, and issue closure1415## Required Workflow1617### 1. Read and Validate18- Fetch the full issue, comments, linked PRs, and labels from GitHub19- Review the current repository code and context20- Determine if the issue is valid, actionable, and not a duplicate21- If invalid/duplicate/already fixed, comment with evidence and stop2223### 2. Plan and Create Isolation24- Confirm the base branch (e.g., `main`, `develop`, a feature branch)25- Plan the implementation: What code changes are needed? Are there tests to update?26- Create an isolated working branch from the base branch:27 - **Standard approach**: `git checkout -b issue/<number> origin/<base-branch>`28 - **Advanced**: If your project uses worktree tooling (e.g., `git worktree`, specialized CLI), use that instead for better isolation29- Navigate into the working branch or worktree3031### 3. Implement with TDD (When Applicable)32- Identify if a test surface exists (unit tests, integration tests, UI tests)33- If a test exists:34 1. Write or update the smallest failing test case first35 2. Make the minimal production code change to pass that test36 3. Rerun the focused test and verify green37- If no test surface exists:38 1. Implement the feature/fix directly39 2. Document rationale in commit message4041### 4. Verify Locally42- Run relevant test suites, build checks, linters, or integration tests43- Capture and report all verification output44- Ensure all checks pass before proceeding4546### 5. Code Review and Cleanup47- Invoke `review-swarm` or `pre-commit-review` on the uncommitted or staged diff48- Address every actionable finding49- Resolve style, performance, security, and architectural concerns50- Verify review resolution before commit5152### 6. Land and Push53- Commit inside the isolated branch with a clear, descriptive message54- Merge or rebase back to the base branch (use `git merge` or `git rebase` depending on your project)55- Push the base branch to GitHub56- Clean up the working branch or worktree:57 - **Standard**: `git branch -d issue/<number>` or `git branch -D issue/<number>`58 - **Advanced**: If you used worktree tooling, use its cleanup command5960### 7. Close and Report61- Comment on the issue with:62 - What changed (features/fixes implemented)63 - Verification results (tests passed, lints passed, etc.)64 - Review findings and how they were resolved65 - Commit hash and branch/PR reference66- Close the issue (via GitHub UI or comment with `/close` if supported)67- Report any blockers or cleanup issues explicitly6869## Key Principles7071**Validate before committing**: Always run review and verification BEFORE landing.7273**Isolated changes**: Use branches or worktrees to isolate work from the mainline, preventing accidental interference.7475**TDD when applicable**: If a test surface exists, prioritize writing the test first. If not, implement directly and document why.7677**Transparent communication**: Every step produces reportable evidence (test output, review results, commit hash).7879**Cleanup discipline**: Remove temporary worktrees or branches to keep the repository clean.8081## When to Stop8283Stop early and comment on the issue if any of these are true:84- The issue is a duplicate of another (link the canonical issue)85- The issue is already fixed (cite the commit/PR)86- The issue is invalid or lacks sufficient detail to implement87- The issue requests unsafe or policy-violating behavior88- The verification or review discovers a fundamental blocker8990## Adapting to Your Project9192Projects may customize this workflow via:93- **Test framework**: XCTest, Swift Testing, Jest, pytest, Vitest, etc.94- **Verification tools**: SwiftFormat, SwiftLint, cargo test, npm run test, eslint, etc.95- **Branch isolation**: Standard `git checkout -b`, or advanced worktree tools (`git worktree` or project-specific CLI)96- **Review gates**: Pre-commit reviews, code review automation, linting, or static analysis97- **Base branch strategy**: `main`, `develop`, release branches, or other branch hierarchies9899Read your project's contribution guide or `CONTRIBUTING.md` for specifics.100101## References102103See [GitHub Issue Agent Workflow](./references/agent-issue-workflow.md) for a step-by-step checklist.