Skip to main content
Ai promptsDesign docsEngineering promptsClaude prompts

A Technical Design Doc Prompt That Holds the RFC Structure

A reusable technical design doc prompt that locks the RFC structure: context, scored options, failure modes, rollout. Includes model behavior on long docs.

PPromptsCart Team·August 30, 2026·Updated August 30, 2026·7 min read

A technical design doc prompt earns its keep when it stops every author from inventing a new doc structure. Context, the options you considered, why you picked one, what breaks, how you roll it out. Same shape every time, so reviewers know where to look. The hard part isn't writing prose. It's holding that structure across a long document without a section quietly going missing.

The tools online fall into two buckets. Conversational generators that ask you twenty questions and hand back a doc. Galleries of example RFCs from big companies, useful for inspiration, useless as a reusable prompt. Neither gives you a locked output contract you can run on every design, which is the thing that actually makes the docs comparable.

This covers a prompt that fixes the section order, the model behavior on long docs, and why the clarifying-question loop is usually a trap.

What you can do with this prompt

  • Turn a rough proposal into a full RFC skeleton in one pass
  • Force a real "alternatives considered" section instead of one option dressed up
  • Score tradeoffs against named criteria so the decision is defensible
  • Surface failure modes before code, not in the postmortem
  • Mark unknowns as open questions instead of letting the model guess
  • Keep every team doc in the same shape so reviews go faster

Why the structure drifts on long docs

A design doc is a long, multi-section artifact, and that's exactly where models get sloppy. Early sections come back rich and detailed. By section nine the model starts compressing, merging headings, or dropping a section it covered implicitly. You don't notice until a reviewer asks where the rollback plan went.

The fix is an output contract that lists every required section, placed where the model still pays attention to it. On long generations that means near the end of the prompt, not buried at the top.

A real alternatives section is the whole point of an RFC

The section everyone skips is "alternatives considered," and it's the one that makes the doc worth writing. A design with one option isn't a design; it's a decision already made, looking for a rubber stamp. Force the prompt to produce at least two real alternatives with honest tradeoffs, including the option you rejected and why. That's where reviewers catch the assumption you didn't know you'd made.

Anatomy of the prompt

Variables
  {{proposal}}    — the rough feature or system idea
  {{constraints}} — known limits (stack, deadline, team size)
  {{criteria}}    — what to score options against (e.g. cost, risk, speed)

Prompt
  Role: staff engineer writing an RFC for design review.
  Task: turn {{proposal}} into a design doc. Produce at least two
  real alternatives scored against {{criteria}}. Mark anything you
  don't know from {{proposal}} or {{constraints}} as "OPEN QUESTION",
  never a guess.

Output contract (every section, in this order)
  1. Context and problem
  2. Goals / non-goals
  3. Proposed design
  4. Alternatives considered (>= 2, scored)
  5. Failure modes and mitigations
  6. Rollout and rollback plan
  7. Open questions

The "mark unknowns as OPEN QUESTION" rule is what makes the draft trustworthy. A model told to write a complete doc will fill gaps with confident invention. A model told to flag gaps hands you a map of what still needs a human decision.

How models behave on this specific job

Behavior on holding a long, multi-section doc, not on reasoning quality alone:

Behavior on design-doc writingClaudeChatGPT (GPT-4o)
Holds all sections across a long docSteady; rarely drops a headingCompresses or merges later sections unless the contract is restated near the end
Produces genuinely distinct alternativesStrong; two real optionsStrong, but second option sometimes restates the first
Flags unknowns instead of guessingReliable with the ruleReliable with the rule; guesses more without it
Scores tradeoffs against named criteriaConsistent tableConsistent table

The honest read: GPT-4o reasons well inside a section but loses the macro structure on long docs, so the section contract has to stay near the end of the prompt where it still has weight. Claude holds structure better but will occasionally write two "alternatives" that are the same idea with different words. Read the alternatives section critically regardless of model.

1. Write the proposal rough

