feat(feature-runner): implement /implement-feature skill end-to-end#25
Merged
Conversation
Issues in pr-review-rereview, pr-review-doc-context-enrichment, pr-review-doc-context-spawn-reliability, and inbox-collision-check were completed through docs/plans/ specs but never advanced past resolved in the issue tracker. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Parallel terms to Spec / Spec Runner, grounded during the feature-runner grilling session. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Three ADRs capturing decisions reached during the Feature Runner PRD grilling session: - 0027: context bundle injected into every /tdd sub-agent invocation, with domain-scoped ADR and CONTEXT.md selection - 0028: ## Blocked by as canonical sequencing signal; topological order over numerical filename order; halt on conflict - 0029: AFK invocation via Agent tool; acceptance criteria replace /tdd's interactive planning phase; LOOP_COMPLETE as stop signal Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Merges five decisions from the /grill-with-docs session into the Feature Runner PRD: - Context bundle: /tdd sub-agents receive issue + PRD + siblings + CONTEXT.md + scoped ADRs + recent commits, not just the issue file - ADR scoping: plugin ADRs for plugin features, root ADRs for tooling; inferred from PRD path references - AFK invocation: Agent tool is non-interactive; acceptance criteria replace /tdd's planning phase - Sequencing: ## Blocked by is the canonical dependency signal; topological order over numerical filename order; halt on conflict - Parallelism: serialisation is an explicit decision, not an omission; LOOP_COMPLETE named as the stop signal for /loop composability Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Split Phase 7 in development-workflow.md into Spec Runner and Feature Runner paths — the two runners are not interchangeable and the previous single-command entry was misleading. Adds /implement-feature, /loop composability, and LOOP_COMPLETE to the quick reference table. Adds ai-development.md: a narrative deep guide covering the mental model behind the workflow — two-runner architecture, pipeline quality gates, the correct-but-wrong failure mode, context bundle design, AFK trust chain, ## Blocked by sequencing, overnight draining, and CONTEXT.md/ADR maintenance. Complements the quick-reference workflow doc with the reasoning behind the decisions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Breaks the Feature Runner PRD into 8 vertical slices, all triaged to ready-for-agent: 01 — skill scaffold and minimal execution loop (tracer bullet) 02 — failure handling (blocks on 01) 03 — PR creation and worktree cleanup (blocks on 02) 04 — progress reporting (blocks on 01) 05 — full context bundle (blocks on 01) 06 — dependency graph and topological ordering (blocks on 01) 07 — auto-selection and LOOP_COMPLETE (blocks on 01) 08 — docs/agents/feature-runner.md (blocks on 03–07) ## Blocked by is the canonical dependency signal per ADR-0028. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Creates .claude/skills/implement-feature/SKILL.md — the tracer-bullet happy path for the Feature Runner: worktree creation, issue filtering by status, sequential /tdd sub-agent invocation, and resolved marking. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… (issue 02) On /tdd sub-agent failure: appends a failure note under ## Comments, leaves the issue at ready-for-agent, stops the runner, and surfaces a clear message to the user. The worktree is left in place for inspection. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
After all issues resolve, the skill pushes the branch, opens a PR targeting develop via gh CLI (title from PRD frontmatter, body listing resolved issues), then removes the worktree. Failure path from 02 prevents this step from running on a broken feature. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ll (issue 04) Before each /tdd invocation the runner outputs "Implementing issue N of M: <title>". M is frozen at run start from the ready-for-agent queue count, so the progress line is accurate regardless of failures or mid-run state. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…c (issue 05) Step 1 now detects plugin vs. repo scope from PRD path references and gathers CONTEXT.md, scoped ADRs, and last-5 commits once before the loop. Step 4 reads sibling issues at invocation time and assembles the full six-part context bundle for each /tdd sub-agent call. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…dering (issue 06) Step 3 now reads all NN-*.md files (including resolved/closed), parses ## Blocked by edges, checks for conflicts where a blocker has a higher NN than the issue it blocks, and derives a topological execution order. Resolved/closed issues satisfy dependencies but are not re-executed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nal (issue 07) Step 0 handles the no-argument path: scans docs/issues/ for features where every NN-*.md is ready-for-agent, selects the first alphabetically, and runs it. Emits LOOP_COMPLETE on an empty queue so /loop terminates cleanly. Partial features (mixed statuses) are skipped. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ument (issue 08) Covers the full lifecycle (selection → worktree → tdd loop → PR → closed), the six-part context bundle with ADR scoping rationale, ## Blocked by ordering and conflict behaviour, failure handling, and the historical cleanup convention for Spec Runner overlap. No duplication of issue-tracker.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Grilled and rejected. Both failure modes that could trigger a retry are not worth automating: Agent tool errors have unpredictable resolution windows, and sub-agent failures mean /tdd already exhausted its own loop — both call for human review, not an automated retry. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds two ready-for-agent issues identified during a post-implementation skill review and grilling session: extract verbatim output strings to a references file (10), and add a Quick start section to SKILL.md (11). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…es file (issue 10) Creates references/runner-output-formats.md with all five canonical strings (progress line, conflict error, failure note, PR body, LOOP_COMPLETE). SKILL.md references the file by name, dropping from 213 to 171 lines. Procedural logic is unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds three annotated invocation patterns (named run, auto-select, overnight loop) between the opening paragraph and ## Steps, so users can orient themselves before reading the full procedure. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Two ready-for-agent issues identified after issues 10–11 were resolved: add heredoc wrapping note to the PR body template in references (12), and extract the /tdd prompt template to its own references file (13). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…issue 12) The PR body template section in runner-output-formats.md now shows the complete gh pr create command with heredoc wrapper so agents know how to pass the multiline body. No changes to SKILL.md or other sections. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…file (issue 13) Creates references/tdd-prompt-template.md with the full AFK prompt. Step 4 of SKILL.md replaces the 23-line inline block with a one-sentence reference. SKILL.md drops from 177 to 151 lines. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All 14 child issues spawned; 12 resolved, 1 rejected, 1 ready-for-agent. PRD has fulfilled its spec purpose and will close when issue 14 merges. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…features Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-person format Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Auto-select now picks up partially-completed features (resolved + ready- for-agent mix) and skips only features with unprepped issues (needs-triage, needs-info, needs-specs) or no ready-for-agent work left. Step 2 checks for an existing worktree and reuses it instead of re-running git worktree add. Updates SKILL.md and docs/agents/feature-runner.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… and feature-runner docs resolved/closed/rejected satisfy dependents; ready-for-human does not — halt if a ready-for-agent issue depends on one. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ied dependency Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…(issue 15) Adds an explicit unsatisfied dependency check to step 3: if any ready- for-agent issue's blocker is ready-for-human, the runner halts before executing anything. Adds the error format to runner-output-formats.md. rejected blockers remain satisfied and do not trigger a halt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…l review) Add interrupt-safety bullet to Quick Start and a Supporting Documentation section listing the two references/ files. Correct the PRD triage comment to reflect 15 issues (not 14) and remove the stale PR-merge condition. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced May 22, 2026
Closed
Closed
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the Feature Runner (
/implement-feature) end-to-end — the final step that closes the AI-development cycle:Work spans 20 issues (19 resolved, 1 rejected). Issues 01–09 built the skill; issues 10–20 refined it through two write-a-skill reviews and a skill-development review.
What the skill does
/implement-feature <slug>(or no-arg for auto-selection):title:frontmatter for the PR titlefeature/afk/<slug>worktree fromdevelopNN-*.mdfiles, builds a topological execution order from## Blocked by, halts on ordering conflicts or unsatisfiedready-for-humandependenciesready-for-agentissue: emits a progress line, invokes/tddas ageneral-purposesub-agent (explicit Skill-tool load) with the full six-part context bundle (issue, PRD, siblings, scoped CONTEXT.md, scoped ADRs, last 5 commits), marks itresolvedon success/tddfailure: flips the issue toneeds-info(preventing loop re-pickup), appends a failure note, stops the runner, leaves the worktree for inspectiondevelopviagh, removes the worktreeready-for-agent, no unprepped issues); emitsLOOP_COMPLETEwhen the queue is empty (composable with/loopfor overnight draining)ready-for-agent; only a/tddfailure flips it toneeds-infoIssues resolved
docs/issues/feature-runner/01-skill-scaffold.mddocs/issues/feature-runner/02-failure-handling.mddocs/issues/feature-runner/03-pr-creation.mddocs/issues/feature-runner/04-progress-reporting.mddocs/issues/feature-runner/05-full-context-bundle.mddocs/issues/feature-runner/06-dependency-graph.mddocs/issues/feature-runner/07-auto-selection.mddocs/issues/feature-runner/08-feature-runner-docs.mddocs/issues/feature-runner/09-retry-on-tdd-failure.md(rejected)docs/issues/feature-runner/10-references-split.mddocs/issues/feature-runner/11-quick-start.mddocs/issues/feature-runner/12-heredoc-note-in-references.mddocs/issues/feature-runner/13-tdd-prompt-template-in-references.mddocs/issues/feature-runner/14-smarter-auto-select.mddocs/issues/feature-runner/15-ready-for-human-unsatisfied-dependency.mddocs/issues/feature-runner/16-explicit-tdd-skill-invocation.mddocs/issues/feature-runner/17-prd-title-extraction-step-1.mddocs/issues/feature-runner/18-failure-loop-protection.mddocs/issues/feature-runner/19-skill-agents-doc-crosslink.mddocs/issues/feature-runner/20-prompt-template-and-step-cleanup.mdTest plan
/implement-featurewith no arg on an empty queue and verifyLOOP_COMPLETEoutput/implement-featurewith no arg on a queue with one ready feature and verify auto-selection/implement-feature <slug>on a feature withready-for-agentissues and verify the full lifecycle (worktree, branch, issues resolved, PR opened)/tddfailure mid-feature and verify the issue flips toneeds-info, the runner stops, subsequent issues are untouched, and a re-run after manual fix resumes correctly/loop /implement-featureon a two-feature queue and verify both are processed sequentially thenLOOP_COMPLETEfires🤖 Generated with Claude Code