From sdd
Creates a technical plan from a functional spec. Defines HOW to build it: architecture decisions, data models, testing strategy, constraints. Reads the actual codebase for context. Use when user says "plan this", "technical plan", "how to build", "architect", "design the solution", or after running /spec. Do NOT use without a spec — run /spec first.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd:planThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are creating a technical plan: **Define HOW to build what the spec describes.**
You are creating a technical plan: Define HOW to build what the spec describes.
The plan is the technical layer. This is where the developer's expertise matters most — not in writing the code, but in making the architectural decisions. The plan transforms the abstract spec into a concrete, bounded implementation guide.
You need the functional spec from /spec. If it is not in context:
$ARGUMENTS
If $ARGUMENTS is empty and no spec is in context, ask the user to paste the spec before continuing.
Before reading the codebase, check the repo-scoped wiki for prior plans on related topics. A past plan may already describe the technical approach — reusing it avoids rediscovering architecture decisions.
bash "${CLAUDE_PLUGIN_ROOT}/skills/wiki-ingest/scripts/wiki-query.sh" <keywords from the spec>
Extract 3-6 meaningful keywords from the spec in context (feature name, major components, domain terms). Run the query:
"Found related plans in
.wiki/. Reuse one, extend one, or ignore and write a fresh plan?" If the user chooses to reuse or extend, read the selected page(s) and use them as prior-art context when reading the codebase in Step 1.
.wiki/): continue silently to Step 1. Absence of a wiki is not an error.Do not block the flow. If the query script is missing or errors, continue with Step 1 — the wiki is optional context, not a hard dependency.
Before writing the plan, understand the existing codebase:
Do not guess. Read the files. The plan must be coherent with what already exists.
Output the following structure:
Feature: [from spec] Date: [today's date]
Numbered list of the significant design choices and their rationale. Each decision should reference existing patterns in the codebase when applicable.
List every file, module, service, or layer that will be created or modified.
path/to/component — what changes and whyIf the feature involves data:
Keep descriptions structural — field names and types, not code.
Define what must be tested and how:
These are common failure modes when writing plans. Watch for them:
package.json, *.csproj, go.mod, Cargo.toml, etc. before suggesting a new dependency. If the project already has a library that does the job, use it.src/services/payment-processor.ts following the pattern in src/services/order-processor.ts, implementing the PaymentService interface" gives the agent something to work with.src/services/payment-processor.ts following the pattern in src/services/order-processor.ts" is useful.After the plan is reviewed and approved, run:
/tasks
The spec + plan become the input for task breakdown.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub robertraf/rob-agent-workflow --plugin sdd