{"id":"fd3f7703-9d67-4b08-9059-2baef0e526a4","shortId":"C8RJeZ","kind":"skill","title":"implement-plan","tagline":"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","description":"# Implement Plan\n\nExecute an implementation plan file.\n\n## Task Tracking\n\nAt the start, use `TaskCreate` to create a task for each step:\n\n1. Resolve and read the plan file\n2. Read relevant files and load task-specific skills\n3. Run `/implement` skill\n4. Update plan status\n\n## Step 1: Resolve and Read the Plan File\n\nDetermine which plan file to implement using these rules in order:\n\n1. **Explicit path** — If an absolute or relative path was passed, use it\n2. **Explicit slug** — If a slug was passed (e.g., `add-image-cache`), resolve to `.turbo/plans/<slug>.md` if that file exists; otherwise fall through to rule 5 before erroring\n3. **Single file** — Glob `.turbo/plans/*.md`. If exactly one plan exists, use it\n4. **Most recent** — If multiple plans exist, use the most recently modified\n5. **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-shell` to expand and implement it.\"\n6. **Legacy fallback** — If `.turbo/plans/` does not exist but `.turbo/plan.md` exists, use it\n7. **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\n\nIf 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.\n\nState the resolved plan path before continuing, then read the file.\n\nParse the plan's sections:\n\n- **Context** — the why\n- **Pattern Survey** — existing patterns and utilities to reuse\n- **Implementation Steps** — the ordered work\n- **Verification** — how to confirm the change works after implementation\n- **Context Files** — files to read in full before editing\n\n## Step 2: Read Relevant Files and Load Task-Specific Skills\n\n### Read Relevant Files\n\nRead in full:\n\n- Every file listed in the plan's **Context Files** section\n- Files the user referenced in their original request (if any)\n- Every file path the plan references in the Context, Pattern Survey, and Implementation Steps sections\n- One or two similar files in the project to mirror their style when creating new files or extending existing patterns\n\n### Identify and Load Task-Specific Skills\n\nScan the plan's **Implementation Steps** for work types that match available skills. For each unambiguous match, run the skill via the Skill tool before editing.\n\nTo identify matches:\n\n1. Scan the available skill list\n2. For each skill, compare its trigger description against the plan's Implementation Steps\n3. Load skills whose triggers clearly match the work. 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.\n\nIf unsure, do not load. Do not load `/code-style` here — `/implement` will load it in Step 3.\n\n## Step 3: Run `/implement` Skill\n\nBefore invoking `/implement`, use `TaskCreate` to add one sub-task per plan Implementation Step. Mark each sub-task `in_progress` before starting that step and `completed` after.\n\nIn the turn that invokes `/implement`, write out the Implementation Steps in order and restate the plan's Verification section (the specific commands, smoke checks, or MCP tool invocations it lists). `/implement`'s middle step should work through each Implementation Step using the plan's `file_path:line_number` references and reusing the patterns surveyed in Step 2, then run the Verification section before running `/finalize`. If any Verification check fails, halt and investigate before proceeding to commit. If a step cannot be completed (blocked by a dependency, unclear requirement, or environmental issue), halt and report; do not silently skip steps.\n\nThen run the `/implement` skill. `/implement` loads `/code-style`, executes the Implementation Steps and Verification as written in the context, and runs `/finalize`.\n\n## Step 4: Update Plan Status\n\nAfter `/implement` completes, set the plan's frontmatter `status:` to `done`. This closes the loop for `/pick-next-shell`'s dependency resolution, which treats a `.turbo/plans/<dep-slug>.md` with `status: done` as a satisfied dependency. If the plan is the legacy `.turbo/plan.md` without frontmatter, skip this step — it's not tracked by `/pick-next-shell`.\n\n## Rules\n\n- The plan file is read-only during execution. If revisions are needed, run `/refine-plan` or `/draft-plan` separately.\n- Never skip Step 2. Pre-implementation prep catches style-mirroring gaps and skill loading that the plan content cannot enforce on its own.\n- Never skip Step 3's Verification instruction. Verification gates the commit; committing broken code is worse than halting to investigate.\n- Do not edit the plan as part of execution.","tags":["implement","plan","turbo","tobihagemann","agent-skills","claude-code","claude-skills","developer-tools","skills"],"capabilities":["skill","source-tobihagemann","skill-implement-plan","topic-agent-skills","topic-claude-code","topic-claude-skills","topic-developer-tools","topic-skills"],"categories":["turbo"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tobihagemann/turbo/implement-plan","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add tobihagemann/turbo","source_repo":"https://github.com/tobihagemann/turbo","install_from":"skills.sh"}},"qualityScore":"0.590","qualityRationale":"deterministic score 0.59 from registry signals: · indexed on github topic:agent-skills · 280 github stars · SKILL.md body (5,006 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:54:10.041Z","embedding":null,"createdAt":"2026-04-18T22:03:48.940Z","updatedAt":"2026-04-22T00:54:10.041Z","lastSeenAt":"2026-04-22T00:54:10.041Z","tsv":"'/code-style':534,685 '/draft-plan':11,772 '/expand-shell':14 '/finalize':642,699 '/implement':35,86,536,546,550,582,608,681,683,706 '/pick-next-shell':216,256,721,754 '/refine-plan':770 '/turboplan':12,250 '1':67,93,111,453 '2':74,124,346,459,634,777 '3':84,153,473,542,544,802 '4':88,166,701 '5':150,178 '6':222 '7':235 'absolut':116 'add':134,488,554 'add-image-cach':133 'askuserquest':286 'avail':30,435,456 'basenam':196 'block':661 'broken':811 'cach':136 'candid':294 'cannot':658,794 'catch':782 'chang':332 'check':200,601,646 'choic':271 'clear':478 'close':717 'code':812 'command':599 'commit':654,809,810 'compar':463 'complet':575,660,707 'confirm':330 'content':28,793 'context':311,336,369,390,696 'continu':301 'creat':61,410 'depend':664,723,736 'deriv':193 'descript':466 'determin':100 'done':715,732 'drizzl':490,499 'e.g':132,276 'edit':344,449,821 'enforc':795 'environment':668 'error':152 'everi':362,382 'exact':160 'exampl':483 'execut':4,37,48,686,764,827 'exist':144,163,172,205,229,232,258,265,316,415,495 'expand':218 'expans':213 'explicit':112,125 'extend':414 'fail':647 'fall':146 'fallback':224 'file':8,52,73,77,99,103,143,155,305,337,338,349,358,363,370,372,383,401,412,622,758 'final':41 'first':214 'found':237 'frontmatt':712,745 'full':342,361 'gap':786 'gate':807 'generic':523 'glob':156 'halt':206,648,670,816 'identifi':417,451 'imag':135 'implement':2,6,18,46,50,105,220,322,335,394,428,471,561,586,616,688,780 'implement-plan':1 'includ':487 'instruct':805 'investig':650,818 'invoc':605 'invok':549,581 'issu':669 'legaci':223,742 'let':288 'line':624 'list':364,458,607 'load':20,79,351,419,474,501,521,530,533,538,684,789 'loop':719 'mark':563 'match':26,241,434,440,452,479,518 'mcp':603 'md':140,158,198,202,729 'mention':506 'middl':610 'migrat':491,500 'minut':284 'mirror':406,785 'modifi':177,280 'most-rec':268 'multipl':170,263 'need':212,768 'never':774,799 'new':253,411 'non':274 'non-obvi':273 'noth':236 'number':625 'obvious':275 'one':161,397,555 'order':110,325,589 'origin':378 'otherwis':145 'pars':306 'part':825 'pass':121,131,187 'path':113,119,185,299,384,623 'pattern':314,317,391,416,630 'per':559 'pick':291 'plan':3,7,27,47,51,72,90,98,102,162,171,192,240,264,278,298,308,367,386,426,469,486,505,560,593,620,703,710,739,757,792,823 'pre':17,779 'pre-implement':16,778 'prep':19,781 'proceed':652 'produc':9 'progress':569 'project':404 'read':70,75,96,303,340,347,356,359,761 'read-on':760 'recent':168,176,270 'refer':387,498,626 'referenc':375 'relat':118 'relev':76,348,357 'report':672 'request':379 'requir':666 'resolut':724 'resolv':68,94,137,189,297 'restat':591 'reus':321,628 'revis':766 'rule':108,149,243,755 'run':15,34,85,215,249,441,507,545,636,641,679,698,769 'satisfi':735 'scan':424,454 'section':310,371,396,596,639 'separ':773 'set':708 'sever':277 'shell':180,210,259 'silent':675 'similar':400 'singl':154 'skill':24,31,83,87,355,423,436,443,446,457,462,475,494,516,525,547,682,788 'skill-implement-plan' 'skip':676,746,775,800 'slug':126,129,183 'smoke':600 'source-tobihagemann' 'specif':23,82,354,422,515,598 'start':57,571 'state':295 'status':91,704,713,731 'step':39,66,92,323,345,395,429,472,541,543,562,573,587,611,617,633,657,677,689,700,748,776,801 'stop':261 'strip':197 'style':408,784 'style-mirror':783 'sub':557,566 'sub-task':556,565 'suit':510 'survey':315,392,631 'task':22,53,63,81,254,353,421,558,567 'task-specif':21,80,352,420 'taskcreat':59,552 'tell':245 'test':509,514,524 'testing-specif':513 'tool':447,604 'topic-agent-skills' 'topic-claude-code' 'topic-claude-skills' 'topic-developer-tools' 'topic-skills' 'track':54,752 'treat':726 'trigger':32,465,477,497,517 'turbo/plan.md':231,743 'turbo/plans':139,157,226,728 'turbo/shells':201 'turn':579 'two':399 'type':432 'unambigu':439 'unclear':665 'unexpand':179 'unsur':527 'updat':89,702 'use':42,58,106,122,164,173,233,285,551,618 'user':45,247,290,374 'util':319 'verif':327,595,638,645,691,804,806 'via':444 'whose':476,496 'within':281 'without':744 'work':326,333,431,481,613 'wors':814 'write':583 'written':693","prices":[{"id":"5afc79ad-cf85-428f-a2fa-1b3024bf21fa","listingId":"fd3f7703-9d67-4b08-9059-2baef0e526a4","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"tobihagemann","category":"turbo","install_from":"skills.sh"},"createdAt":"2026-04-18T22:03:48.940Z"}],"sources":[{"listingId":"fd3f7703-9d67-4b08-9059-2baef0e526a4","source":"github","sourceId":"tobihagemann/turbo/implement-plan","sourceUrl":"https://github.com/tobihagemann/turbo/tree/main/skills/implement-plan","isPrimary":false,"firstSeenAt":"2026-04-18T22:03:48.940Z","lastSeenAt":"2026-04-22T00:54:10.041Z"}],"details":{"listingId":"fd3f7703-9d67-4b08-9059-2baef0e526a4","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tobihagemann","slug":"implement-plan","github":{"repo":"tobihagemann/turbo","stars":280,"topics":["agent-skills","claude-code","claude-skills","developer-tools","skills"],"license":"mit","html_url":"https://github.com/tobihagemann/turbo","pushed_at":"2026-04-21T12:22:12Z","description":"A composable dev process for Claude Code, packaged as modular skills.","skill_md_sha":"132730fc700178bf4de6db3131b0e53c8392eabc","skill_md_path":"skills/implement-plan/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tobihagemann/turbo/tree/main/skills/implement-plan"},"layout":"multi","source":"github","category":"turbo","frontmatter":{"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."},"skills_sh_url":"https://skills.sh/tobihagemann/turbo/implement-plan"},"updatedAt":"2026-04-22T00:54:10.041Z"}}