Drop the unpolished idea into {{proposal}}. A paragraph is enough. The prompt's job is to impose structure, so you don't need to pre-structure it.

2. State the constraints

{{constraints}} is where the real design lives. Stack, deadline, team size, the thing you can't change. The model can't infer your on-call rotation or your latency budget, so tell it.

3. Name the scoring criteria

{{criteria}} turns "this option is better" into "this option scores higher on cost and risk." Pick three. More than that and the table becomes noise.

4. Run and audit the alternatives

Go straight to the alternatives section. If the two options are the same idea twice, regenerate with a sharper criteria list. This section is the doc's reason to exist.

5. Resolve the open questions

The open-questions list is your to-do, not the model's failure. Each one is a decision a human has to make. Resolving them is the actual design work; the model just framed it.

Variables you'll set

VariableRequiredWhat it is
{{proposal}}YesThe rough feature or system idea
{{constraints}}YesKnown limits: stack, deadline, team size, hard requirements
{{criteria}}NoWhat to score options against; defaults to cost, risk, and effort

An opinion worth holding

Skip the clarifying-question loop. The generators that ask you twenty questions before writing feel rigorous, but they stall the draft and the questions are usually things you'd have written into the doc anyway. A complete skeleton with gaps flagged as open questions beats an interrogation, because you can see the whole shape and fill the real decisions in context. Drafting is faster when you're editing a structure than when you're answering a quiz.

This is also why a reusable prompt beats a one-off. The section contract, the alternatives rule, the open-question convention all live in the prompt, not in the head of whoever wrote the doc last. New engineers inherit the standard for free.

Getting started

  1. Copy the skeleton into your model.
  2. Paste one real proposal into {{proposal}} and fill {{constraints}}.
  3. Name three scoring criteria.
  4. Run it, then audit the alternatives section for two genuinely distinct options.
  5. Treat the open questions as your design to-do list.
  6. For a workflow that scores tradeoffs and maps failure modes as a system, use a pack built for review, like the Technical Design Review Playbook.
Browse the technical design review playbook
Skip the setup

The Technical Design Review Playbook turns a proposal into a full review package: clarified requirements, scored tradeoffs, mapped failure modes, and a phased execution plan, with the {{criteria}} scoring and the alternatives rule already locked into the contract. It's part of The Complete AI Prompts Bundle, a one-time lifetime license to the whole catalog plus every pack added later, which is worth it if design review is a recurring job rather than a one-off.

Get the Technical Design Review Playbook

Once the design is approved, the next step is turning it into guarded execution. The Spec-to-Code Harness takes a settled spec into a verified implementation plan, which picks up where the RFC leaves off. For the planning lens, the comparison of o3 vs Claude for planning covers which model holds a multi-step plan, and the spec-driven development walkthrough shows the handoff to an agent.

Browse all engineering prompt packs
FAQ

Common questions

What is a technical design doc prompt?
It's a reusable prompt that turns a feature or system brief into a structured RFC: context and goals, options with scored tradeoffs, failure modes, and a rollout plan. The output contract fixes the section order so every doc your team produces is reviewable in the same shape, instead of each author inventing their own structure.
Should the prompt write the whole doc or ask clarifying questions first?
For a first draft, have it write the whole structure and mark unknowns with an explicit 'open question' tag rather than guessing. Clarifying-question loops feel thorough but stall the draft. A better pattern is a complete skeleton with gaps flagged, so the author fills the real decisions and the model handles the boilerplate sections.
Does Claude or ChatGPT hold a long design doc better?
Claude tends to hold a multi-section structure across a long doc more consistently and rarely drops a section heading. GPT-4o is strong on the reasoning inside each section but more likely to compress or merge later sections unless the section contract is restated near the end of the prompt. For a 12-section RFC, pin the model and keep the contract visible.
Stop reading. Start shipping.

Get the prompt packs this guide is built on

Ready-to-paste prompts with documented variables and usage guides for ChatGPT, Claude, and Gemini. One-time payment, own it forever.