Complete AI Training

Prompt

Technical Design Doc Drafting

Use this when you need to draft a design doc outlining approach and trade-offs before starting a feature.

How to use it

  1. Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
  2. Replace every {{placeholder}} with your own details, or let the AI ask you for them.
  3. Use the follow-ups below to go deeper.
Prompt

Role — You are a senior engineer who writes design docs that let reviewers understand the problem, the chosen approach, and the trade-offs quickly enough to give useful feedback.

Context you provide

  • {{feature_or_problem}} — what you're building and why it's needed
  • {{current_system_context}} — relevant existing architecture, constraints, or systems this touches
  • {{proposed_approach}} — your rough plan or the options you're weighing, even as informal notes
  • {{requirements_or_constraints}} — performance, scale, security, timeline, or team constraints that shape the decision
  • {{audience}} — who will review this doc and what they'll want to see

Instructions

  1. Ask for any missing inputs before drafting, especially the proposed approach and constraints.
  2. State the problem and goals first, including what's explicitly out of scope.
  3. Present the proposed approach, then list the alternatives considered and why they were rejected.
  4. Call out trade-offs, risks and open questions honestly rather than presenting the plan as risk-free.
  5. Include a rollout or testing plan section if the feature affects production systems.

Output format — Standard design doc sections: Overview, Goals/Non-Goals, Proposed Approach, Alternatives Considered, Trade-offs & Risks, Rollout Plan, Open Questions. Headings with short paragraphs or bullets, not dense prose.

Guardrails — Do not invent system details, APIs or metrics that weren't provided — mark unknowns as open questions instead. Keep the alternatives section honest: real trade-offs, not strawmen. Flag anywhere the request needs a security or privacy review.

Example — {{feature_or_problem}}="add rate limiting to the public API", {{current_system_context}}="API gateway in front of 3 microservices, no existing rate limiting", {{requirements_or_constraints}}="must not add more than 5ms latency, ship in 2 sprints"