Get the FREE Ultimate OpenClaw Setup Guide →

adr-format-alexandrian

npx machina-cli add skill zircote/adr/adr-format-alexandrian --openclaw
Files (1)
SKILL.md
3.2 KB

Alexandrian ADR Format

The Alexandrian format is inspired by Christopher Alexander's pattern language. It emphasizes the forces influencing decisions and the resulting context after applying a solution.

About Alexandrian Format

The Alexandrian format is:

  • Pattern-oriented - Follows pattern language structure
  • Force-focused - Emphasizes competing forces
  • Context-rich - Detailed before/after context
  • Relationship-aware - Links to related patterns/decisions

Template Structure

# {NUMBER}. {TITLE}

Date: {DATE}

## Status

{STATUS}

## Context

{Background and current state}

## Problem

{Clear problem statement}

## Forces

* {Force 1}
* {Force 2}
* {Force 3}

## Solution

{Chosen solution}

## Resulting Context

### Benefits
* {Benefit 1}
* {Benefit 2}

### Drawbacks
* {Drawback 1}
* {Drawback 2}

### Related Patterns/Decisions
* {Related ADR or pattern}

Section Guide

Context

Describe the background:

  • Project state
  • Team composition
  • Organizational factors
  • Technical environment

Problem

State the problem clearly:

  • What issue needs resolution?
  • What question needs answering?
  • Frame as a specific challenge

Forces

List forces influencing the decision:

  • Technical requirements
  • Business constraints
  • Team factors
  • Organizational pressures

Forces often pull in different directions, creating tension that the decision must resolve.

Example:

## Forces

* Need for high availability (99.99% uptime SLA)
* Limited budget ($5K/month infrastructure)
* Team expertise in Kubernetes
* Requirement for data residency in EU
* Desire to minimize operational overhead

Solution

Describe the chosen solution:

  • What will be done
  • How it addresses the forces
  • Specific implementation approach

Resulting Context

Document the state after applying the solution:

Benefits - Positive outcomes achieved Drawbacks - Negative consequences accepted Related Patterns/Decisions - Connections to other ADRs or architectural patterns

When to Use Alexandrian Format

Best for:

  • Decisions with complex, competing forces
  • Pattern-oriented teams
  • Decisions requiring detailed context
  • Situations with many constraints

Consider other formats when:

  • Quick documentation needed
  • Forces are straightforward
  • Team prefers simpler templates

Alexandrian Best Practices

Documenting Forces

  • List 4-8 forces for most decisions
  • Include both technical and non-technical forces
  • Note which forces are in tension
  • Prioritize or weight forces if helpful

Resulting Context

  • Be honest about drawbacks
  • Link to decisions that address drawbacks
  • Note conditions that would trigger revisiting

Additional Resources

Templates

Template available at: ${CLAUDE_PLUGIN_ROOT}/templates/alexandrian/adr-template.md

External Resources

  • "A Pattern Language" by Christopher Alexander
  • Pattern-Oriented Software Architecture

Source

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

Overview

The Alexandrian ADR format is a pattern-oriented decision record that centers on forces influencing choices and the resulting context after applying a solution. It emphasizes context-rich documentation, explicit connections to related patterns, and a structured template to guide complex decisions.

How This Skill Works

Adopt the Alexandrian template (Number.Title, Date, Status, Context, Problem, Forces, Solution, Resulting Context, Benefits, Drawbacks, Related Patterns). Document 4–8 forces (technical and non-technical), note tensions, and describe a solution that addresses those forces. Capture the resulting context with benefits, drawbacks, and links to related decisions to close the loop.

When to Use It

  • When decisions have complex, competing forces and you need clear tradeoffs
  • When your team benefits from pattern-oriented structure and explicit linkages to related decisions
  • When a decision requires detailed context and justification beyond a brief note
  • When constraints (technical, business, or organizational) are many and interdependent
  • When quick documentation is not enough and forces are straightforward; otherwise consider lighter formats

Quick Start

  1. Step 1: Create a new ADR file named 001-<title>.md in the Alexandrian ADR folder
  2. Step 2: Fill in Context, Problem, and Forces (4–8 items) and document the Solution
  3. Step 3: Add Resulting Context with Benefits/Drawbacks and link Related Patterns

Best Practices

  • Document 4–8 forces for most decisions, including technical and non-technical factors
  • Note which forces are in tension and consider prioritizing or weighting them
  • Be explicit about how the chosen solution addresses the identified forces
  • Be honest about drawbacks in the Resulting Context and how they’re mitigated
  • Link related patterns/decisions in the Resulting Context to show interconnections

Example Use Cases

  • ADR for monolith vs microservices decision considering performance, maintainability, and team skills
  • Choosing a database technology (SQL vs NoSQL) under consistency, latency, and ops tradeoffs
  • Selecting a caching strategy (in-memory vs distributed) balancing speed, cost, and complexity
  • Deployment approach (blue/green vs canary) with downtime, rollback, and risk considerations
  • Data residency/compliance pattern across regions with sovereignty, latency, and vendor lock-in

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers