skills/sdd-init/references/skills/spec-done/SKILL.md
Finalize an SDD feature: verify implementation quality, move spec to done, and commit. Runs lint/test/build checks, validates requirements and design alignment, completes the feature, then checks whether the work introduced new patterns worth syncing into project steering.
npx skillsauth add qlawmarq/dotfiles-common sdd-spec-doneInstall 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>
docs/tasks/todo/ to docs/tasks/done/</background_information>
<instructions>This skill expects:
docs/tasks/If inputs were provided with this skill invocation, use them directly. Otherwise, ask the user for the feature name.
Run comprehensive quality verification on the completed feature. If all checks pass, finalize by moving the spec to done and committing. If any check fails, report issues and suggest corrective actions.
Look for the feature directory in docs/tasks/todo/<feature-name>/ only. Features already in docs/tasks/done/ are already completed and cannot be finalized again. If not found in todo/, report an error.
Read all necessary context:
{spec_path}/spec.json for metadata and language{spec_path}/requirements.md for requirements{spec_path}/design.md for design structure{spec_path}/tasks.md for task listdocs/steering/ directory for complete project memoryExecute all verification checks sequentially. Collect all issues before making a decision.
[x] (completed)[ ] remain, flag as Critical: "Incomplete tasks found"package.json scripts (lint, lint:check)Makefile targets (lint)pyproject.toml / Cargo.toml equivalentsdocs/steering/tech.md)package.json scripts (test, test:unit)Makefile targets (test)pyproject.toml / Cargo.toml equivalentsdocs/steering/tech.md)package.json scripts (build, compile)Makefile targets (build)pyproject.toml / Cargo.toml equivalentsdocs/steering/tech.md)GO Criteria: Zero Critical issues.
If NO-GO:
/sdd-spec-done <feature-name>If GO:
spec.json:
phase: "done"updated_at timestampdocs/tasks/todo/<feature-name>/ to docs/tasks/done/<feature-name>/git log --oneline -20
feat:, fix:, chore:, etc.) → use matching formatfeat(scope):) → include feature name as scopefeatfixrefactorfeatgit status for current working tree statedocs/tasks/done/<feature-name>/)feat(<short-name>): <description from spec.json>
Steering (docs/steering/) is loaded as project memory by every SDD skill, so stale steering silently degrades every future spec. The completion of a feature is the natural moment to catch drift — but the goal is to keep steering current and lean, not to grow it with every feature. By design, most features introduce no steering-worthy change.
Golden rule (from
docs/settings/rules/steering-principles.md): "If new code follows existing patterns, steering shouldn't need updating." Treat "no update needed" as the expected, common outcome.
This step runs only on GO, after the feature is finalized and committed (Step 4). It never blocks completion — the feature is already done.
Compare the steering loaded in Step 1 against what this feature actually introduced. Look only for pattern-level changes worth remembering as project memory — not catalog entries:
Ignore anything that merely follows an existing pattern. Never record file listings, dependency dumps, implementation details, secrets, or agent-tooling directories (.claude/, .cursor/, etc.) — see docs/settings/rules/steering-principles.md.
If the feature followed existing patterns, report "Steering current — no update needed" and finish. Do not touch steering. This is the expected outcome for most features.
steering-principles.md (note an updated_at timestamp and a brief reason for the change).docs(steering): sync after <feature-name>
Match the repo's commit style detected in Step 4c./sdd-steering.For a broad or periodic steering review beyond what this feature touched (e.g. after several merges or a refactor), point the user to /sdd-steering, which performs a full-codebase sync.
docs/tasks/todo/ — never re-process done/todo/ untoucheddocs(steering): commit — never bundled with the feature commit and never a GO/NO-GO gatedocs/steering/*.md after user confirmation, then commit them separatelyProvide output in the language specified in spec.json:
Format: Markdown with severity indicators, under 500 words
<hash>)", or "Steering update declined"Format: Concise Markdown, under 300 words
Feature Not Found in todo/:
docs/tasks/done/, report "Feature already completed"/sdd-spec-status"Incomplete Tasks:
/sdd-spec-impl <feature-name> <task-numbers>, then re-run /sdd-spec-done <feature-name>"Lint/Test/Build Failures:
/sdd-spec-done <feature-name>"Unrelated Changes in Working Tree:
No Unstaged Implementation Changes:
Git Not Clean for Spec Move:
docs/tasks/todo/<feature-name>/ has uncommitted modifications, include them in the commitBefore Running spec-done:
/sdd-spec-impl <feature-name>/sdd-validate-impl <feature-name>After Successful Completion:
docs/tasks/done/<feature-name>//sdd-spec-init "description"development
Interactive requirements quality review and validation. Detects gold-plating (unrequested features), ambiguity, and scope creep before they propagate.
development
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.
tools
文章を指定した言語に翻訳。 ブログ記事やドキュメントを自然で高品質な翻訳に変換します。 フロントマター処理、専門用語の検証も行います。
tools
ブログコンテンツの品質をレビュー。 SEO最適化、文法・表現、コンテンツ品質、正確性・信頼性を 包括的にチェックし、改善提案を行います。