Skill Tracer
Skills › Scientific Agent Skills › markdown-mermaid-writing › decision_record.md

decision_record.md

213 lines · skills/markdown-mermaid-writing/templates/decision_record.md at 5f2bc03

Open on GitHub
1<!-- Source: https://github.com/SuperiorByteWorks-LLC/agent-project | License: Apache-2.0 | Author: Clayton Young / Superior Byte Works, LLC (Boreal Bytes) -->
2
3# Decision Record (ADR/RFC) Template
4
5> **Back to [Markdown Style Guide](../references/markdown_style_guide.md)** — Read the style guide first for formatting, citation, and emoji rules.
6
7**Use this template for:** Architecture Decision Records (ADRs), Requests for Comment (RFCs), technical design documents, or any decision that needs to be documented with its context, options considered, and rationale. Designed so that future teams understand not just _what_ was decided, but _why_ — and can evaluate whether the decision still holds.
8
9**Key features:** Structured options comparison with explicit tradeoffs, decision matrix, consequences section that captures both benefits and risks, and status tracking for the decision lifecycle.
11**Philosophy:** Decisions rot faster than code. Six months from now, someone will ask "why did we do it this way?" If the answer is "nobody remembers," the decision is as good as random. This template makes the reasoning permanent, searchable, and evaluable. It also forces the author to genuinely consider alternatives — if you can't articulate why you rejected Option B, you haven't done enough analysis.
13---

<!-- Source: https://github.com/SuperiorByteWorks-LLC/agent-project | License: Apache-2.0 | Author: Clayton Young / Superior Byte Works, LLC (Boreal Bytes) -->

Decision Record (ADR/RFC) Template

Back to Markdown Style Guide — Read the style guide first for formatting, citation, and emoji rules.

Use this template for: Architecture Decision Records (ADRs), Requests for Comment (RFCs), technical design documents, or any decision that needs to be documented with its context, options considered, and rationale. Designed so that future teams understand not just what was decided, but why — and can evaluate whether the decision still holds.

Key features: Structured options comparison with explicit tradeoffs, decision matrix, consequences section that captures both benefits and risks, and status tracking for the decision lifecycle.

Philosophy: Decisions rot faster than code. Six months from now, someone will ask "why did we do it this way?" If the answer is "nobody remembers," the decision is as good as random. This template makes the reasoning permanent, searchable, and evaluable. It also forces the author to genuinely consider alternatives — if you can't articulate why you rejected Option B, you haven't done enough analysis.


Raw lines 1 to 14
15## How to Use
171. Copy this file to your project's `docs/decisions/` or `adr/` directory
182. Name it sequentially: `001-use-postgresql-over-mongodb.md`
193. Replace all `[bracketed placeholders]` with your content
204. **Present options honestly** — don't set up straw men just to knock them down
215. Add [Mermaid diagrams](../references/mermaid_style_guide.md) for architecture comparisons, data flow changes, or migration paths
23---

How to Use

  1. Copy this file to your project's docs/decisions/ or adr/ directory
  2. Name it sequentially: 001-use-postgresql-over-mongodb.md
  3. Replace all [bracketed placeholders] with your content
  4. Present options honestly — don't set up straw men just to knock them down
  5. Add Mermaid diagrams for architecture comparisons, data flow changes, or migration paths

Raw lines 15 to 24
25## The Template
27Everything below the line is the template. Copy from here; commands, API routes,
28versions, thresholds, and numerical values are illustrative placeholders. Verify them
29against the actual project before publishing. Follow its existing tracker and PR conventions.
31---
33# [ADR-NNN]: [Decision Title — Clear and Specific]
35| Field | Value |
36| ------------------- | ---------------------------------------------------------- |
37| **Status** | [Proposed / Accepted / Deprecated / Superseded by ADR-NNN] |
38| **Date** | [YYYY-MM-DD] |
39| **Decision makers** | [Names or roles] |
40| **Consulted** | [Who was asked for input] |
41| **Informed** | [Who needs to know the outcome] |
43---

The Template

Everything below the line is the template. Copy from here; commands, API routes, versions, thresholds, and numerical values are illustrative placeholders. Verify them against the actual project before publishing. Follow its existing tracker and PR conventions.


[ADR-NNN]: [Decision Title — Clear and Specific]

FieldValue
Status[Proposed / Accepted / Deprecated / Superseded by ADR-NNN]
Date[YYYY-MM-DD]
Decision makers[Names or roles]
Consulted[Who was asked for input]
Informed[Who needs to know the outcome]

