skills/sdd-init/references/skills/plan/SKILL.md
Plan and decompose a LARGE-SCALE software effort into multiple right-sized SDD specs. This is the AI-DLC Inception layer that sits ABOVE individual specs: it turns a whole product, a 0->1 greenfield build, or the scale-up of an existing prototype into an ordered roadmap of independently-shippable Units of Work, then scaffolds one SDD spec per unit. Make sure to use this skill whenever the user wants to plan a new app or product from scratch, break a big/ambiguous project into pieces, build an MVP roadmap, figure out "where do I even start", turn a prototype into a real product, or do anything too large to fit comfortably in a single feature spec. Prefer this over /sdd-spec-init when the scope is a whole product or several features rather than one focused feature.
npx skillsauth add qlawmarq/dotfiles-common sdd-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
<background_information>
/sdd-spec-* flow with small, bounded context.docs/tasks/todo/, linked back to the plan.docs/inception/<plan-id>/.</background_information>
<instructions>This skill expects:
--lang=<code> (optional): ISO 639-1 language for all generated documents. Default: read from docs/settings/templates/specs/init.json language, else ja.--batch (optional): run autonomously, skipping the interactive clarification dialogue and the per-stage approval gates. Use only when the user explicitly wants a fast first-pass draft they will review at the end.The decomposition method — where to cut boundaries, how to size and split units, how to order them — lives in docs/settings/rules/inception-decomposition.md. Read it before Stage 2. This SKILL.md governs the workflow and gates; that file governs the technique.
This skill is itself prone to the context bloat it's meant to cure. Keep plan artifacts at the level of boundaries, scope, and dependencies — NOT full per-unit requirements or design. Write patterns and one-liners, not exhaustive detail. The detail belongs in each child spec, generated later in its own fresh context. If you find yourself writing EARS acceptance criteria or interface signatures during planning, stop — that work is /sdd-spec-requirements and /sdd-spec-design, run per unit.
Run as five staged stages, each ending in a human approval gate (GO / revise / stop). At each gate, present the artifact concisely and ask the user to approve or request changes before proceeding. In --batch mode, skip the gates and run straight through, then present everything for a single review at the end. The gates exist because planning mistakes are expensive to unwind once specs are scaffolded — it is far cheaper to correct a boundary now than after ten specs depend on it.
docs/settings/ and docs/steering/ should exist (SDD is initialized). If not, tell the user to run /sdd-init first and stop.docs/steering/ directory (product/tech/structure + custom). For brownfield, also do a lightweight survey of the codebase (entry points, top-level structure, existing capabilities) — just enough to ground boundaries; do not exhaustively read the repo.Gate 0: Confirm the mode and a one-paragraph restatement of the goal with the user.
Ask a focused set of high-leverage clarifying questions — not an interrogation. Cover only what changes the decomposition: the core problem, target users, the few outcomes that define success, hard constraints (tech, compliance, timeline), expected scale, and explicit non-goals. Propose answers where the steering or codebase already implies them, and let the user correct — this respects their time.
Write docs/inception/<plan-id>/vision.md from the vision.md template. Keep it tight (problem, users, outcomes, success signals, constraints, non-goals).
<plan-id> = <YYYY-MM-DD>-<project-slug> using today's date and a short kebab-case slug of the goal.
Gate 1: Review the vision with the user.
Read docs/settings/rules/inception-decomposition.md (§2). Then:
Gate 2 (highest-leverage gate): Confirm the boundaries with the user before committing to units. Boundaries are the most expensive thing to get wrong — surface them explicitly and invite disagreement.
Read inception-decomposition.md (§3, §4). Group capabilities into Units of Work, each an independently-shippable vertical slice. For every unit, record:
id (e.g., U1), short name (kebab-case, becomes the spec slug)Validate every unit against INVEST. Split any oversized unit using Lawrence's nine patterns (§4). Prefer roughly equal-sized units; carve off low-value functionality so it can be deprioritized.
Write docs/inception/<plan-id>/units.md from the units.md template.
Gate 3: Review the unit list, sizes, and independent-test statements with the user.
Read inception-decomposition.md (§5, §6). Then:
Write docs/inception/<plan-id>/dependencies.md (matrix + a Mermaid graph + the ordered build sequence) and docs/inception/<plan-id>/story-map.md (every capability mapped to exactly one unit).
Gate 4: Review the build order and dependency graph with the user. Run the §7 quality checklist.
For each unit, in build order, create a stub SDD spec so it can enter the normal flow:
docs/tasks/todo/<YYYY-MM-DD>-<unit-slug>/, resolving same-day name collisions with a numeric suffix (same convention as /sdd-spec-init). Check docs/tasks/todo/ and docs/tasks/done/ for conflicts.spec.json from docs/settings/templates/specs/init.json, replacing {{FEATURE_NAME}} and {{TIMESTAMP}}, setting language, and filling the plan linkage block:
"plan": {
"parent": "<plan-id>",
"unit_id": "<U#>",
"priority": "<P1|P2|P3>",
"depends_on": ["<sibling-feature-name>", ...]
}
depends_on lists the feature-names (spec directory names) of prerequisite units, so downstream tooling can resolve order. Leave phase as initialized.requirements.md from docs/settings/templates/specs/requirements-init.md, replacing {{PROJECT_DESCRIPTION}} with the unit's scope brief: its purpose, responsibilities, in/out-of-scope, independent-test statement, priority, and dependency notes. This seeds /sdd-spec-requirements with rich grounding while leaving the actual EARS requirements to that phase. Do not pre-write EARS criteria here.Finally, write docs/inception/<plan-id>/inception.json (plan metadata + the unit→spec mapping + status).
docs/tasks/*/ specs; only create new spec directories.--lang / init.json. EARS keywords (when they later appear in specs) stay English; everything else follows the configured language./sdd-spec-init instead of forcing an over-decomposition.docs/settings/rules/inception-decomposition.md, the docs/settings/templates/inception/* templates, docs/settings/templates/specs/init.json + requirements-init.md, and the entire docs/steering/ directory.docs/inception/<plan-id>/ and spec stubs under docs/tasks/todo/.Provide output in the configured language:
docs/tasks/todo/<...>/ directories./sdd-spec-requirements <first-unit> → research → design → tasks → impl → done, then move to the next unit in build order. Mention /sdd-spec-status <feature-name> for progress.Format: concise Markdown. Keep the summary readable at a glance.
docs/settings/ is missing, stop and tell the user to run /sdd-init first./sdd-spec-init instead of decomposing./sdd-spec-init) and note it./sdd-init (Update mode) to redeploy templates.development
Interactive requirements quality review and validation. Detects gold-plating (unrequested features), ambiguity, and scope creep before they propagate.
tools
文章を指定した言語に翻訳。 ブログ記事やドキュメントを自然で高品質な翻訳に変換します。 フロントマター処理、専門用語の検証も行います。
tools
ブログコンテンツの品質をレビュー。 SEO最適化、文法・表現、コンテンツ品質、正確性・信頼性を 包括的にチェックし、改善提案を行います。
testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.