github-issue

Work on a GitHub issue end-to-end: checkout main, create branch, research best practices, plan implementation, write tests first (TDD), implement, run code review, QA validation, then create PR. Use when given a GitHub issue URL or number to implement.

16 stars

Best use case

github-issue is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Work on a GitHub issue end-to-end: checkout main, create branch, research best practices, plan implementation, write tests first (TDD), implement, run code review, QA validation, then create PR. Use when given a GitHub issue URL or number to implement.

Teams using github-issue should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/github-issue/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/cli-automation/github-issue/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/github-issue/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How github-issue Compares

Feature / Agentgithub-issueStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Work on a GitHub issue end-to-end: checkout main, create branch, research best practices, plan implementation, write tests first (TDD), implement, run code review, QA validation, then create PR. Use when given a GitHub issue URL or number to implement.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# GitHub Issue Workflow

Implement a GitHub issue following TDD principles with integrated code review and QA validation.

## Arguments

- `$ARGUMENTS` - GitHub issue URL (e.g., `https://github.com/owner/repo/issues/123`) or issue number (e.g., `123`)

## Workflow Overview

```
┌─────────────────────────────────────────────────────────────────┐
│  1. Setup       → Checkout main, create feature branch          │
│  2. Research    → Fetch issue details, research best practices  │
│  3. Plan        → Create implementation plan, get user approval │
│  4. TDD Cycle   → Write failing test → Implement → Pass         │
│  5. Code Review → Run go-code-reviewer, incorporate feedback    │
│  6. QA Validate → Run qa-requirements-validator, fix gaps       │
│  7. PR Creation → Commit, push, create pull request             │
└─────────────────────────────────────────────────────────────────┘
```

## Process

### Phase 1: Environment Setup

1. **Validate working directory is clean:**
   ```bash
   git status --porcelain
   ```
   If there are uncommitted changes, warn the user and ask how to proceed.

2. **Checkout and update main branch:**
   ```bash
   git checkout main && git pull origin main
   ```

3. **Parse issue identifier from $ARGUMENTS:**
   - If URL: Extract owner, repo, and issue number
   - If number only: Use current repo context

4. **Fetch issue details:**
   ```bash
   gh issue view $ISSUE_NUMBER --json title,body,labels,assignees
   ```

5. **Create feature branch:**
   ```bash
   # Branch naming: fix/issue-{number}-{short-description} or feat/issue-{number}-{short-description}
   git checkout -b {branch-name}
   ```

### Phase 2: Research & Understanding

1. **Parse issue requirements:**
   - Extract acceptance criteria from issue body
   - Identify affected components/files
   - Note any linked issues or PRs

2. **Research best practices:**
   - Use WebSearch to find relevant patterns for the problem domain
   - Check existing codebase patterns using Glob and Grep
   - Review similar implementations in the project

3. **Explore affected code:**
   - Use the Explore agent to understand the codebase area:
   ```
   Task(
     prompt="Explore how {affected_area} works in this codebase. Find relevant files, understand the architecture, and identify where changes need to be made for: {issue_summary}",
     subagent_type="Explore"
   )
   ```

4. **Document findings:**
   - Create a mental model of what needs to change
   - Identify potential risks or edge cases

### Phase 3: Implementation Plan

1. **Create structured plan:**

   Present to user for approval:
   ```markdown
   ## Implementation Plan for Issue #{number}: {title}

   ### Requirements (from issue)
   - [ ] Requirement 1
   - [ ] Requirement 2
   ...

   ### Approach
   {High-level description of the solution}

   ### Files to Modify/Create
   | File | Action | Purpose |
   |------|--------|---------|
   | path/to/file.go | Modify | Add X functionality |
   | path/to/file_test.go | Create | Test cases for X |

   ### Test Strategy (TDD)
   1. Test case 1: {description}
   2. Test case 2: {description}
   ...

   ### Risks & Mitigations
   - Risk: {potential issue}
     Mitigation: {how to handle}
   ```

2. **Get user approval:**
   - Present the plan
   - Ask: "Does this plan look good? Should I proceed with implementation?"
   - Wait for explicit approval before continuing

