agentleFS
patonkikhpatonkikh/APES/skills/architecture/adr-generator/skill.md

adr-generator

Skill3 starsChanged 4 months agoMITView on GitHub

Create Architecture Decision Records (ADRs) for significant technical decisions using the Michael Nygard format with structured context, options, and consequences. Use when working on architecture decision records, ADRs, technical decisions.

7 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create Architecture Decision Records (ADRs) for significant technical decisions using the Michael Nygard format with structured context, …

    line 14
  2. Distinctive:

    Write for future team members who lack current context.

    line 123

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
skill.md

ADR Generator

Purpose

Create Architecture Decision Records (ADRs) for significant technical decisions using the Michael Nygard format with structured context, options, and consequences.

Input: Decision topic, architectural context, options considered (optional)
Output: ADR document ready for docs/adr/ with status, context, decision, and consequences References: See references.md for domain cheat sheets. Examples: See examples.md for worked input/output.


Workflow

Step 1: Frame the decision

Identify:

  • Decision title (short, specific)
  • Status: Proposed | Accepted | Deprecated | Superseded
  • Date and deciders
  • What question this ADR answers

Step 2: Write context

Describe:

  • Business and technical forces at play
  • Constraints (time, team, compliance, budget)
  • Quality attributes affected
  • Why a decision is needed now

Step 3: Document considered options

For each option (minimum 2):

OptionDescriptionProsCons

Include "do nothing" or "defer" if applicable.

Step 4: Record the decision

State the chosen option clearly:

"We will [action] because [rationale tied to drivers]."

Step 5: Document consequences

Positive:

  • Benefits of this decision

Negative:

  • Trade-offs and accepted downsides

Neutral:

  • Side effects requiring monitoring

Step 6: Add compliance and follow-up

  • Related ADRs (supersedes, relates to)
  • Review date
  • Implementation notes

Step 7: Validate

Run Validation checklist.


Decision Rules

ConditionAction
Only one option consideredResearch and add at least one alternative
Decision is trivial/reversibleRecommend skipping ADR; document in PR instead
Decision already made without documentationWrite ADR as Accepted with retrospective context
Options lack trade-off analysisComplete pros/cons before recording decision
Supersedes existing ADRLink to prior ADR; update prior status to Superseded

Validation

  • Title is specific and actionable
  • Status field present
  • Context explains forces and constraints
  • ≥2 options with pros/cons
  • Decision statement is unambiguous
  • Positive and negative consequences listed
  • Related ADRs linked if applicable
  • Follows Nygard ADR structure

Anti-patterns

  • ADR as design doc — entire architecture in one ADR.
  • No alternatives — single option without comparison.
  • Vague decision — "we will use best practices."
  • Missing consequences — only listing benefits.
  • Stale ADRs — not marking superseded decisions.

Best Practices

  • One decision per ADR.
  • Number sequentially: 0001, 0002...
  • Write for future team members who lack current context.
  • Link to solution architecture drivers.
  • Set review date for reversible decisions (6–12 months).

Output Structure

# ADR NNNN: [Short Title]

**Status:** Proposed | Accepted | Deprecated | Superseded by ADR-XXXX
**Date:** YYYY-MM-DD
**Deciders:** [names or roles]

## Context
[Forces, constraints, why now]

## Decision Drivers
- [Driver 1]
- [Driver 2]

## Considered Options
### Option 1: [Name]
[Description]
| Pros | Cons |
|------|------|

### Option 2: [Name]
[Description]
| Pros | Cons |
|------|------|

## Decision
We will **[chosen option]** because **[rationale]**.

## Consequences
### Positive
- [Benefit]

### Negative
- [Trade-off]

### Neutral
- [Side effect]

## Related ADRs
- [Link]

## Review Date
[Date]

Next Skills

OutcomeRecommended Skill
Review architecture with ADRsarchitecture/architecture-review
Update container diagramarchitecture/container-diagram-builder
More decisions to documentarchitecture/adr-generator
Solution needs revisionarchitecture/solution-architecture

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.