implement-plan
Execute a plan file step-by-step with progress tracking and phase checkpoints
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Execute a plan file step-by-step with progress tracking and phase checkpoints
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Run dead-code and duplicate-code detection across the npm/TypeScript surface, get categorized cleanup recommendations
Create a git commit with an impact-focused conventional commit message
Initialize a spec-spine project session by executing the cross-agent New Sessions protocol declared in AGENTS.md.
Deep research with parallel sub-agents, query classification, and filesystem artifact passing
One-time contributor setup: run `make setup` (npm install + compile + index), verify `npx --no-install spec-spine --version` works, verify governed reads (`npx spec-spine registry status-report`).
Run the project's local CI loop (`make ci`) and automatically fix discovered issues using concurrent agents
Based on SOC occupation classification
| name | implement-plan |
| description | Execute a plan file step-by-step with progress tracking and phase checkpoints |
| allowed-tools | Bash, Read, Edit, Write, Glob, Grep, Agent |
| argument-hint | <path-to-plan-file> |
Execute a plan document while maintaining progress tracking and checkpoint discipline.
Plan file path: $ARGUMENTS
If no path is provided, search for plan files:
*.plan.md or files in a plans/ directoryRead the plan file at the given path
Extract structure:
Validate plan readiness:
completed, confirm with user before re-implementingblocked, ask what needs unblockingExtract discrete tasks from:
If the plan does not already have an "Implementation Progress" section, insert one after the first # heading:
## Implementation Progress
- [ ] Task from acceptance criteria 1
- [ ] Task from acceptance criteria 2
- [ ] Implementation step A
- [ ] Implementation step B
Update the plan's YAML frontmatter:
status to in-development (from draft, ready-for-development, or similar)startDate to today's date if not already setupdated to current ISO timestampprogress to 0Show:
Do not begin implementation until the user confirms.
Work through each task systematically:
- [x] Task descriptionprogress in frontmatter: (completed / total) * 100, rounded to nearest integerupdated timestamptsc --noEmit, npm run typecheck) to catch compile errors early.At the halfway point (50% progress), pause and report:
Wait for user confirmation before continuing.
When all tasks are checked off:
Update frontmatter:
status to in-reviewprogress to 100updated timestampRun final verification:
Deliver summary:
## Implementation Complete
**Plan**: [plan title]
**Tasks completed**: X / X
**Status**: in-review
**Duration**: [start to now]
### What was done
- [Bullet summary of major changes]
### Files modified
- [List of key files created or changed]
### Verification results
- Tests: [pass/fail count]
- Type checks: [pass/fail]
- Build: [pass/fail]
### Known issues or follow-ups
- [Any items that need attention]
Valid status transitions:
draft --> in-development --> in-review --> completed
^ |
| v
blocked <------+
draft or ready-for-development: Initial states, transition to in-development when work beginsin-development: Active implementation in progressblocked: Encountered a blocker; document the issue in the plan and notify the userin-review: All tasks complete, awaiting reviewcompleted: Review passed (set by user, not by this command)| Situation | Action |
|---|---|
| Plan file not found | Search for candidates, ask user for correct path |
| No frontmatter | Warn that this may not be a structured plan; offer to add frontmatter |
| Already completed | Confirm with user before re-implementing |
| Blocked status | Ask user to resolve blocker before proceeding |
| Test/build failure during task | Fix the issue, do not skip. If unfixable, mark task as blocked and continue with others |
| Ambiguous task | Ask user for clarification before implementing |
progress = round((checked / total) * 100)