Back to Blog
SuperPM Blog/Prompt Guide

Feature Specification Document

Write a detailed feature specification that engineering teams can immediately build from. Covers user flows, edge cases, API contracts, error states, and acceptance criteria — the level below a PRD.

Delivery
1 uses·Published 4/2/2026·Updated 4/2/2026

The Feature Spec Is Where Good Ideas Go to Get Real

Stripe's engineering culture has a saying: "If you can't spec it, you can't ship it." Their PMs write feature specifications so detailed that an engineer who's never seen the codebase could build from them. Not because engineers need hand-holding — because ambiguity is the silent killer of shipping velocity.

Most product teams skip this step. They have a PRD that says "users should be able to filter search results" and assume engineering will figure out the rest. Then two weeks later, someone asks: "What happens if the user applies twelve filters at once?" and nobody knows.

The Missing Layer Between Strategy and Code

A 2022 McKinsey study on software development productivity found that unclear requirements are the single largest source of rework in engineering teams, accounting for up to 35% of wasted development time. Not technical debt. Not poor tooling. Ambiguity.

The PRD sits at the strategy layer — it defines the why, the who, and the what at a high level. But there's a gap between "we're building a collaborative editing feature" and the actual implementation. That gap is where feature specs live. They answer the uncomfortable questions: What's the data model? How do error states render? What's the API contract? What are the edge cases when two users edit the same paragraph simultaneously?

This is the document that prevents the "oh, we didn't think about that" moments in code review. Teresa Torres calls this the "opportunity space" problem — teams are great at identifying opportunities but terrible at specifying them precisely enough to build.

How This Prompt Helps

This prompt generates a build-ready feature specification from your feature context. You provide the feature name, parent PRD, target release, and engineering lead — and it produces user flows, edge case documentation, API contracts, error states, acceptance criteria, and testing considerations.

It's particularly useful because it asks the questions you'd forget to ask. Every experienced PM has shipped something and then realized they never specified what happens when the user has no internet connection, or what the empty state looks like, or how the feature degrades for users on older browsers.

When to Reach for This

  • You've finished a PRD and need to break it down into engineering-ready specifications for individual features
  • An engineer asks "what should happen when..." and you realize the answer isn't written down anywhere
  • You're working with a distributed team across time zones and need specs that stand alone without a meeting
  • A feature has complex state management or multiple user paths that need to be documented before coding starts
  • You want to reduce code review back-and-forth by defining acceptance criteria upfront

What Good Looks Like

A strong feature spec reads like a contract between product and engineering. It has user flows with decision trees, not just happy paths. Error states are specified with exact copy and behavior. API contracts include request/response schemas. Acceptance criteria are testable — an engineer or QA can read them and say definitively "yes, this passes" or "no, this doesn't."

Sources

Sources

  1. The Real Cost of Unclear RequirementsMcKinsey Digital
  2. Continuous Discovery HabitsTeresa Torres / Product Talk

Prompt details

Category
Delivery
Total uses
1
Created
4/2/2026
Last updated
4/2/2026

Ready to try the prompt?

Open the live prompt detail page for the full workflow.

View prompt details

More Delivery Guides