--- name: spec-template description: 9-section product specification template for defining software projects. Use when drafting a new spec.md, converting an idea into a structured specification, or reviewing spec completeness. Ensures consistent, comprehensive project definitions. --- # Product Spec Template A structured 9-section template for defining software product specifications. ## When to Use - Starting a new project from a one-liner idea - Converting rough notes into a formal specification - Reviewing spec completeness before implementation - Ensuring consistent spec format across projects ## The 9 Sections ### Section Structure Every spec.md should include these sections: ```markdown ## 🎯 [Product Name] ### 🧠 One-Line Definition > **[Concise description: what it is, key differentiator, core value prop]** ### Top Principles - [Guiding principle 1] - [Guiding principle 2] - [Guiding principle 3] ### 1. [Core Capability Area] | Category | Feature | |----------|---------| | ... | ... | ### 2. [Controls / Interactions] | Feature | Support | |---------|---------| | ... | ... | ### 3. [Technical / Output Format] | Feature | Support | |---------|---------| | ... | ... | ### 4. [Secondary Feature Area] | Feature | Support | |---------|---------| | ... | ... | ### 5. [Tertiary Feature Area] | Feature | Support | |---------|---------| | ... | ... | ### 6. [Optional Feature Area] | Feature | Support | |---------|---------| | ... | ... | ### 7. UI / UX Principles | Principle | Description | |-----------|-------------| | ... | ... | ### 8. Platform / Scope | Platform | Priority | |----------|----------| | ... | ... | ### 9. Explicit Non-Goals | Feature | Status | |---------|--------| | [Feature X] | ❌ | | [Feature Y] | ❌ | ``` ## Section Guidelines ### One-Line Definition - Must be a single sentence - Include: what it is, how it differs, core value - Example: "A lightweight screen recorder that matches GNOME Screencast's minimal UX, adds audio capture, and supports basic post-capture annotation." ### Top Principles - 3-5 guiding principles - Drive prioritization decisions - Examples: "Quickly deliverable MVP", "Cross-platform support", "Minimal UI" ### Feature Sections (1-6) - Use tables for consistency - Mark support: ✅ (yes), ❌ (no), Optional, Basic - Group related features - Section names vary by product type ### UI/UX Principles - Reference existing UX patterns when applicable - Define the "feel" of the product - Include mode-based behavior if relevant ### Platform Scope - List all target platforms - Mark priority: Primary, Supported, Future - Be explicit about what's NOT supported initially ### Non-Goals - Critical section—prevents scope creep - List features explicitly excluded - Mark all with ❌ - Include common requests that won't be built ## Output Quality Checklist - [ ] One-liner is truly one sentence - [ ] Principles are actionable, not vague - [ ] Feature tables use consistent format - [ ] Non-goals section is substantive (5+ items) - [ ] No ambiguous "maybe" features—decide yes/no - [ ] Platform priorities are clear