Source profileQuality 91/100

tobihagemann/turbo/claude/skills/draft-plan/SKILL.md

draft-plan

Produce an implementation plan at .turbo/plans/<slug>.md. Use when the user asks to "draft a plan", "draft the plan", "write an implementation plan", "plan this change", "create an implementation plan", or needs a first-draft plan file before refinement.

Source repository stars
399
Declared platforms
0
Static risk flags
2
Last source update
2026-08-28
Source checked
2026-08-28

Decision brief

What it does: where it fits

Produce an implementation plan at .turbo/plans/.md. Capture the task, survey patterns, escalate decisions, discuss, and draft.

Best for

  • Use when the user asks to "draft a plan", "draft the plan", "write an implementation plan", "plan this change", "create an implementation plan", or needs a first-draft plan file before refinement.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/tobihagemann/turbo --skill "claude/skills/draft-plan"
Safe inspection promptEditorial

Inspect the Agent Skill "draft-plan" from https://github.com/tobihagemann/turbo/blob/6363473a04953a8d329b0f134e2dfdd0acf269c1/claude/skills/draft-plan/SKILL.md at commit 6363473a04953a8d329b0f134e2dfdd0acf269c1. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Step 1: Capture the Task and Pick a Slug

    Absorb the user's request without interrupting. Restate the goal in one or two sentences and confirm.

    LowercaseReplace non-alphanumeric characters with hyphensCollapse consecutive hyphens
  2. 02

    Step 2: Run /survey-patterns Skill

    Run the /survey-patterns skill with the confirmed task description. Keep the returned findings in conversation context for use in Steps 5 and 6.

    Run the /survey-patterns skill with the confirmed task description. Keep the returned findings in conversation context for use in Steps 5 and 6.
  3. 03

    Step 3: Consult Task-Specific Skills and Docs

    Ground library and framework choices in current reality before escalating decisions.

    Scan for matching skills. Compare the task description against available skill trigger descriptions. For each unambiguous match, run the skill via the Skill tool. This loads decision-level guidance (idiomatic patterns,…Look up library docs. For libraries or frameworks the task clearly depends on, query documentation MCP tools (or WebSearch as a fallback) when the decision hinges on current library state such as whether a feature exist…Ground library and framework choices in current reality before escalating decisions.
  4. 04

    Step 4: Escalate Product Decisions

    Identify product or design decisions the user's request did not resolve. Escalate these via AskUserQuestion before drafting steps.

    A plan step requires choosing between user-facing behaviors the request did not specify (opt-in vs opt-out, strict vs lenient, sync vs async)The plan assumes product requirements that were not statedDesign trade-offs affect UX or product direction rather than technical implementation
  5. 05

    Step 5: Deep-Dive Discussion

    Interview the user relentlessly about every aspect of the implementation shape until you reach shared understanding. Use AskUserQuestion, one question at a time. Use the pattern survey findings to frame choices. Cover whichever of these matter for the task. Do not present a rigi…

    If a question can be answered by exploring the codebase, explore the codebase instead.When a question defines a boundary, contract, or data shape, add a Get a second opinion option and hold the concrete options to three so the question stays within the four-option limit. It runs the /consult-codex skill…When a question turns on how a surface looks or how an interaction behaves, and an answer in prose would leave the user guessing, add a Prototype it first option and hold the concrete options to three so the question st…

Permission review

Static risk signals and limitations

Writes files

medium · line 15

The documentation asks the agent to create, modify, or delete local files.

Draft and write the plan file

Writes files

medium · line 116

The documentation asks the agent to create, modify, or delete local files.

## Step 6: Draft and Write the Plan File

Reads files

low · line 184

The documentation asks the agent to read local files, directories, or repositories.

Present a brief summary of the drafted plan: the essence of what it builds and the key decisions behind it, short enough to read at a glance so the user does not have to read the full plan file. When the plan delivers value to a user, devel

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars399SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
tobihagemann/turbo
Skill path
claude/skills/draft-plan/SKILL.md
Commit
6363473a04953a8d329b0f134e2dfdd0acf269c1
License
MIT
Collected
2026-08-28
Default branch
main
View the original SKILL.md

Draft Plan

Produce an implementation plan at .turbo/plans/<slug>.md. Capture the task, survey patterns, escalate decisions, discuss, and draft.

Task Tracking

Use TaskCreate to create a task for each step:

  1. Capture the task and pick a slug
  2. Run /survey-patterns skill
  3. Consult task-specific skills and docs
  4. Escalate product decisions
  5. Deep-dive discussion
  6. Draft and write the plan file
  7. Present summary and finalize

Step 1: Capture the Task and Pick a Slug

Absorb the user's request without interrupting. Restate the goal in one or two sentences and confirm.

Generate a slug for the plan file from the task title:

  • Lowercase
  • Replace non-alphanumeric characters with hyphens
  • Collapse consecutive hyphens
  • Trim leading and trailing hyphens
  • Truncate to 40 characters at a word boundary

Example: "Add a caching layer to the image pipeline" → add-a-caching-layer-to-the-image-pipeline.

If .turbo/plans/<slug>.md already exists, append -2, -3, etc. until the path is free. Do not overwrite.

The user may pass an explicit slug or output path in their request (e.g., "draft plan as auth-rewrite"). If so, honor it. If .turbo/plans/<slug>.md exists in that case, use AskUserQuestion to ask whether to overwrite, append a numeric suffix, or pick a different slug.

A path to a file that already exists is background input rather than an output destination. Treat it as the output path only when the request says so explicitly.

State the chosen slug and the resulting plan path before continuing.

Background Document as Input

If a path to a background document is passed as input (a design doc, an issue, a written proposal), treat it as the source of truth for product decisions and discussion areas. Read it, then:

  • In Step 4, skip escalation for any product decision the document resolves. Only escalate questions it did not answer.
  • In Step 5, skip deep-dive areas the document covers. Only discuss areas it did not address.
  • Confirm the deployment's bounds with the user even when the document states them, rather than carrying them over as settled.

A question is resolved only when the document makes a definitive statement that answers it. Mentions without a chosen direction, open questions, and deferred decisions do not count as resolved; escalate those normally.

Step 2 (pattern survey) and Step 3 (consult skills and docs) still run in full. The document describes what; /draft-plan still surveys how.

Step 2: Run /survey-patterns Skill

Run the /survey-patterns skill with the confirmed task description. Keep the returned findings in conversation context for use in Steps 5 and 6.

Step 3: Consult Task-Specific Skills and Docs

Ground library and framework choices in current reality before escalating decisions.

  1. Scan for matching skills. Compare the task description against available skill trigger descriptions. For each unambiguous match, run the skill via the Skill tool. This loads decision-level guidance (idiomatic patterns, known pitfalls, version constraints) before product decisions are made. If unsure, do not load.
  2. Look up library docs. For libraries or frameworks the task clearly depends on, query documentation MCP tools (or WebSearch as a fallback) when the decision hinges on current library state such as whether a feature exists, which versions support it, or whether an API has been deprecated.

Keep findings at the decision level: what a library can do, which approach is idiomatic, which version to target. Do not embed specific API signatures or code snippets into the plan. Those belong at execution time, where the same skills are re-loaded.

Step 4: Escalate Product Decisions

Identify product or design decisions the user's request did not resolve. Escalate these via AskUserQuestion before drafting steps.

Escalate when:

  • A plan step requires choosing between user-facing behaviors the request did not specify (opt-in vs opt-out, strict vs lenient, sync vs async)
  • The plan assumes product requirements that were not stated
  • Design trade-offs affect UX or product direction rather than technical implementation
  • Multiple valid approaches exist and the choice is a matter of product preference, not technical merit
  • The plan would introduce a pattern not yet established in this codebase, or follow one sourced from outside it
  • The plan adds consistency or durability machinery (a lease, lock, queue, versioning scheme, or new persistent entity) that no stated requirement or deployment bound demands; carrying that machinery is itself a product decision

Do not escalate technical decisions the agent can make autonomously: which data structure, which existing pattern to follow, internal implementation approach. The boundary is product intent.

Confirm external constraints before escalating. When an option depends on a third-party API, service, or platform behaving a particular way, drop it unless that behavior is confirmed by current documentation.

Output what is at stake as text first, even when the reading it came from is fresh in this conversation. When the decision turns on a failure or misuse scenario, that means the invariant the change would protect and what makes that scenario reachable given the existing guards. Then use AskUserQuestion to present the decision as a concise trade-off with options. Mark the strongest option "(Recommended)" and place it first. Draft plan steps that depend on these decisions only after the user responds.

Offer a Get a second opinion option whenever the decision is costly to reverse (it establishes a pattern others will follow, defines an interface, commits to a data shape, or imports a pattern the codebase has not used), and whenever no option earns "(Recommended)" with conviction. It runs the /consult-codex skill for what each option commits to, what reversing it costs, and what the prevailing convention is. Hold the concrete options to three so the question stays within the four-option limit. Then resolve the decision with that answer in hand, re-asking when the choice stays the user's.

Step 5: Deep-Dive Discussion

Interview the user relentlessly about every aspect of the implementation shape until you reach shared understanding. Use AskUserQuestion, one question at a time. Use the pattern survey findings to frame choices. Cover whichever of these matter for the task. Do not present a rigid checklist.

Settle the first two rows before the rest, so implementation choices land against concrete outcomes and bounds instead of being taken in the abstract. When the user jumps to implementation shape early, engage briefly then circle back.

AreaWhat to explore
OutcomesWhat must be true when this is done? The observable behaviors that decide whether it worked, and the acceptance criteria that pin each one.
BoundsHow many users and operators, now and realistically? Concurrent writers? Which rigor tier is proportionate — personal tool, small team, or business-critical — and what failure tolerance does that imply?
ConstraintsWhich non-functional requirements apply: performance, security, accessibility, i18n, compliance? Which tech-stack, hosting, or integration choices does the work commit to?
Prototype unknownsWhat does the surface look like, and does the interaction pattern make sense in the hand? Separate these from ordinary design questions by whether an answer in prose would still leave the user guessing.
Reuse vs newWhich survey findings should the new work build on? Which should it deliberately not follow, and why?
File placementWhere do new files live? Which existing files are modified?
Data flowHow does data move through the change? Any new boundaries or contracts?
Edge casesPartial failure, empty states, backward compatibility, concurrency
TestsWhich existing test patterns apply? Where do new tests live?
Scope cutAnything to explicitly defer?

Discussion Guidelines

  • If a question can be answered by exploring the codebase, explore the codebase instead.
  • When a question defines a boundary, contract, or data shape, add a Get a second opinion option and hold the concrete options to three so the question stays within the four-option limit. It runs the /consult-codex skill for the soundest answer on technical merit alone, independent of the task's original scope; on a question of product intent, run it for what each answer commits to and what reversing it costs. Then resolve the question with that answer in hand, re-asking when the choice stays the user's.
  • When a question turns on how a surface looks or how an interaction behaves, and an answer in prose would leave the user guessing, add a Prototype it first option and hold the concrete options to three so the question stays within the four-option limit. It runs the /prototype skill on that unknown, then asks the question again with the prototype in hand.
  • Pair each question with a recommendation and the reasoning behind it, so the discussion stays collaborative.
  • Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
  • When the user says "you decide," make the call and explain why.
  • Probe short answers before moving on.
  • When the shape is clear or the user signals readiness, confirm before drafting.

Step 6: Draft and Write the Plan File

Synthesize the task description, pattern survey findings, consulted skill and doc context, resolved product decisions, and deep-dive discussion outcomes into a complete plan document.

Create .turbo/plans/ if it does not exist. Write the plan to .turbo/plans/<slug>.md using the slug picked in Step 1 (or the override path from Step 1) using this structure:

---
status: draft
---

# Plan: <Task Title>

## Context

<Why this change is being made — the problem or need it addresses, what prompted it, the intended outcome. One or two paragraphs.>

<The deployment's bounds: user and operator count, concurrency, the rigor tier, and the failure tolerance it implies. One or two sentences.>

## Acceptance Criteria

What must be true when this is done:

- When <trigger or condition>, the system shall <expected behavior>.
- As a <persona>, I want <capability> so that <outcome>.
  - Acceptance: <criterion>

## Pattern Survey

<Insert the structured findings from `/survey-patterns`: Analogous Features, Reusable Utilities, Convention Anchors, Proposed Alignment. Use the same format the survey returned.>

## Implementation Steps

1. **<Step 1 title>**
   - <Concrete action with `file_path` references and named functions or symbols>
   - <Another action>
2. **<Step 2 title>**
   - ...
3. ...

## Verification

How to verify the change works end-to-end after implementation:

- <Specific test command, manual smoke check, or MCP tool invocation>
- <Expected observable result for each verification step>
- <Edge cases to spot-check>

## Context Files

Files to read in full before starting implementation:

- `<path/to/file1>` — <why it matters>
- `<path/to/file2>` — <why it matters>
- ...

Content Rules for the Plan

  • Context: State the deployment's bounds explicitly. Downstream review judges whether the plan's machinery is proportionate against these bounds, so a plan that omits them leaves that judgment ungrounded.
  • Acceptance Criteria: State observable outcomes, not implementation steps. Use the behavioral form or the user-story form per criterion; both can appear in one plan. Every criterion with observable behavior must be exercised by the Verification section. Omit this section only when the change has no observable behavior, which the Verification section already records.
  • Implementation Steps: Use concrete file_path references and named functions or symbols. Reference existing functions and utilities from the Pattern Survey instead of reinventing them. Each step describes a discrete unit of work that can be tracked independently during execution.
  • Verification: Describe how to know the change actually works. Prefer specific test commands, named test files, or named smoke checks over vague phrases like "run the tests." If the change has no observable behavior, say so explicitly. When citing an existing test as proof that a behavior is already pinned, first confirm the test asserts the real value or behavior at issue rather than a fixture or the pass-through of a fabricated argument. When a test still to be written asserts an observable that some other mechanism in the system also produces, name that mechanism and shape both the fixture and the assertion so only the behavior under test can produce the observable.
  • Context Files: Curate the minimum set needed to become productive. Do not dump every file touched — only the ones that anchor understanding.
  • Scope: Plan content describes what to build. Do not embed task tracking, skill loading, /finalize invocation, test commands, or commit instructions in the plan content — those are execution-wrapper concerns.

Step 7: Present Summary and Finalize

Present a brief summary of the drafted plan: the essence of what it builds and the key decisions behind it, short enough to read at a glance so the user does not have to read the full plan file. When the plan delivers value to a user, developer, or operator, also present a short list of stories capturing what that person gains, in the form "As a , I want so that ". Skip the stories only when no beneficiary or outcome can be named, such as a purely mechanical refactor. Fit both to the plan rather than a fixed template.

Then use AskUserQuestion to offer these paths:

  • Approve (Recommended) — the plan is final.
  • Revise — the user describes what to change. Apply the edits to the plan file, then re-summarize and re-present.
  • Prototype first — offer this path when an unknown that only a built artifact settles is still open. Run the /prototype skill, apply what it settled to the plan file, then re-summarize and re-present. Mark it "(Recommended)" in place of Approve while such an unknown is open, since a surface or interaction pattern that is still unproven cannot be judged from the plan text.

Then use the TaskList tool and proceed to any remaining task.

Rules

  • Never skip the pattern survey.
  • Never skip decision escalation for questions left unanswered. When entering from a Background Document as Input, questions the document already resolves are considered answered and may be skipped.
  • The plan file, and any prototype the discussion or the finalize gate called for, are the only outputs. Do not write code, scaffolding, or other project files.
  • Do not run /review-plan or any review skills here.

Frequently asked questions

What to verify before installation and use

What does the draft-plan source document cover?

Produce an implementation plan at .turbo/plans/.md. Capture the task, survey patterns, escalate decisions, discuss, and draft.

How do I install draft-plan?

The source record exposes this install command: npx skills add https://github.com/tobihagemann/turbo --skill "claude/skills/draft-plan". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged write-files, read-files in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 100147

oaustegard/claude-skills

featuring

Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre

Computed 10017

dancingteeth/unified-code-review

unified-code-review

Risk-first code review for PRs and branch audits: blast-radius triage, agent-authored discipline (tests first, intent evidence), call-graph pincer for integration defects between modules, then structural code-judo bar. Use when reviewing PRs, auditing agent-written diffs, catching rubber-stamp green CI, or wiring bugs single-file review misses. Prefer over structure-only thermo-nuclear review alone. Do not use for unrelated coding tasks or as an always-on rule.

Computed 1009

Postpartum-genushyacinthus29/dotnet-skills

dotnet-worker-services

Build long-running .NET background services with `BackgroundService`, Generic Host, graceful shutdown, configuration, logging, and deployment patterns suited to workers and daemons.

Computed 99241

enuno/unifi-mcp-server

unifi-mcp-tool-builder

Specialized guide for adding new MCP tools to the UniFi MCP Server following project standards, UniFi API patterns, and test-driven development practices. Use when implementing new UniFi Network Controller features as MCP tools.