### Phase 4: TDD Implementation Cycle

For each feature/requirement, follow RED-GREEN-REFACTOR:

#### 4.1 RED: Write Failing Test First

1. **Create/update test file:**
   - Write test that captures the expected behavior
   - Include edge cases identified in planning

2. **Run test to confirm it fails:**
   ```bash
   go test ./... -run TestNamePattern -v
   ```

3. **Verify failure is for the right reason:**
   - Test should fail because functionality doesn't exist yet
   - NOT because of syntax errors or wrong test setup

#### 4.2 GREEN: Implement Minimum Code to Pass

1. **Write implementation:**
   - Only enough code to make the test pass
   - Follow existing code patterns in the project
   - Refer to CLAUDE.md for project conventions

2. **Run tests:**
   ```bash
   go test ./... -v
   ```

3. **Iterate until all tests pass**

#### 4.3 REFACTOR: Improve Code Quality

1. **Clean up implementation:**
   - Remove duplication
   - Improve naming
   - Simplify logic where possible

2. **Ensure tests still pass:**
   ```bash
   go test ./... -v
   ```

### Phase 5: Code Review

1. **Run go-code-reviewer agent:**
   ```
   Task(
     prompt="Review the code changes I made for GitHub issue #{number}. Focus on:
     - KISS (Keep It Simple, Stupid) violations
     - DRY (Don't Repeat Yourself) violations
     - Go best practices and idioms
     - Error handling
     - Test coverage quality

     The changes are in these files: {list of modified files}

     Provide specific, actionable feedback.",
     subagent_type="go-code-reviewer"
   )
   ```

2. **Address feedback:**
   - For each issue identified:
     - If Critical/Important: Fix immediately
     - If Suggestion: Evaluate and fix if reasonable
   - Run tests after each fix

3. **Re-run reviewer if significant changes made:**
   - Ensure new issues weren't introduced

### Phase 6: QA Validation

1. **Run qa-requirements-validator agent:**
   ```
   Task(
     prompt="Validate my implementation against the requirements from GitHub issue #{number}.

     Requirements from issue:
     {parsed requirements from Phase 2}

     Implementation files:
     {list of modified files}

     Verify each requirement is:
     - Fully implemented
     - Properly tested
     - Handles edge cases

     Provide a detailed validation report.",
     subagent_type="qa-requirements-validator"
   )
   ```

2. **Address gaps:**
   - For any requirement NOT FULFILLED or PARTIALLY FULFILLED:
     - Go back to Phase 4 (TDD cycle) for that requirement
     - Write test for missing case
     - Implement fix
     - Re-run QA validation

3. **Continue until all requirements are FULFILLED**

### Phase 7: Commit & Create PR

1. **Final test run:**
   ```bash
   go test ./... -v
   ```

2. **Stage changes:**
   ```bash
   git add {specific files}
   ```

3. **Create commit:**
   ```bash
   git commit -m "$(cat <<'EOF'
   fix: {short description} (#{issue_number})

   {Longer description of what was done}

   - {Change 1}
   - {Change 2}

   Closes #{issue_number}

   Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
   EOF
   )"
   ```

4. **Push branch:**
   ```bash
   git push -u origin {branch-name}
   ```

5. **Create pull request:**
   ```bash
   gh pr create --title "{title}" --body "$(cat <<'EOF'
   ## Summary

   Fixes #{issue_number}

   {Brief description of changes}

   ## Changes Made

   - {Change 1}
   - {Change 2}

   ## Test Plan

   - [ ] All existing tests pass
   - [ ] New tests added for {feature}
   - [ ] Manually verified {scenario}

   ## Checklist

   - [x] Code follows project style guidelines
   - [x] Tests written and passing
   - [x] Code reviewed by go-code-reviewer
   - [x] Requirements validated by qa-requirements-validator

   ---
   Generated with Claude Code
   EOF
   )"
   ```

6. **Report PR URL to user**

## Error Handling

### Git Conflicts
If merge conflicts occur:
1. Report to user with affected files
2. Ask for guidance on resolution
3. Do NOT auto-resolve conflicts

