implement-plan
Execute a plan file step-by-step with progress tracking and phase checkpoints
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Execute a plan file step-by-step with progress tracking and phase checkpoints
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Run the project's local CI loop (`make ci`) and automatically fix discovered issues using concurrent agents
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.
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`).
| 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)