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