Raw lines 25 to 44
45## 📋 Context

📋 Context

Raw lines 45 to 46
47### What prompted this decision?
49[Describe the situation that requires a decision. What changed? What problem emerged? What opportunity appeared? Be specific — include metrics, incidents, or user feedback that triggered this.]

What prompted this decision?

[Describe the situation that requires a decision. What changed? What problem emerged? What opportunity appeared? Be specific — include metrics, incidents, or user feedback that triggered this.]

Raw lines 47 to 50
51### Current state
53[How things work today. What architecture, tool, or process is currently in place. Include a diagram if it helps.]
55```mermaid
56flowchart LR
57 accTitle: Current State Architecture
58 accDescr: How the system works today before this decision is implemented
60 a[⚙️ Current component] --> b[💾 Current dependency]
61 b --> c[📤 Current output]
62```

Current state

[How things work today. What architecture, tool, or process is currently in place. Include a diagram if it helps.]

flowchart LR
    accTitle: Current State Architecture
    accDescr: How the system works today before this decision is implemented

    a[⚙️ Current component] --> b[💾 Current dependency]
    b --> c[📤 Current output]
Raw lines 51 to 63
64### Constraints
66- **[Constraint 1]:** [Budget, timeline, team size, compliance requirement, etc.]
67- **[Constraint 2]:** [Technical constraint, backward compatibility, SLA, etc.]
68- **[Constraint 3]:** [Organizational constraint, vendor lock-in, skills gap, etc.]

Constraints

  • [Constraint 1]: [Budget, timeline, team size, compliance requirement, etc.]
  • [Constraint 2]: [Technical constraint, backward compatibility, SLA, etc.]
  • [Constraint 3]: [Organizational constraint, vendor lock-in, skills gap, etc.]
Raw lines 64 to 69
70### Requirements
72This decision must:
74- [ ] [Requirement 1 — specific and measurable]
75- [ ] [Requirement 2]
76- [ ] [Requirement 3]
78---

Requirements

This decision must:

  • [ ] [Requirement 1 — specific and measurable]
  • [ ] [Requirement 2]
  • [ ] [Requirement 3]

Raw lines 70 to 79
80## 🔍 Options Considered

🔍 Options Considered

Raw lines 80 to 81
82### Option A: [Name]
84**Description:** [What this option entails — 2–3 sentences]
86**Pros:**
88- [Specific benefit with evidence if available]
89- [Another benefit]
91**Cons:**
93- [Specific drawback with impact assessment]
94- [Another drawback]
96**Estimated effort:** [T-shirt size or days/weeks]
97**Estimated cost:** [If relevant — licensing, infrastructure, personnel]

Option A: [Name]

Description: [What this option entails — 2–3 sentences]

Pros:

  • [Specific benefit with evidence if available]
  • [Another benefit]

Cons:

  • [Specific drawback with impact assessment]
  • [Another drawback]

Estimated effort: [T-shirt size or days/weeks] Estimated cost: [If relevant — licensing, infrastructure, personnel]

Raw lines 82 to 98
99### Option B: [Name]
101**Description:** [What this option entails]
103**Pros:**
105- [Benefit]
106- [Benefit]
108**Cons:**
110- [Drawback]
111- [Drawback]
113**Estimated effort:** [Estimate]
114**Estimated cost:** [If relevant]

Option B: [Name]

Description: [What this option entails]

Pros:

  • [Benefit]
  • [Benefit]

Cons:

  • [Drawback]
  • [Drawback]

Estimated effort: [Estimate] Estimated cost: [If relevant]

Raw lines 99 to 115
116### Option C: [Name] _(if applicable)_
118**Description:** [What this option entails]
120**Pros:**
122- [Benefit]
124**Cons:**
126- [Drawback]
128**Estimated effort:** [Estimate]

Option C: [Name] (if applicable)

Description: [What this option entails]

Pros:

  • [Benefit]

Cons:

  • [Drawback]

Estimated effort: [Estimate]

Raw lines 116 to 129
130### Decision matrix
132| Criterion | Weight | Option A | Option B | Option C |
133| --------------------------------------- | -------------- | ------------------- | -------- | -------- |
134| [Criterion 1 — e.g., Performance] | [High/Med/Low] | [Score or ✅/⚠️/❌] | [Score] | [Score] |
135| [Criterion 2 — e.g., Team expertise] | [Weight] | [Score] | [Score] | [Score] |
136| [Criterion 3 — e.g., Migration effort] | [Weight] | [Score] | [Score] | [Score] |
137| [Criterion 4 — e.g., Long-term cost] | [Weight] | [Score] | [Score] | [Score] |
138| [Criterion 5 — e.g., Community/support] | [Weight] | [Score] | [Score] | [Score] |
140---

