configs/claude-code/skills/stacked-issues/SKILL.md
Implement multiple GitHub issues sequentially as stacked branches in separate worktrees, with an implementer sub-agent and an independent reviewer sub-agent per issue. Use when the user gives you two or more dependent issues and asks for them to be implemented in order, or says "stacked branches", "sequential issues", "issue chain", "do these in worktrees", or describes a parent epic with child issues that build on each other. Also reach for this whenever the user wants implementation and verification done by separate agents.
npx skillsauth add poorrican/dotfiles stacked-issuesInstall 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.
Run a chain of dependent GitHub issues end to end. Each issue gets its own git worktree, its branch is stacked on the previous issue's branch, an implementer sub-agent does the work, and a separate reviewer sub-agent verifies acceptance criteria from scratch. The orchestrator (you) plans, dispatches, and sanity-checks but does not write the implementation code itself.
Trigger on requests like:
If only one issue is given, this skill is overkill — just plan and implement directly.
If plan mode is available, use it. Don't dispatch sub-agents until the plan is approved.
Fetch every issue text, including the parent epic if there is one:
gh issue view <N>
Read all of them at once (parallel gh calls). The parent issue is your source of truth for cross-issue constraints (e.g., "package X must not depend on Y").
Explore the codebase before planning. Spawn Explore sub-agents for the areas each issue touches. Map current state: file paths, imports, test fixtures, build config, Dockerfiles, CI. Hand the exploration agents specific questions, not vague briefs — see references/agent-briefs.md.
Identify untanglings. Refactor-style issues often hit hidden coupling (e.g., a class in module A is inherited by module B's table model). Surface every coupling that crosses the move boundary as a decision point. Use AskUserQuestion for each one with: "where should X live?" and 2-3 concrete options with tradeoffs. Don't guess on architecture choices — the user has context you don't.
Write the plan. Per issue: what gets implemented, files to create/move/edit, files NOT to touch (constraints — usually agent-runner-style "must not depend on X" boundaries), and concrete verification commands (tests, lints, types, docker, db migrations). Include a sequencing table:
| Step | Worktree | Branch | Sub-agent role | |------|----------|--------|----------------| | 1 | current | current | Implementer for #N | | 2 | same | same | Reviewer for #N | | 3 | NEW | new branch off step-1 branch | Implementer for #N+1 | | 4 | same | same | Reviewer for #N+1 |
Get the plan approved before executing. In plan mode, this means ExitPlanMode.
Track progress with TodoWrite: one todo per (implement, validate, create-worktree-for-next) step.
For each issue:
main if you're on main:
git worktree add /path/to/.claude/worktrees/<name> -b claude/<name> main
git worktree add /path/to/.claude/worktrees/<next-name> \
-b claude/<next-name> claude/<previous-name>
Verify with git worktree list that the new worktree's HEAD is the previous issue's commit SHA.Use Agent with subagent_type: general-purpose (it needs Bash for tests, lint, git). Brief it as a self-contained colleague who hasn't seen this conversation. The brief must include:
gh issue view)git log for style)--amendSee references/agent-briefs.md for a complete implementer prompt template.
The implementer reports back with: files changed, verification results, commit SHA, deviations.
Use a fresh Agent call — do not continue the implementer agent. Use subagent_type: general-purpose so the reviewer can run pytest/mypy/docker compose build itself. (feature-dev:code-reviewer works for read-only structural checks but cannot run shell commands.)
Critical constraint: the reviewer must not be told what the implementer did. Brief it with only:
git diff <previous-tip>..HEAD)See references/agent-briefs.md for the reviewer prompt template.
Trust but verify. After the reviewer reports, you (the orchestrator) run a quick check:
git -C <worktree> log --oneline <previous-tip>..HEAD
git -C <worktree> show --stat <commit-sha>
git -C <worktree> status
This catches the rare case where both agents agree something passed but reality disagrees (e.g., the implementer's commit didn't include all the expected files, or git status is dirty).
uv run mypy ..., uv run python -c "import ...") before treating it as a real gap.Stop at branches. Do NOT push, do NOT open PRs unless the user explicitly asks. Final summary to the user lists:
The user opens PRs themselves (or invokes the stacked-prs skill).
stacked-prs later. The implementer commits and stops.references/agent-briefs.md — full prompt templates for implementer and reviewer sub-agents, with placeholder slots and worked examples.testing
Use when an agent needs to produce, update, validate, or normalize a standardized research proposal artifact without running an interview. Defines the canonical structure, confidence-tag semantics, decision logic, and completion checks for proposal.md-style research plans.
development
Conducts a structured Socratic interview to produce a comprehensive markdown research proposal that handles cascading uncertainty (fixed end-question, branching experiments). Use this skill whenever the user wants to write a research proposal, research plan, study design, experiment plan, thesis proposal, RFC, or "spec out" a research direction — even if they don't explicitly say "interview me." Trigger when the user says things like "help me plan this research", "I want to design experiments for X", "draft a proposal for...", "think through a research direction", or shares a half-formed research idea and asks for help structuring it. The skill interviews the user, challenges their priors with evidence requests and falsifiers, optionally uses sub-agents to explore prior art, and builds the proposal markdown incrementally so context stays clean and the document is always grounded.
testing
Use when an agent needs to produce, update, validate, or normalize a standardized experiment-log entry without running an interview. Defines the canonical structure, pre-registration rules, evidence/interpretation split, calibration tags, and append-only revision model for durable experiment records.
testing
Conducts a structured Socratic interview to produce or update a single experiment log entry — the durable record of what was run, what it showed, and what it means. Use this skill whenever the user wants to log an experiment, write up results, record a backtest, capture a finding, pre-register a run, document a study, or update an existing entry with new results or a revised interpretation. Trigger on phrases like "log this experiment," "write up the results of...", "I ran X, help me document it," "pre-register this," "update the entry for...", or when the user shares results and asks for help interpreting and recording them. The skill enforces the four-way separation between what happened, what it means, what it implies, and what comes next; challenges the user's interpretations with evidence requests and alternative explanations; and writes incrementally to keep context clean and the entry always grounded.