name: implement-plan description: "Execute an implementation plan file produced by /draft-plan, /turboplan, or /expand-shell. Runs pre-implementation prep, loads task-specific skills by matching plan content against available skill triggers, then runs /implement to execute the steps and finalize. Use when the user asks to "implement plan", "implement the plan", "execute the plan", "run the plan", "implement plans/<slug>.md", "start implementing the plan", or starts a fresh session to implement a previously drafted plan."
Implement Plan
Execute an implementation plan file.
Task Tracking
At the start, use TaskCreate to create a task for each step:
- Resolve and read the plan file
- Read context files
- Load task-specific skills
- Create sub-tasks for plan Implementation Steps
- Run
/implementskill - Update plan status
Step 1: Resolve and Read the Plan File
Determine which plan file to implement using these rules in order:
- Explicit path — If an absolute or relative path was passed, use it
- Explicit slug — If a slug was passed (e.g.,
add-image-cache), resolve to.turbo/plans/<slug>.mdif that file exists; otherwise fall through to rule 5 before erroring - Single file — Glob
.turbo/plans/*.md. If exactly one plan exists, use it - Most recent — If multiple plans exist, use the most recently modified
- Unexpanded shell — If a slug or path was passed but resolved to no plan, derive
<slug>from the basename (stripping.md) and check.turbo/shells/<slug>.md. If it exists, halt with: "<slug>is a shell that needs expansion first. Run/pick-next-shellto expand and implement it." - Legacy fallback — If
.turbo/plans/does not exist but.turbo/plan.mdexists, use it - Nothing found — If no plan matched any rule above, tell the user to run
/turboplan(for a new task) or/pick-next-shell(for existing shells) and stop
If multiple plans exist and the most-recent choice is non-obvious (e.g., several plans were modified within the same minute), use AskUserQuestion to let the user pick from the candidates.
State the resolved plan path before continuing, then read the file.
Step 2: Read Context Files
Read in full:
- Every file listed in the plan's Context Files section
- Files the user referenced in their original request (if any)
- Every file path the plan references in the Context, Pattern Survey, and Implementation Steps sections
Step 3: Load Task-Specific Skills
Scan the plan's Implementation Steps for work types that match available skills. For each unambiguous match, run the skill via the Skill tool. For example, if the plan includes "add a Drizzle migration" and a skill exists whose triggers reference Drizzle migrations, load it. If the plan mentions "run the test suite" but no testing-specific skill trigger matches, do not load a generic testing skill.
If unsure, do not load. Do not load /code-style here.
Step 4: Create Sub-Tasks for Plan Implementation Steps
Use TaskCreate to add one sub-task per plan Implementation Step. These sub-tasks belong to /implement; do not start or complete them in this skill.
Step 5: Run /implement Skill
Run the /implement skill. The plan file, its file references, and its Verification section are already in conversation context from Step 1.
Step 6: Update Plan Status
After /implement completes, set the plan's frontmatter status: to done. If the plan is the legacy .turbo/plan.md without frontmatter, skip this step.
Rules
- The plan file is read-only during execution. If revisions are needed, run
/refine-planor/draft-planseparately. - Never skip Steps 2 or 3.
- Never enumerate or execute the plan's Implementation Steps inline. The work runs through
/implement. Restating steps as a turn-level narration counts as inline execution and bypasses the delegation. - If the plan's Implementation Steps or Verification include
git commit,git push, or PR creation, halt before Step 5 and ask the user to remove them via/refine-plan.