Decision matrix

CriterionWeightOption AOption BOption C
[Criterion 1 — e.g., Performance][High/Med/Low][Score or ✅/⚠️/❌][Score][Score]
[Criterion 2 — e.g., Team expertise][Weight][Score][Score][Score]
[Criterion 3 — e.g., Migration effort][Weight][Score][Score][Score]
[Criterion 4 — e.g., Long-term cost][Weight][Score][Score][Score]
[Criterion 5 — e.g., Community/support][Weight][Score][Score][Score]

Raw lines 130 to 141
142## 🎯 Decision
144**We chose Option [X]: [Name].**
146[2–3 sentences explaining the core rationale. What tipped the decision? Which criteria mattered most and why?]

🎯 Decision

We chose Option [X]: [Name].

[2–3 sentences explaining the core rationale. What tipped the decision? Which criteria mattered most and why?]

Raw lines 142 to 147
148### Why not the others?
150- **Option [Y] was rejected because:** [Specific reason — not "it wasn't good enough" but "the migration effort would take 3 sprints and delay the Q2 launch"]
151- **Option [Z] was rejected because:** [Specific reason]
153---

Why not the others?

  • Option [Y] was rejected because: [Specific reason — not "it wasn't good enough" but "the migration effort would take 3 sprints and delay the Q2 launch"]
  • Option [Z] was rejected because: [Specific reason]

Raw lines 148 to 154
155## ⚡ Consequences

⚡ Consequences

Raw lines 155 to 156
157### Positive
159- [Benefit 1 — what improves, with expected impact]
160- [Benefit 2]

Positive

  • [Benefit 1 — what improves, with expected impact]
  • [Benefit 2]
Raw lines 157 to 161
162### Negative
164- [Tradeoff 1 — what we lose or what becomes harder]
165- [Tradeoff 2]

Negative

  • [Tradeoff 1 — what we lose or what becomes harder]
  • [Tradeoff 2]
Raw lines 162 to 166
167### Risks
169| Risk | Likelihood | Impact | Mitigation |
170| -------- | -------------- | -------------- | --------------------- |
171| [Risk 1] | [Low/Med/High] | [Low/Med/High] | [How we'll handle it] |
172| [Risk 2] | [Likelihood] | [Impact] | [Mitigation] |

Risks

RiskLikelihoodImpactMitigation
[Risk 1][Low/Med/High][Low/Med/High][How we'll handle it]
[Risk 2][Likelihood][Impact][Mitigation]
Raw lines 167 to 173
174### Implementation impact
176```mermaid
177flowchart LR
178 accTitle: Post-Decision Architecture
179 accDescr: How the system will work after this decision is implemented
181 a[⚙️ New component] --> b[💾 New dependency]
182 b --> c[📤 New output]
183```
185---

Implementation impact

flowchart LR
    accTitle: Post-Decision Architecture
    accDescr: How the system will work after this decision is implemented

    a[⚙️ New component] --> b[💾 New dependency]
    b --> c[📤 New output]

Raw lines 174 to 186
187## 📋 Implementation plan
189| Step | Owner | Target date | Status |
190| -------- | ------------- | ----------- | ---------------------------------- |
191| [Step 1] | [Person/Team] | [Date] | [Not started / In progress / Done] |
192| [Step 2] | [Person/Team] | [Date] | [Status] |
193| [Step 3] | [Person/Team] | [Date] | [Status] |
195---

📋 Implementation plan

StepOwnerTarget dateStatus
[Step 1][Person/Team][Date][Not started / In progress / Done]
[Step 2][Person/Team][Date][Status]
[Step 3][Person/Team][Date][Status]

Raw lines 187 to 196
197## 🔗 References
199- Related ADR or RFC (replace with the project link)
200- [External documentation or benchmark](https://example.com)
201- Relevant issue or discussion thread (replace with the project link)
203---

🔗 References


Raw lines 197 to 204
205## Review log
207| Date | Reviewer | Outcome |
208| ------ | -------- | ----------------------------------------- |
209| [Date] | [Name] | [Proposed / Approved / Requested changes] |
211---
213_Last updated: [Date]_

Review log

DateReviewerOutcome
[Date][Name][Proposed / Approved / Requested changes]

Last updated: [Date]

Raw lines 205 to 213