skills/spec-driven-development/SKILL.md
Use when starting a new feature, when requirements are unclear, when asked to write code without a clear spec, or before any non-trivial implementation. Do NOT use for trivial bug fixes or one-line changes.
npx skillsauth add paulund/ai spec-driven-developmentInstall 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.
gh issue create with label idea and present the issue URL to the user for approval.Problem Statement — from the user's perspective.
Solution — from the user's perspective. What changes, what stays the same.
User Stories — "As a <actor>, I want <feature>, so that <benefit>." Long numbered list.
Implementation Decisions — describe decisions, not implementation. No file paths or code snippets:
Testing Decisions — what makes a good test (external behaviour only), which modules will be tested, prior art in the codebase.
Out of Scope — explicitly excluded items.
| Rationalization | Reality | |---|---| | "This is simple, I don't need a spec" | Simple tasks need short specs, not no specs. A three-line spec with acceptance criteria is fine. | | "I'll write the spec after I code it" | That's documentation, not specification. The spec's value is forcing clarity before code. | | "The user already told me what to do" | Users describe symptoms, not solutions. A spec exposes gaps and contradictions. | | "Writing a spec is too slow" | The time saved in prevented rework dwarfs the spec-writing time. Measured. |
development
Use when implementing any logic, fixing any bug, or changing any behaviour. Use when you need to prove code works, when a bug report arrives, or when modifying existing functionality. Do NOT use for config changes, data migrations, or dependency updates.
development
Use when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness matters. Detects the stack from dependency files, fetches official documentation, implements following documented patterns, and cites sources for every framework-specific decision.
development
Use when preparing to ship a feature, release, or deployment. Use before merging to main, creating a release, or deploying to production. Do NOT use for CI-only changes or internal refactors that don't reach production.
development
Use when handling user input, authentication, data storage, or external integrations. Use when building any feature that accepts untrusted data, manages user sessions, or interacts with third-party services.