drafty

Product spec template

Your agent drafts the spec in under a minute — then you share one link engineering comments on inline, before the first estimate lands.

What it is
A product spec translates an approved PRD into a technical blueprint: the user flows, business logic, edge cases, API contracts, and acceptance criteria engineering needs to actually build the thing.

A product spec answers the how where a PRD answers the what. It's the document engineering reads before they estimate, not after — and the one that determines whether "done" means the same thing to the PM and the team building it.

Generate it with your agent

Paste this into Claude, Cursor, or any agent:

claude
Write a product spec for {feature}. Structure it as: 1) Feature overview — what it does and where it fits in the product, 2) User flows — the key paths a user takes, step by step, 3) Functional requirements — the specific behaviors, inputs, and outputs, 4) Edge cases and error states — what happens when things go wrong, 5) Acceptance criteria — the testable conditions that define 'done'. Keep it precise enough that an engineer can estimate without asking clarifying questions. Then publish it to Drafty so I can share a link and collect inline comments — no account needed to reply.

See it on a real one

Live canvas — comment on any elementOpen ↗

What goes in a product spec

Five sections that give engineering a clear target:

  1. Feature overview — one paragraph on what the feature does, who it's for, and how it fits the existing product. Enough context that a new engineer on the team can pick it up.
  2. User flows — the step-by-step paths a user takes through the feature. Draw them out or describe them sequentially. Don't skip the unhappy paths.
  3. Functional requirements — the specific behaviors: what each component does, what inputs it accepts, what outputs it produces. Vague requirements here are the single biggest source of clarifying questions mid-build.
  4. Edge cases and error states — what happens when the network drops, the input is invalid, or the user does something unexpected. If you don't define these, engineering will — and their guess may not match yours.
  5. Acceptance criteria — testable conditions that define "done." Not "the form works" — "the form submits successfully with valid input, shows a field-level error for each invalid field, and returns a 200 with the created resource ID."

The section most specs skip

Most templates stop at functional requirements. What they leave out is the expected behavior for the states that don't show up in demos: empty states, loading states, partial failures, rate-limit errors. Engineers hit these on day two. If the spec doesn't cover them, those decisions get made in Slack at 4pm — and rarely get written down.

Add a section called "States to define" and list each one explicitly. It takes ten minutes to write and saves a day of back-and-forth per feature.

Product spec vs. PRD

The two documents are sequential, not interchangeable:

If you only have one document and it's trying to do both jobs, neither audience reads it closely. The PM team skims past the API contracts; engineering ignores the "why this matters" section.

When to write a spec

Write one when more than two people need to agree on how something is built — not just what it is. For a quick fix or a spike, a one-pager is faster. For anything with multiple user flows, data dependencies, or cross-team touchpoints, a spec earns its weight before the first standup.

The spec is most useful when engineering reads it before they estimate. Most teams share it after — which is too late to catch the assumptions that will cost a sprint.

FAQ

What's the difference between a product spec and a PRD? A PRD covers the problem, users, and success metric — the "what and why." A product spec covers how to build it — user flows, business logic, edge cases, acceptance criteria. The PRD comes first; the spec translates it into something engineering can execute against.

Who writes a product spec? Engineering or a technical PM typically owns the spec, with design contributing user flows and the PM signing off on requirements. The best specs are co-authored: the PM knows the requirements, engineering knows what's hard, and design knows what users actually do.

How detailed should a product spec be? Detailed enough that engineering can estimate without asking clarifying questions. A useful test: hand the spec to the engineer who'll build it and ask what's unclear. If they have more than two questions, the spec isn't done yet.

What's the difference between a product spec and a functional spec? Functional spec is an older term for roughly the same thing — a document describing how software should behave. Product spec is the current usage in most product teams. Some organizations use "functional spec" for a broader, more formal document; "product spec" tends to mean the feature-level implementation blueprint.

Can an AI write a product spec? It can draft the structure and fill in sections based on what you give it. What it can't do is fill in your system's specific data models, your team's naming conventions, or the edge cases that are unique to your product. Use the prompt above to get 80% of the spec written; then your engineering lead fills in the parts that require system knowledge.

What's the most common mistake in a product spec? Writing it at the wrong level of detail. Too high and it's a second PRD; too low and it's a complete system design that becomes stale in a week. The target: precise enough to estimate, specific enough to test against.