### Test Failures
If tests fail unexpectedly:
1. Analyze failure reason
2. If test bug: Fix test
3. If implementation bug: Fix implementation
4. If unclear: Ask user for guidance

### API/CLI Errors
If `gh` commands fail:
1. Check if user is authenticated: `gh auth status`
2. Report specific error to user
3. Provide remediation steps

## Quality Gates

Before proceeding to each phase, verify:

- [ ] **Phase 1 → 2**: Branch created, issue details fetched
- [ ] **Phase 2 → 3**: Requirements understood, codebase explored
- [ ] **Phase 3 → 4**: User approved the plan
- [ ] **Phase 4 → 5**: All tests pass, implementation complete
- [ ] **Phase 5 → 6**: Code review feedback addressed
- [ ] **Phase 6 → 7**: All requirements validated as FULFILLED
- [ ] **Phase 7 complete**: PR created and URL provided

## Output

After completion, provide summary:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 GITHUB ISSUE COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Issue: #{number} - {title}
Branch: {branch-name}
PR: {pr-url}

Changes:
- {file1}: {description}
- {file2}: {description}

Tests Added: {count}
Code Review: Passed
QA Validation: All requirements fulfilled

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

Related Skills

gh-issues

16
from diegosouzapw/awesome-omni-skill

Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]

agentic-issue-assistant

16
from diegosouzapw/awesome-omni-skill

Install common docs/backlog skeleton plus an AGENTS template, and wrap issue/finalization operations for an agentic workflow.

accessibility-issues

16
from diegosouzapw/awesome-omni-skill

Use when animation excludes users with vestibular disorders, cognitive disabilities, or assistive technology needs

work-issue

16
from diegosouzapw/awesome-omni-skill

issues/ディレクトリのタスクを1つ実装し、ブランチ作成・コミット・PR作成を行なうワークフロー

sentry-alerts-issues

16
from diegosouzapw/awesome-omni-skill

Use when configuring Sentry alerts, managing issues, or setting up notifications. Covers alert rules, issue triage, and integrations.

python-github-actions

16
from diegosouzapw/awesome-omni-skill

Complete Python GitHub Actions system. PROACTIVELY activate for: (1) uv-based CI workflows (10-100x faster), (2) Matrix testing across Python versions, (3) Dependency caching with setup-uv, (4) Parallel test execution, (5) Reusable workflows, (6) Publishing to PyPI with trusted publishing, (7) Code coverage with codecov, (8) Security scanning. Provides: Workflow templates, caching config, matrix strategies, composite actions. Ensures fast, reliable CI/CD pipelines.

phoenix-github

16
from diegosouzapw/awesome-omni-skill

Manage GitHub issues, labels, and project boards for the Arize-ai/phoenix repository. Use when filing roadmap issues, triaging bugs, applying labels, managing the Phoenix roadmap project board, or querying issue/project state via the GitHub CLI.

issue-driven-delivery

16
from diegosouzapw/awesome-omni-skill

Use when work is tied to a ticketing system work item and requires comment approval, sub-task tracking, or CLI-based delivery workflows.

github

16
from diegosouzapw/awesome-omni-skill

Access GitHub repositories via the GitHub REST API. Use this skill when the user wants to interact with GitHub including reading files, creating/updating files, listing repos, managing branches, viewing commits, working with issues, or managing pull requests. All scripts use PEP 723 inline metadata for dependencies and run via `uv run`. Requires GITHUB_TOKEN environment variable (a Personal Access Token with appropriate scopes).

github-workflow-automation

16
from diegosouzapw/awesome-omni-skill

Advanced GitHub Actions workflow automation with AI swarm coordination, intelligent CI/CD pipelines, and comprehensive repository management

github-search

16
from diegosouzapw/awesome-omni-skill

Search GitHub for repos, code, and usage examples using gh CLI. Capabilities: repo discovery, code search, finding library usage patterns, issue/PR search. Actions: search, find, discover repos/code/examples. Keywords: gh, github, search repos, search code, find examples, how to use library, stars, language filter. Use when: finding repositories, searching code patterns, discovering how libraries are used, exploring open source.

github-release-management

16
from diegosouzapw/awesome-omni-skill

Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management