git-plugin/skills/git-issue/SKILL.md
Process GitHub issues end-to-end with TDD and parallel work. Use when asked to work on an issue, fix issue #N, pick issues to tackle, or batch-process several.
npx skillsauth add laurigates/claude-plugins git-issueInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Use this skill when... | Use X instead when... |
|------------------------|----------------------|
| Implementing a fix for one or more open issues with TDD and PR creation | Performing administrative ops (transfer, pin, lock, bulk edit) on issues (/git:issue-manage) |
| Picking issues from the backlog to work on, optionally in parallel | Periodically grooming open issues and PRs to close stale or completed ones (/git:triage) |
| Going from an issue number to a merged-ready PR end-to-end | Hierarchical sub-issue planning and tracking (/git:issue-hierarchy) |
git remote -vgit branch --show-currentgit status --porcelain=v2Open issues, open PRs, and available labels are fetched during execution (requires a configured git remote).
Parse these parameters from the command:
| Parameter | Description |
|-----------|-------------|
| <issue-numbers...> | One or more issue numbers to process |
| --auto | Claude selects and prioritizes issues |
| --filter <label> | Filter issues by label |
| --limit <n> | Maximum number of issues to process |
| --parallel | Process parallel groups simultaneously using Task agents |
| --labels <label1,label2> | Apply labels to created PRs (defaults to issue's labels) |
Process GitHub issues using a TDD workflow with the main-branch development pattern.
Use AskUserQuestion to prompt:
questions:
- header: "Issues"
question: "How would you like to select issues to work on?"
options:
- label: "Let me choose specific issues"
description: "Show issue list for manual selection"
- label: "Claude decides priority"
description: "Analyze issues and recommend which to tackle"
- label: "Filter by label"
description: "Select issues with a specific label"
For "Let me choose specific issues":
gh issue list --state open --json number,title,labels,assigneesmultiSelect: trueFor "Claude decides priority":
For "Filter by label":
/git:issue 123)Process directly with standard TDD workflow.
/git:issue 123 456 789)/git:issue --auto)Before processing multiple issues, analyze for:
Before sequencing or scoring, ask GitHub which issues are blocked by other open work via the native dependencies API:
gh api repos/$OWNER/$REPO/issues/$N/dependencies/blocked_by \
--jq '.[] | select(.state == "open") | .number'
If the list is non-empty:
#N is blocked by #X, #Y.Also fetch dependencies/blocking to understand downstream impact —
finishing an issue that blocks others may be higher leverage than finishing
an independent issue of the same size.
Identify issues that cannot be worked on simultaneously:
| Conflict Type | Detection Method |
|---------------|------------------|
| File overlap | Issues referencing same files/components |
| Logical conflicts | Opposing requirements (add vs remove) |
| Dependency chains | dependencies/blocked_by returns an open issue |
| Sub-issue ordering | Parent's sub_issues not yet complete |
Score each issue's implementability:
| Factor | Weight | Criteria | |--------|--------|----------| | Clear requirements | 30% | Has acceptance criteria, specific details | | Scope definition | 25% | Bounded scope, identifiable files | | No conflicts | 20% | No overlapping work with other issues | | Test strategy clear | 15% | TDD approach is obvious | | Labels/priority | 10% | Has priority labels, milestone |
Threshold: 70%
If confidence < 70%, prompt user:
questions:
- header: "Low confidence"
question: "Issue #N has unclear requirements. How should I proceed?"
options:
- label: "Attempt anyway"
description: "Make best-effort attempt based on available info"
- label: "Ask for clarification"
description: "Request more details on the issue"
- label: "Skip this issue"
description: "Move to next issue in queue"
Identify issues that can be worked simultaneously:
Parallelizable when:
dependencies/blocked_byOutput format:
Parallel Groups:
Group 1: #123, #125 (both touch auth module - sequential)
Group 2: #124 (standalone - can run in parallel)
Group 3: #126, #127 (both touch UI - sequential)
Recommended: Run Groups 1, 2, 3 in parallel (3 agents)
git switch main && git pullgh issue view $N --json title,body,state,assignees,labelsRED phase: Write failing tests first
GREEN phase: Implement fix
REFACTOR phase: Improve code quality
git add -u and git add <new-files><type>: <description>
<optional body explaining the change>
Fixes #N
git push origin main:fix/issue-$NUse mcp__github__create_pull_request with:
head: fix/issue-$Nbase: maintitle: From issue title with fix: prefixbody: Include Fixes #$N to auto-linkAfter PR creation, apply labels:
gh pr edit <pr-number> --add-label "<labels>"
When --parallel is specified:
Agent tool with subagent_type: "general-purpose", prompt: "Process issue #N with TDD workflow..."
Issue reference at BOTTOM:
<type>: <description>
<optional body explaining the change>
Fixes #123
Multiple issues in single commit:
fix: resolve authentication and session handling
- Add token refresh logic
- Fix session timeout detection
Fixes #123
Fixes #125
# All work stays on main
git switch main && git pull
# ... make changes, commit on main ...
git push origin main:fix/issue-$N # Push to remote feature branch
# Create PR: head=fix/issue-$N, base=main
# Continue on main for next issue
After processing, report:
| Metric | Details | |--------|---------| | Issues processed | List of issue numbers | | PRs created | PR numbers with links | | Conflicts detected | Issues that were sequentialized | | Issues skipped | Low confidence or user choice |
tools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.