Skip to main content

Technical ADR Writer

Generate Architecture Decision Records (ADRs) that document technical decisions with context, alternatives considered, consequences, and team consensus status.

Fill in the placeholders

Edit the values, then copy your finished prompt.

Your Prompt
prompt.txt
Write an Architecture Decision Record (ADR) for the decision to adopt PostgreSQL as the primary database replacing MongoDB in a multi-tenant SaaS platform processing financial data. The decision was motivated by increasing complexity of aggregation queries and need for ACID transactions and affects data layer, reporting service, backup infrastructure, and ORM configuration. Follow the Michael Nygard format (context, decision, consequences) template: 1) Title — Use the format "ADR-0042: adopt PostgreSQL as the primary database replacing MongoDB" with a descriptive, action-oriented title that makes the decision clear without reading the body. 2) Status — Set as Accepted and include the date, the decision makers (CTO, Lead Backend Engineer, and DBA), and any superseded ADRs. 3) Context — Describe the technical and business context that led to this decision: what problem are we solving, what constraints exist (budget, timeline, team skills, infrastructure), and what requirements must be met — provide enough context that someone reading this in 2 years will understand why this was a decision point. 4) Options Considered — Evaluate at least 4 alternatives, for each providing a description, pros, cons, estimated effort, and risk level. Include the option of doing nothing. 5) Decision — State the chosen option clearly and explain the rationale, specifically addressing why the alternatives were rejected and what trade-offs were accepted. 6) Consequences — List positive consequences, negative consequences, and risks that need monitoring. For each negative consequence, note the mitigation strategy. 7) Implementation Notes — Provide concrete next steps, migration plan if applicable, and metrics that will confirm the decision was correct after 6 months.

What this prompt does

This prompt writes an Architecture Decision Record for the decision to [decision_summary] in a [system_context], motivated by [motivation] and affecting [affected_components]. Following the [adr_format] template, it documents the decision so the same debate does not reopen months later — capturing context, real alternatives, and the trade-offs you accepted.

The structure works because it forces genuine evaluation rather than post-hoc justification. The title and status carry the [adr_number], [status], and [decision_makers]. The context section explains the problem and constraints clearly enough that someone reading in [context_timeframe] understands why it was a decision point. The Options Considered section evaluates at least [options_count] alternatives — including doing nothing — each with pros, cons, effort, and risk. The Decision section states the choice and why the alternatives were rejected, Consequences lists positives, negatives, and risks to monitor with mitigations, and Implementation Notes give next steps and the metrics you will check after [review_period].

When to use it

  • You made an architecture call like a database or queue change and need it recorded.
  • You want real alternatives documented so the decision is not re-litigated later.
  • You need the trade-offs you accepted written down for [affected_components].
  • You want a record readable by someone joining in [context_timeframe].
  • You need to define metrics to revisit the decision after [review_period].
  • Your team standardizes on a format like [adr_format].

Example output

Expect a structured ADR that follows the chosen template top to bottom. The title takes the form ADR-[adr_number] plus an action-oriented statement of the decision, and the status line records [status], the date, [decision_makers], and any superseded ADRs. A context section describes the technical and business problem along with the constraints — budget, timeline, team skills, infrastructure — in enough depth for a future reader. An Options Considered section evaluates at least [options_count] alternatives, including the option of doing nothing, each with a description, pros, cons, estimated effort, and risk. A Decision section states the chosen option and why the alternatives were rejected, a Consequences section lists positives, negatives, risks to monitor, and mitigations, and Implementation Notes give concrete next steps and the metrics you will check after [review_period].

Pro tips

  • Evaluate at least [options_count] real alternatives, including doing nothing; a record with one option reads as justification, not a decision.
  • Write the context for a future reader in [context_timeframe] who lacks today's tribal knowledge about [motivation].
  • Be explicit about the trade-offs accepted in the Decision section; the rejected-alternative reasoning is what stops the debate reopening.
  • Pair every negative consequence with a mitigation so the record is actionable, not just a list of risks.
  • Define concrete [review_period] metrics up front so you can later confirm whether the decision was correct.
  • Keep [status] current; mark the ADR superseded rather than deleting it when a later decision overrides it.

Frequently Asked Questions

Why document alternatives I already rejected?
Recording at least `[options_count]` alternatives with their pros, cons, effort, and risk — including the option of doing nothing — is what stops the same debate reopening in six months. It shows the decision was reasoned rather than arbitrary and gives future readers the trade-offs you actually weighed.
Which ADR template does it follow?
Whatever you set in `[adr_format]`, with the Michael Nygard format (context, decision, consequences) as a common default. The structure covers title, status, context, options, decision, consequences, and implementation notes regardless of the specific template you choose.
How does it keep the record useful years later?
The context section is written so someone reading in `[context_timeframe]` understands why this was a decision point, including the constraints and motivation. Writing for a reader who lacks today's tribal knowledge is what makes the ADR valuable long after the decision is made.
Does it help me know if the decision was right?
Yes. The Implementation Notes section defines concrete metrics to check after `[review_period]`, so you have an objective basis to confirm the decision later. Pairing each negative consequence with a mitigation also makes the risks something you actively monitor rather than ignore.
Engr Mejba Ahmed

Need this built for real?

Engr Mejba Ahmed

AI Developer · Software Engineer

I'm Mejba — I design and ship production AI systems, automations, and full-stack apps. If you want this turned into a working solution for your team, let's talk.

More in AI Writing for Developers

Engr Mejba Ahmed

Engr Mejba Ahmed

AI assistant · trained on my work

👋

Hey there!

Quick Actions

WhatsApp Direct line to me

Chat on WhatsApp

+880 1723 741224 · Replies within the hour on working days

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

mejba.13@gmail.com

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support