issue-flow
Skill339 starsChanged 8 months agoMITView on GitHub
AI-Native Issue-Driven development workflow. From GitHub Issue to merged PR: parse issue, explore codebase, design technical plan, execute with agent team, create PR, and cleanup. Use when a user wants to implement a GitHub Issue end-to-end: `/issue-flow #123` or `/issue-flow` to pick from open issues.
- Commits and pushes
4 other projects use a version of this.
Adopted by
Most recently taken up by
- edloidas/skillstheir own version, first seen Nov 1, 2026
- YOSSII812001/claude-code-jarvistheir own version, first seen Oct 9, 2026
- asanabrial/issue-flowtheir own version, first seen Jul 30, 2026
- notedit/happy-skillsword for word, first seen Mar 3, 2026
Other versions4 projects use a version of this.
Word for word · 1
- notedit/happy-skills★ 340100% same
Edited · 0
None found.
Wrote their own version · 3
- edloidas/skills★ 2same name
- asanabrial/issue-flow★ 1same name
- YOSSII812001/claude-code-jarvis★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- feature-analyzerSkill
- feature-devSkill
- feature-pipelineSkill
- screenshot-analyzerSkill
- cover-imageSkill
- skill-creation-guideSkill
- tts-skillSkill
- gsap-animationSkill
- react-animationSkill
- spring-animationSkill
- video-producerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
29 rules. About 0 are common, 16 are distinctive, and 13 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈16
Distinctive · estimate
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 33
Environment check: Run gh auth status to verify GitHub CLI is authenticated.
- Very specific: line 47
Search for branch issue/<N>-* via git branch -a --list '*issue/<N>*'
- Distinctive: line 48
If found, AskUserQuestion: resume existing branch / start fresh / cancel
- Distinctive: line 60
Goal: Create an isolated workspace.
- Very specific: line 64
Use the EnterWorktree tool with name issue-<N> to create an isolated worktree.
- Very specific: line 65
Create and switch to branch issue/<N>-<slugified-title>:
- Distinctive: line 84
After agents return, read all key files they identified to build deep understanding.
- Very specific: line 109
Use the HTML comment marker <!-- issue-flow-plan --> at the top so the plan can be identified and updated idempotently.
- Distinctive: line 113
Use AskUserQuestion with options:
- Distinctive: line 118
Do NOT proceed without explicit approval.
- Distinctive: line 130
No complex cross-module changes
- Very specific: line 131
No separate test/review/docs work needed
- Distinctive: line 133
Team execution: when ANY of these are true:
- Distinctive: line 143
Run existing tests if available
- Very specific: line 148
Create team: Use TeamCreate with name issue-<N>.
- Very specific: line 156
Spawn teammates: Use the Task tool with team_name parameter for each role.
- Very specific: line 161
Create tasks: Use TaskCreate for each implementation step from the plan.
- Very specific: line 169
Shutdown team: After all tasks complete, send shutdown_request to each teammate, then TeamDelete.
- Distinctive: line 175
Goal: Commit, push, create PR, handle CI.
- Distinctive: line 180
Commit with a descriptive message referencing the Issue:
- Very specific: line 191
Create PR using gh pr create with the template from rules/pr-template.md:
- Distinctive: line 202
Add a comment to the Issue summarizing what was implemented:
- Distinctive: line 217
Wait briefly, then check CI status:
- Distinctive: line 222
If CI fails: AskUserQuestion with options:
- Distinctive: line 227
If CI passes (or no CI configured): AskUserQuestion with options:
- Very specific: line 240
Check Issue status: Verify if Closes #N auto-closed the Issue.
- Very specific: line 260
If the workflow is interrupted at any point, the user can re-run /issue-flow #<N> to resume.
- Distinctive: line 264
Human-in-the-loop: Every major decision (plan approval, merge, CI failure handling) requires explicit user confirmation
- Distinctive: line 266
Isolation: All work happens in a worktree — the main branch is never touched until merge
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Issue Flow — AI-Native Issue-Driven Development
You are orchestrating a complete development cycle from a GitHub Issue to a merged PR. Follow the phases below strictly. Every major decision requires human confirmation.
Announce at start: "I'm using the issue-flow skill to implement this GitHub Issue."
Initial request: $ARGUMENTS
Phase 0: Preflight
Goal: Validate environment and resolve the target Issue.
Actions:
- Environment check: Run
gh auth statusto verify GitHub CLI is authenticated. If it fails, tell the user to rungh auth loginand stop. - Parse arguments:
#123or just123→ extract issue number, detect repo fromgh repo view --json nameWithOwnerhttps://github.com/org/repo/issues/123→ extract owner, repo, and number- Empty → run
gh issue list --state open --limit 20and use AskUserQuestion to let the user pick an issue
- Fetch Issue details:
Store:gh issue view <N> --json number,title,body,labels,comments,assignees,stateISSUE_NUMBER,ISSUE_TITLE,ISSUE_BODY,ISSUE_LABELS. - Check for existing work:
- Search for branch
issue/<N>-*viagit branch -a --list '*issue/<N>*' - If found, AskUserQuestion: resume existing branch / start fresh / cancel
- Search for branch
- Detect project features (used later for team composition):
- Has test framework? (check for
jest.config*,vitest.config*,pytest.ini,*test*dirs) - Has CI? (check
.github/workflows/,.gitlab-ci.yml, etc.) - Has linter? (check
.eslintrc*,biome.json,.prettierrc*) - Primary language(s) from file extensions
- Has test framework? (check for
Phase 1: Worktree Setup
Goal: Create an isolated workspace.
Actions:
- Use the
EnterWorktreetool with nameissue-<N>to create an isolated worktree. - Create and switch to branch
issue/<N>-<slugified-title>:- Slugify: lowercase, replace spaces/special chars with
-, truncate to 50 chars - Example: Issue #42 "Add OAuth2 Login Support" →
issue/42-add-oauth2-login-support - Run:
git checkout -b issue/<N>-<slug>
- Slugify: lowercase, replace spaces/special chars with
Phase 2: Technical Planning
Goal: Deep codebase exploration → technical plan → user approval.
Step 2a: Codebase Exploration
Launch 2-3 code-explorer agents in parallel using the Task tool (subagent_type: code-explorer). Tailor each agent's focus to the Issue:
- Agent 1: Explore existing implementations and patterns directly related to the Issue's requirements. Return a list of 5-10 key files.
- Agent 2: Analyze architecture, dependencies, and extension points of affected modules. Return a list of 5-10 key files.
- Agent 3 (optional, for complex issues): Investigate test patterns, CI configuration, and related toolchain. Return a list of 5-10 key files.
After agents return, read all key files they identified to build deep understanding.
Step 2b: Design Technical Plan
Based on the exploration, design a technical plan with:
- Summary: 2-3 sentence overview of the approach
- Files to modify/create: List with brief description of changes
- Implementation steps: Ordered, concrete steps (each step = one logical unit of work)
- Test strategy: What to test, how to test
- Risk assessment: Potential issues and mitigations
Format the plan according to rules/plan-format.md.
Step 2c: Publish Plan to Issue
Post the plan as a comment on the Issue using gh issue comment:
gh issue comment <N> --body "$(cat <<'EOF'
<plan content formatted per rules/plan-format.md>
EOF
)"Use the HTML comment marker <!-- issue-flow-plan --> at the top so the plan can be identified and updated idempotently.
Step 2d: User Confirmation
Use AskUserQuestion with options:
- Approve — proceed with implementation
- Modify — user provides feedback, return to Step 2b
- Cancel — abort the workflow
Do NOT proceed without explicit approval.
Phase 3: Team Execution
Goal: Implement the plan — either directly or with an agent team.
Decision: Direct vs Team
Direct implementation (no team) when ALL of these are true:
- Plan involves 1-2 files
- No complex cross-module changes
- No separate test/review/docs work needed
Team execution when ANY of these are true:
- Plan involves 3+ files across multiple modules
- Tests need to be written or updated
- Security-sensitive changes
- Documentation updates required
- Frontend + backend changes together
Path A: Direct Implementation
- Implement changes following the plan step by step
- Run existing tests if available
- Skip to Phase 4
Path B: Team Execution
- Create team: Use
TeamCreatewith nameissue-<N>. - Decide team composition: Based on Issue characteristics, select roles from the candidate pool defined in
rules/team-roles.md. Consider:- Issue labels (e.g.,
frontend,security,docs) - File types in the plan (
.tsx→ frontend,.sql→ backend, etc.) - Whether tests exist and need updating
- Risk level of the changes
- Issue labels (e.g.,
- Spawn teammates: Use the Task tool with
team_nameparameter for each role. Give each teammate:- The technical plan
- Their specific tasks
- Context about the codebase patterns discovered in Phase 2
- Create tasks: Use
TaskCreatefor each implementation step from the plan. Set up dependencies withaddBlockedBywhere steps depend on each other. - Assign and coordinate: Assign tasks to teammates via
TaskUpdate. Monitor progress, resolve blockers, and coordinate between teammates. - Iteration limit: Each task gets at most 2 fix iterations. If a task still fails after 2 rounds:
- Log the issue
- AskUserQuestion: fix manually / skip / abort
- Shutdown team: After all tasks complete, send
shutdown_requestto each teammate, thenTeamDelete.
Phase 4: PR & CI
Goal: Commit, push, create PR, handle CI.
Step 4a: Commit & Push
- Stage all changes: review with
git statusandgit diff - Commit with a descriptive message referencing the Issue:
feat: <summary from plan> (#<N>) - Push the branch:
git push -u origin issue/<N>-<slug>
Step 4b: Create PR
Create PR using gh pr create with the template from rules/pr-template.md:
gh pr create --title "<title>" --body "$(cat <<'EOF'
<PR body per rules/pr-template.md, includes Closes #N>
EOF
)"Step 4c: Post Implementation Summary to Issue
Add a comment to the Issue summarizing what was implemented:
gh issue comment <N> --body "$(cat <<'EOF'
<!-- issue-flow-impl -->
## Implementation Complete
- PR: #<PR_NUMBER>
- <brief summary of changes>
EOF
)"Step 4d: CI Check
- Wait briefly, then check CI status:
gh pr checks <PR_NUMBER> --watch --fail-fast - If CI fails: AskUserQuestion with options:
- Auto-fix — attempt to diagnose and fix CI failures (max 2 iterations)
- Manual — user will fix manually
- Abort — close the PR
- If CI passes (or no CI configured): AskUserQuestion with options:
- Merge — merge the PR now
- Keep open — leave PR open for human review
- Request review — assign reviewer via
gh pr edit --add-reviewer
Phase 5: Cleanup
Goal: Clean up resources after merge.
Actions (only if PR was merged):
- Check Issue status: Verify if
Closes #Nauto-closed the Issue. If not:gh issue close <N> --comment "Closed via PR #<PR_NUMBER>" - Report: Output a completion summary:
## Issue Flow Complete - Issue: #<N> <title> - Branch: issue/<N>-<slug> - PR: #<PR_NUMBER> (merged) - Files changed: <count> - Implementation: <1-2 sentence summary>
Error Recovery
If the workflow is interrupted at any point, the user can re-run /issue-flow #<N> to resume. See references/recovery-guide.md for detailed recovery scenarios.
Key Principles
- Human-in-the-loop: Every major decision (plan approval, merge, CI failure handling) requires explicit user confirmation
- Idempotent comments: Issue comments use HTML markers (
<!-- issue-flow-plan -->,<!-- issue-flow-impl -->) so re-runs update rather than duplicate - Isolation: All work happens in a worktree — the main branch is never touched until merge
- Proportional response: Simple changes skip the team overhead; complex changes get full team coordination
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

