This document provides a framework for writing comprehensive specifications for software features and AI agents.
A good specification does more than describe functionality. It explains why a capability exists, what it is responsible for, how it behaves, how it will operate in production, and how it will evolve over time.
A specification should allow a new engineer, product manager, designer, operator, or AI agent to understand the system without relying on tribal knowledge or external context.
Every section in this guide contributes to answering one of five questions: