Specification-Driven Development
This skill should be used when the user asks about "spec methodology", "specification workflow", "spec-driven development", "how to write specs", "spec best practices", "specification templates", or needs guidance on creating, validating, decomposing, or executing specifications for software development.
What this skill does
# Specification-Driven Development Methodology A systematic approach to software development that starts with comprehensive specifications before implementation. ## Workflow Overview The spec workflow consists of four phases: ``` /spec:create -> /spec:validate -> /spec:decompose -> /spec:execute ``` ### Phase 1: Create (`/spec:create`) Generate a comprehensive specification document using first-principles thinking: 1. **Problem Analysis**: Strip away solution assumptions, identify root cause 2. **Validation**: Confirm real user need, audit assumptions 3. **Technical Discovery**: Search codebase, identify conflicts/dependencies 4. **Specification Writing**: 17-section template covering all aspects **When to use**: Starting any non-trivial feature or bugfix ### Phase 2: Validate (`/spec:validate`) Analyze the specification for completeness and detect overengineering: 1. **WHY Analysis**: Intent, goals, success criteria 2. **WHAT Analysis**: Scope, requirements, deliverables 3. **HOW Analysis**: Implementation details, error handling, testing 4. **YAGNI Check**: Cut unnecessary features aggressively **When to use**: Before decomposing, after major spec revisions ### Phase 3: Decompose (`/spec:decompose`) Break the validated spec into actionable implementation tasks: 1. **Task Breakdown**: Single-objective tasks with clear acceptance criteria 2. **Dependency Mapping**: Identify blocking vs parallel work 3. **Content Preservation**: Copy ALL details, don't summarize 4. **Task Management**: Create in STM or TodoWrite **When to use**: After spec passes validation ### Phase 4: Execute (`/spec:execute`) Implement using orchestrated specialist agents: 1. **Implement**: Launch domain expert agents 2. **Test**: Write comprehensive tests 3. **Review**: Code review for completeness AND quality 4. **Fix**: Address issues before marking complete 5. **Commit**: Atomic commits per task **When to use**: After decomposition creates tasks ## Key Principles ### First Principles Problem Analysis Before any solution, validate the problem: - What is the core problem separate from solutions? - Why does this problem exist? - What would success look like with unlimited resources? - Could we solve this without building anything? ### YAGNI (You Aren't Gonna Need It) Be aggressive about cutting scope: - Unsure if needed? Cut it - For "future flexibility"? Cut it - Only 20% of users need it? Cut it - Adds complexity? Question it, probably cut it ### Content Preservation When creating tasks from specs: - COPY implementation details verbatim - Include complete code examples - Never write "as specified in spec" - Each task must be self-contained ### Quality Gates Each phase has validation checkpoints: - Specs require 8+/10 quality score - Tasks require code review approval - Implementation requires all tests passing ## Integration with Task Management ### STM (Session Task Manager) If installed, provides persistent task tracking: ```bash stm init # Initialize stm add "Task" --details "..." # Create task stm list --pretty # View tasks stm update [id] --status done # Complete task ``` ### TodoWrite (Fallback) Built-in session task tracking when STM unavailable. ## See Also - [references/spec-template.md](references/spec-template.md) - Full 17-section specification template - [references/overengineering-patterns.md](references/overengineering-patterns.md) - Common patterns to avoid
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.