with one click
sdd-plan
// Use when creating an SDD implementation plan from exploration.md, with deep interview, task breakdown, and batch assignments.
// Use when creating an SDD implementation plan from exploration.md, with deep interview, task breakdown, and batch assignments.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | sdd-plan |
| description | Use when creating an SDD implementation plan from exploration.md, with deep interview, task breakdown, and batch assignments. |
| argument-hint | [change_name] [instructions] |
| disable-model-invocation | false |
| allowed-tools | Bash, Bash(tree:*), Read, Glob, Grep, Write, Edit, AskUserQuestion, Skill, Task, mcp__atlassian__jira_get_issue, Bash(crit:*) |
Create the implementation plan for the next phase. The plan file is your entire world: the implementer (a different model with no memory of this session) depends entirely on plan.md for design decisions. Do not implement.
CRIT_FEEDBACK: block โ follow Crit Feedback Re-entry below.GUIDANCE: block โ jump to step 8 (Guidance Integration)..sdd/{change}/plan.md (do NOT start from scratch).CRIT_FEEDBACK: block:
a. Locate the referenced section/lines in plan.md.
b. Revise the plan to address the feedback.
c. Reply: crit comment --plan {change} --reply-to {id} --author 'Claude Code' '<what was changed>' (Bash(crit:*) is allowed).## Team Selection.status: guidance_requested if step 4 added new advisors; otherwise status: ok.Read context from .sdd/{change-name}/exploration.md. If .sdd/{change-name}/prd.md exists, read it too โ PRD is the WHAT/WHY (user perspective), exploration.md is the WHERE (codebase context); the plan combines both into the HOW.
If exploration.md is missing or incomplete, recover via the two-step pattern in _shared/persistence-contract.md. If neither file nor engram has it, return envelope with status: blocked.
Create plan file .sdd/{change-name}/plan.md from templates/plan_template.md. Do not omit any section.
Deep Interview Phase (MANDATORY)
Complexity check: if exploration.md describes a change touching โค3 files with no cross-layer impact, skip the Deep Interview and proceed to step 4. Document Interview skipped โ simple change (โค3 files, single layer) in ## 4. Clarifications.
Otherwise, conduct an in-depth interview before architecture analysis. Follow the methodology in references/interview_guide.md: 10 dimensions to explore, 5 question filters, iterative loop with minimum 2 rounds.
Key rules:
AskUserQuestion (up to 4 questions per call, 2-4 options each, recommended option first).## 4. Clarifications as: - **[Dimension]**: Q: <question> โ A: <answer>.Analyze the requested changes and break them into clear, actionable steps.
Team Selection (record only โ do NOT invoke advisors yet)
Adviser coverage rule: for each adviser in the registry (identified by its SKILL.md description frontmatter), evaluate whether the plan's contracts, tasks, or affected layers fall under that adviser's described domain. If the domain overlap is clear, that adviser MUST appear in Team Selection. Skip is allowed only with an explicit rationale that quotes or references the adviser's description frontmatter text โ boilerplate like "not relevant" is rejected by the Detail Quality Gate. Err toward inclusion when the overlap is borderline.
If no advisor skills are listed above, skip steps 5 and 7 and proceed to step 6.
Process:
## Team Selection with reasoning.Do NOT invoke Task()/Skill() for advisors here โ that's the orchestrator's job.
Implementation plan โ files to modify, code sections, new functions/methods/classes, dependencies, data structures, interfaces, configuration changes.
Task format (CRITICAL โ machine-parsed by sdd-implement):
- [ ] TXXX [TAGS]? Description โ file_path
[ ] = incomplete (space inside), [X] = complete (uppercase X only โ [x] is treated as incomplete).TXXX = T + 3-digit zero-padded number (T001, T002, โฆ), sequential across ALL phases.[TAGS] optional, e.g. [US1].-).The format is NOT optional โ sdd-implement parses these markers to track progress, resume across sessions, and execute in batch order.
Batch Assignment Table (MANDATORY)
After all tasks are defined, include a Batch Assignment Table โ the single source of truth for parallelism and execution order. Parallelism is NEVER defined inline in tasks.
| Batch | Tasks | File | Parallel | Depends on |
|-------|-------|------|----------|------------|
| A | T001-T003 | src/User.java | Yes | โ |
| B | T004-T005 | src/Order.java | Yes | โ |
| C | T006 | src/Service.java | No | A, B |
Parallel=Yes).Detail Quality Gate (self-check before step 7)
Before requesting guidance, verify:
**Details for TXXX**: block with signatures, types, or schema. Trivial tasks (rename, import-only, config toggle) may omit it.prd.md exists for this change) โ for every User Story / requirement listed in prd.md, at least one task in plan.md must demonstrably implement it. Walk the PRD top-to-bottom: for each US/requirement, name the TXXX task(s) that cover it. If any US has zero matching tasks, it's a gap โ add the missing task(s) BEFORE continuing. Document the mapping in ## 4. Clarifications as - **PRD coverage**: US1 โ T003,T007 / US2 โ T011 / US3 โ T012-T014. The reviewer will catch the gap if you don't, but late-stage rework is more expensive than fixing it here.description frontmatter text. Boilerplate ("not relevant", "out of scope") without a domain reference fails this check.If any check fails, fill the missing detail before continuing.
Guidance Request
Rule: if Team Selection (step 5) chose any advisors โ return status: guidance_requested. This is the ONLY condition.
In the envelope:
requested_advisors: comma-separated list of all advisor skill names from step 5.guidance_context: 1-2 sentences per advisor naming what they should focus on (reference task IDs or section names from the plan).Do NOT request guidance when re-entered with a GUIDANCE: block (skip to step 8) or when step 5 selected zero advisors.
Guidance Integration Re-entry (triggered by GUIDANCE: block in launch prompt)
plan.md (do NOT recreate).GUIDANCE: block:
engram ID โ call mem_get_observation(id) for full advice.## Advice Received: document what was integrated and what was skipped (with rationale).status: ok (or warning if recommendations could not be fully integrated).Skip Deep Interview / Team Selection / Guidance Request โ already done. NEVER return status: guidance_requested from a guidance re-entry (would loop infinitely).
Use one Edit call per section to replace [PENDING] with actual content. Do NOT write the entire plan in one Write/Edit โ large payloads cause timeouts.
old_string: "## 1. Overview\n[PENDING]"
new_string: "## 1. Overview\n\n[Your actual content here]"
Sections to fill (max 50 lines each):
Then update Status to โ
Complete.
Include short code snippets to illustrate patterns, signatures, or structures โ but do NOT implement full solutions. Include a Testing section identifying which unit and integration tests are needed (specify what should be tested and why; don't write the test code).
Save the plan artifact and any general-knowledge discoveries (architecture decisions, conventions) per _shared/persistence-contract.md (Phase Artifact Save Convention + General Knowledge Persistence Mandate). For this phase, title/topic_key is sdd/{change}/plan.
Return the SDD Envelope as your last output (format: _shared/envelope-contract.md). Nothing may follow it.
| Field | Value |
|---|---|
| Status | ok (plan complete, all sections filled, interview done) ยท guidance_requested (advisor consultation needed; include requested_advisors + guidance_context fields) |
| Phase | plan |
| Change | {change-name} |
| Artifacts | .sdd/{change-name}/plan.md |
| Next Recommended | /sdd-implement {change-name} |
| Risks | Carry forward any risks from the plan's Risks & Considerations section |
| Engram Ref | Observation ID from the persistence step, or omit if engram unavailable |
Do NOT invoke sdd-implement or any other SDD skill โ return the envelope; the orchestrator decides next steps.
exploration.md was read; the plan extends/refines it instead of duplicating.prd.md exists, every User Story / requirement maps to โฅ 1 task (PRD coverage check from step 6's Detail Quality Gate). Mapping is recorded in ## 4. Clarifications.[PENDING] placeholders remain. Status is โ
Complete.โค3 files rationale recorded in ## 4. Clarifications); responses use the [Dimension] format.- [ ] TXXX Description โ file_path format with uppercase [X] semantics.**Details for TXXX**: block. Section 2 has populated Contract Specifications when new types/interfaces/schemas exist; Before/After Analysis when modifying existing code.[P] markers in tasks). Parallel batches declare cross-dependencies via Depends on:.Edit per section โ no >50-line single calls.status: guidance_requested (unless this is a guidance re-entry).sdd-implement or any SDD phase skill; did not write code outside .sdd/{change-name}/.Specialist skills for planning advice: see the table in step 5 above. Shared contracts: persistence-contract, envelope-contract. Methodology: interview_guide.md.
<user_instructions>
$ARGUMENTS
change_name: $1
instructions: $2 </user_instructions>