Turn a feature idea into user stories with acceptance criteria and risky assumptions
Use when
A spec is not documentation for its own sake — it is a forcing function that surfaces implicit assumptions before implementation exposes them. The most valuable part is the Decisions log: each decision recorded with a one-line rationale so future readers know what was already considered and rejected. Without it, the same decisions get relitigated in every standup, design review, and code review. A good spec stops that cycle by making the thinking visible once and available to everyone who picks up the work.
Most valuable when an idea has passed discovery and the team is ready to commit to a direction. Too early and the spec will be rewritten; too late and the team has been building without alignment.