This skill should be used when executing the epic-dev workflow, creating epic branches, managing sprint phases, working with git worktrees for phased feature development, or when the user mentions "epic workflow", "sprint phases", "phased development", or "git worktree workflow".
From projectnpx claudepluginhub neuromechanist/research-skills --plugin projectThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Procedural reference for multi-phase feature development using git worktrees, GitHub issues with sub-issues, and phased PR delivery.
Determine the integration branch and branching model:
Integration branch detection:
develop branch exists (local or remote): integration branch = developmain or master)Epic branch:
feature/issue-{N}-epic-{short-name}Phase branches:
feature/issue-{N}-phase{X}-{short-name}Single-phase shortcut:
Persistent state stored in .claude/epic.local.md (gitignored via .claude/*.local.md):
---
epic_issue: 132
epic_title: "Feature: Community Dashboard"
integration_branch: develop
epic_branch: feature/issue-132-epic-dashboard
worktree_base: "../epic-dashboard"
phases:
- number: 1
title: "Backend metrics collection"
issue: 133
branch: "feature/issue-133-phase1-metrics"
status: complete # pending | in_progress | complete
pr: 135
- number: 2
title: "Dashboard frontend"
issue: 134
branch: "feature/issue-134-phase2-frontend"
status: pending
pr: null
current_phase: 2
created_at: "2026-02-02T12:00:00Z"
---
## Notes
Running notes about the epic, decisions made, blockers encountered.
Status transitions: pending -> in_progress -> complete
All worktree paths use absolute paths (Bash calls do not persist cd).
Create epic worktree:
REPO_ROOT=$(git rev-parse --show-toplevel)
PARENT=$(dirname "$REPO_ROOT")
git worktree add "$PARENT/epic-{short-name}" -b feature/issue-{N}-epic-{short-name} {integration_branch}
Create phase worktree from epic branch:
git worktree add "$PARENT/{short-name}-phase{X}" -b feature/issue-{N}-phase{X}-{short-name} feature/issue-{EPIC}-epic-{epic-name}
Clean up worktree after merge:
git worktree remove "$PARENT/{worktree-name}"
git branch -d feature/issue-{N}-phase{X}-{short-name}
Handle existing worktree: Before creating, check:
git worktree list | grep -q "{branch-name}" && echo "EXISTS" || echo "NEW"
Create epic issue:
gh issue create --title "Epic: {description}" --label "feature" --body "{body with phase breakdown}"
Create phase sub-issue and link:
PHASE_ISSUE=$(gh issue create --title "Phase {X}: {title}" --label "feature" --body "Part of #{epic_issue}" | grep -o '[0-9]*$')
gh sub-issue add {epic_issue} --sub-issue-number $PHASE_ISSUE
Create PR to epic branch:
gh pr create --base {epic_branch} --title "Phase {X}: {title}" --body "Closes #{phase_issue}\n\nPart of epic #{epic_issue}"
Squash merge:
gh pr merge --squash --delete-branch
Create final PR (epic to integration):
gh pr create --base {integration_branch} --title "{epic_title}" --body "Closes #{epic_issue}\n\n## Phases completed\n{list}"
Confirm (pause and ask):
/plan mode produces the plan, wait for approval/review-pr finds critical issues, present themAuto-proceed (no confirmation):
Auto-detected. Use main (or master) as integration branch. All other workflow steps are identical.
When the user describes only one phase or says "just one phase":
feature/issue-{N}-{short-name}When invoked with --resume:
.claude/epic.local.mdcompleteWhen invoked with --next-phase:
pending phasein_progress, create worktree, begin executionWhen invoked with --finalize:
/plan or EnterPlanMode: Invoke at the start of each phase for implementation planning/review-pr or /pr-review-toolkit:review-pr: Invoke before merging each phase PR and the final epic PR/feature-dev: Optionally invoke within a phase for complex implementation (user decides)Keep names short and lowercase with hyphens:
epic-{2-3 word slug} (e.g., epic-dashboard-metrics)phase{N}-{2-3 word slug} (e.g., phase1-backend-metrics)feature/issue-N- prefix