gh-issue-resolver
Resolve a GitHub issue end-to-end using the gh CLI. Checks for blocking sub-issues/dependencies, self-assigns, investigates the codebase, makes changes, reviews code, and commits. Use when asked to resolve, fix, or work on a GitHub issue.
What this skill does
# GitHub Issue Resolver Resolve a GitHub issue by investigating the codebase, making changes, and committing the fix. ## Prerequisites - The `gh` CLI must be installed and authenticated (`gh auth status`). - You must be in a Git repository with a GitHub remote. ## Instructions ### Step 1 — Read the GitHub issue Fetch the issue details: ```bash gh issue view $ARGUMENTS --json number,title,body,state,labels,assignees ``` Read the title, body, and labels carefully. Understand what is being asked. If the issue is already closed, inform the user and stop. ### Step 2 — Check for blocking dependencies Parse the issue body for task list items referencing other issues. Look for patterns like: - `- [ ] #123` (unchecked sub-issue or dependency) - `- [ ] https://github.com/OWNER/REPO/issues/123` (full URL reference) For each **unchecked** issue reference found, check whether it is still open: ```bash gh issue view <referenced-number> --json state --jq '.state' ``` If any referenced issue is **open**, it is a blocker. List all blocking issues and reject the request: > Issue #N is blocked by the following open issues: #X, #Y. Please resolve > those first. Checked items (`- [x] #123`) and closed referenced issues are not blockers. If no task list items or sub-issue references are found in the body, proceed (there are no blocking dependencies). ### Step 3 — Mark the issue as in progress Assign the issue to yourself and add an "in progress" label: ```bash gh issue edit $ARGUMENTS --add-assignee @me gh issue edit $ARGUMENTS --add-label "in progress" ``` If the "in progress" label does not exist, attempt to create it: ```bash gh label create "in progress" --description "Work is actively underway" --color 1D76DB ``` If label creation fails (e.g., insufficient permissions), skip labeling and proceed — assignment alone is sufficient to signal progress. ### Step 4 — Investigate and resolve the issue Search the codebase for references to the issue number: ```bash rg '#<issue-number>\b' . rg 'issues/<issue-number>\b' . ``` Replace `<issue-number>` with the actual number from `$ARGUMENTS`. - **TODO/FIXME comments** referencing the issue are strong pointers — read the surrounding code and follow the guidance they provide. Delete or update these comments as part of the fix. - **Other references** (documentation, changelogs, test comments) provide context about the issue. If no references are found, rely on the issue description to understand what needs to change. Investigate relevant files, trace the code path, and implement the fix as described. ### Step 5 — Review the code changes Before committing, review all changes you made: 1. Ensure changes are correct and complete relative to the issue description. 2. Remove unnecessary comments that merely restate what the code does. 3. Verify no debug code, temporary logging, or unrelated changes are included. ### Step 6 — Commit the changes If you made code changes, create a git commit with a descriptive message that references the issue: ```bash git add <specific-files> git commit -m "fix: description of the fix Resolves #<issue-number>" ``` Follow the repository's commit message conventions. Include `Resolves #<issue-number>` or `Fixes #<issue-number>` in the commit body so GitHub automatically links the commit to the issue. ### Step 7 — Clean up the "in progress" label After committing, remove the "in progress" label so it does not remain on the issue after it is auto-closed: ```bash gh issue edit $ARGUMENTS --remove-label "in progress" ``` If the label was never added (e.g., it could not be created in Step 3), skip this step. ### Step 8 — Leave the issue open Do **not** close the issue. The issue will be closed automatically when the commit is merged (via the `Resolves #N` reference), or the user can close it manually after review.
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.