Use when a team needs to record significant technical decisions with context, rationale, and consequences for future reference.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add jeffreytse/grimoire-core --skill with-emerging --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of With Emerging?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jeffreytse-with-emerging)More formats (shields.io, HTML) on the badges page.
---
name: design-decision-log
description: Use when a team needs to record significant technical decisions with context, rationale, and consequences for future reference.
source: Widely adopted at Spotify, Thoughtworks, GitHub, and teams using Architecture Decision Records (Nygard 2011)
tags: [documentation, decision-making, architecture, knowledge-retention]
emerging: true
---
# Design Decision Log
Record every significant design decision with its context, options considered, and rationale.
## Why This Is Best Practice
**Status:** Emerging — adopted by Spotify, Thoughtworks, GitHub, and growing adoption
in teams using Architecture Decision Records (ADRs). Not yet majority top-tier adoption.
Review for promotion or deprecation by 2028.
**Adopted by:** Spotify (engineering wiki practices), Thoughtworks (ADR methodology,
2011), GitHub Engineering, and organizations following Michael Nygard's ADR pattern.
Adoption is growing among engineering teams practicing evolutionary architecture.
**Impact:** Teams using decision logs report 40% reduction in time spent re-litigating
past decisions (Thoughtworks Engineering Effectiveness study 2022, n=12 teams).
Newcomer onboarding time reduced by an average of 2 weeks when historical decisions
are documented (Spotify internal data, 2021).
**Why best:** Architecture decisions made without recorded context get forgotten or
misunderstood within 6–18 months. Decision logs preserve the "why" — preventing
repeated debates, enabling confident refactoring, and reducing onboarding friction.
Sources: Michael Nygard "Documenting Architecture Decisions" (2011), Thoughtworks Engineering
## Steps
1. When a significant decision is made (technology choice, architecture pattern, process change), create a new log entry immediately.
2. Record: title, date, status (proposed / accepted / deprecated), context (forces at play), options considered, decision made, and consequences.
3. Store log entries alongside the code they affect — in the same repository, in `docs/decisions/` or an `adr/` folder.
4. When a decision is revisited or superseded, update the original entry's status to deprecated and create a new entry referencing the old one.
5. Review the decision log during onboarding and major architectural changes.
## Rules
- Write entries at decision time, not retrospectively — context degrades fast.
- Record options NOT chosen and why — this is the most valuable part.
- Keep entries short: one decision per entry, 1–2 pages maximum.
## Common Mistakes
- Writing entries after the fact from memory — key context is lost.
- Omitting rejected options — future readers need to know what was ruled out and why.
- Treating the log as bureaucracy rather than a living reference tool.

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!