Get the FREE Ultimate OpenClaw Setup Guide →

adr-quality

npx machina-cli add skill zircote/adr/adr-quality --openclaw
Files (1)
SKILL.md
6.6 KB

ADR Quality

This skill provides guidance on creating, evaluating, and maintaining high-quality Architectural Decision Records. Quality ADRs are clear, complete, and useful for future readers.

Quality Criteria

The 5 C's of ADR Quality

CriterionDefinitionQuestions to Ask
ClearEasy to understandCan a new team member understand this?
CompleteAll relevant informationAre all sections filled out meaningfully?
ConciseNo unnecessary contentIs every sentence adding value?
ContextualSufficient backgroundIs the "why" clear?
CurrentReflects actual stateIs the status accurate? Are links valid?

Essential Quality Checks

Title Quality

Good titles are:

  • Specific and searchable
  • Action-oriented (verb + noun)
  • Not too broad or too narrow
QualityExample
Good"Use PostgreSQL for primary data storage"
Good"Adopt event-driven architecture for order processing"
Bad"Database"
Bad"Technical decision about which database to use for storing user data"

Context Quality

Context should answer:

  • What problem are we solving?
  • What is the current state?
  • What constraints exist?
  • Who are the stakeholders?

Good context example:

Our e-commerce platform needs to handle user authentication across
mobile and web applications. Currently, authentication is handled
separately in each app, leading to inconsistent security and duplicate
code. We have 50,000 active users and expect 10x growth in 2 years.
The team has experience with OAuth but not SAML.

Decision Drivers Quality

Drivers should be:

  • Specific (not "performance" but "sub-100ms response time")
  • Prioritized or weighted
  • Traceable to stakeholder needs
  • Testable or measurable

Options Quality

Each option should have:

  • Clear description
  • Genuine consideration (not straw man)
  • Fair pros and cons analysis
  • Sufficient detail for comparison

Decision Quality

The decision should:

  • State the choice clearly
  • Connect to decision drivers
  • Explain why other options were rejected
  • Be actionable

Consequences Quality

Consequences should include:

  • Both positive and negative outcomes
  • Accepted trade-offs
  • Risks and mitigations
  • Future implications

Quality Anti-Patterns

Common Problems to Avoid

Anti-PatternDescriptionFix
Thin ContextJust problem statement, no backgroundAdd current state, constraints, stakeholders
Missing Trade-offsOnly benefits listedDocument negatives of chosen option
Straw Man OptionsOptions included just to rejectOnly include seriously considered alternatives
Vague DriversGeneric terms like "performance"Add specific, measurable criteria
Orphan ADRsNo links to related decisionsAdd supersedes/relates-to links
Stale StatusStatus doesn't reflect realityUpdate status when state changes
Hindsight BiasWritten long after decisionCreate ADRs during decision process

Red Flags in ADR Review

  • Only one option considered
  • No cons listed for chosen option
  • Context is single sentence
  • Decision drivers are vague
  • No stakeholders mentioned
  • Status hasn't been updated in months
  • Superseded ADRs not updated

Quality Review Process

Self-Review Checklist

Before submitting an ADR:

Completeness

  • All sections have meaningful content
  • No placeholder text remaining
  • Links and references work
  • Related ADRs linked

Clarity

  • Readable by someone not involved in decision
  • Acronyms defined
  • Technical terms explained
  • Structure aids understanding

Accuracy

  • Facts are verifiable
  • Options fairly presented
  • Trade-offs honestly stated
  • Status reflects actual state

Peer Review Guidelines

When reviewing ADRs:

  1. Read for understanding first - Can you understand the decision without extra context?
  2. Check decision drivers - Are they complete and prioritized?
  3. Evaluate options - Were alternatives seriously considered?
  4. Assess consequences - Are trade-offs clearly stated?
  5. Consider future readers - Will this make sense in 6 months?

Review Questions

Ask these during review:

  • "What problem does this solve?"
  • "Why was this option chosen over alternatives?"
  • "What trade-offs are we accepting?"
  • "When should this decision be revisited?"

Writing Quality Guidelines

Language and Tone

  • Use active voice
  • Be specific, not vague
  • Avoid unnecessary jargon
  • Write for future readers

Good: "We chose PostgreSQL for its strong JSON support" Bad: "The database was selected based on various factors"

Structure and Formatting

  • Use consistent heading levels
  • Include tables for comparisons
  • Use bullet points for lists
  • Keep paragraphs focused

Length Guidelines

SectionRecommended Length
Title5-15 words
Context100-300 words
Decision Drivers3-8 items
Options2-5 options, 50-150 words each
Decision50-150 words
Consequences100-300 words

Maintaining Quality Over Time

Regular Audits

Periodically review ADRs for:

  • Outdated information
  • Incorrect status
  • Broken links
  • Missing relationships
  • Decisions that should be revisited

Status Hygiene

Keep status current:

  • Update to deprecated when appropriate
  • Link superseding ADRs
  • Remove or archive truly obsolete ADRs

Documentation Integration

Ensure ADRs connect to:

  • Architecture documentation
  • README files
  • Code comments where relevant
  • Onboarding materials

Quality Metrics

ADR Health Indicators

MetricGoodConcerningCritical
Sections completed>90%70-90%<70%
Options considered2-51 or >50
Consequences documentedBoth +/-Only +None
Status currencyUpdated monthlyQuarterly>6 months
Links working100%>90%<90%

Additional Resources

Related Skills

  • adr-fundamentals - ADR basics and lifecycle
  • adr-decision-drivers - Identifying and documenting drivers
  • adr-compliance - Auditing code compliance with ADRs
  • adr-format-madr - MADR format specifics for quality templates

Source

git clone https://github.com/zircote/adr/blob/main/skills/adr-quality/SKILL.mdView on GitHub

Overview

ADR Quality provides guidance for creating, evaluating, and maintaining high-quality Architectural Decision Records. It emphasizes clarity, completeness, conciseness, contextual background, and current accuracy, supported by explicit checks and anti-patterns to avoid.

How This Skill Works

Teams apply the 5 C's (Clear, Complete, Concise, Contextual, Current) to each ADR. They follow essential quality checks for title, context, drivers, options, decision, and consequences, while watching for anti-patterns and red flags to guide review and ongoing maintenance.

When to Use It

  • When creating a new ADR and drafting a precise, action-oriented title.
  • When reviewing an existing ADR to ensure completeness, accuracy, and link validity.
  • When evaluating decision drivers and options with measurable criteria.
  • When updating ADRs to reflect changes in status or related decisions.
  • When identifying anti-patterns or red flags before publication or merge.

Quick Start

  1. Step 1: Identify the decision and draft a concise, action-oriented title.
  2. Step 2: Populate context, drivers, options, and a clear decision with consequences.
  3. Step 3: Run the Self-Review Checklist and iterate until all checks pass.

Best Practices

  • Write specific, searchable, action-oriented titles.
  • Provide complete context: problem, current state, constraints, and stakeholders.
  • Define measurable decision drivers that are traceable to needs.
  • Describe all viable options with fair pros/cons and supporting evidence.
  • Document consequences, risks, mitigations, and future implications; keep ADRs current and linked.

Example Use Cases

  • Use PostgreSQL for primary data storage
  • Adopt event-driven architecture for order processing
  • Database
  • Technical decision about which database to use for storing user data
  • Context example: Our e-commerce platform needs to handle user authentication across mobile and web applications. Currently, authentication is handled separately in each app, leading to inconsistency and duplicate code. We have 50,000 active users and expect 10x growth in 2 years. The team has experience with OAuth but not SAML.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers