Skip to content
Development
Skill

/architecture-decision-records

Use when a significant architectural choice is being finalized, revisited, or reversed -- technology selection, structural patterns, or trade-offs that future maintainers or agents might unknowingly undo.

From plugin
agent-powerups
6113 skills46 agents54 commands
Install
$ npx -y skills add yeaight7/agent-powerups --skill architecture-decision-records --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/architecture-decision-records

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when a significant architectural choice is being finalized, revisited, or reversed -- technology selection, structural patterns, or trade-offs that future maintainers or agents might unknowingly undo.

SKILL.md

architecture-decision-records.SKILL.md
name: architecture-decision-records
description: Use when a significant architectural choice is being finalized, revisited, or reversed -- technology selection, structural patterns, or trade-offs that future maintainers or agents might unknowingly undo.

Purpose

Code tells you *how* a system works. ADRs tell you *why* it works that way, preventing future maintainers (and AI agents) from suggesting "improvements" that were already tried and discarded.

When to Use

  • Finalizing a major design decision (e.g., "Choosing Postgres over MongoDB", "Using custom event bus over Redis")
  • Reversing or superseding a previous decision
  • A reviewer or agent proposes a change that contradicts an existing constraint

Inputs

  • The decision, the alternatives considered, and the constraints that drove it
  • The ADR directory (conventionally docs/adr/)

Workflow

1. **Check for an existing ADR first** — the decision may already be recorded or superseded:

   ls docs/adr/                          # existing records
   rg -ln "<topic keyword>" docs/adr/    # is this decision already covered?

2. **Create the record** at `docs/adr/YYYY-MM-DD-<short-title>.md` — date-prefixed for ordering, kebab-case title.

3. **Fill the structure** — keep it under 300 words; focus on constraints, not theory:

   # <Decision title>

   ## Status
   Accepted | Superseded by <newer ADR filename>

   ## Context
   What is the problem? What constraints apply?

   ## Decision
   What are we doing?

   ## Consequences
   What trade-offs are we accepting? What becomes harder?

4. **Handle supersession explicitly.** When reversing a decision, do NOT edit history: write a new ADR, mark the old one "Superseded by" with a link to the new file, and state what changed.

5. **Link from where the decision bites** — a one-line pointer near the affected module or in the architecture doc, so the *why* is discoverable from the *how*.

Output

  • A dated ADR file with Status / Context / Decision / Consequences
  • Superseded ADRs updated with forward links — never deleted or rewritten

Verification

  • [ ] File saved under docs/adr/ with a date-prefixed kebab-case name
  • [ ] Status, Context, Decision, and Consequences sections all present; body under ~300 words
  • [ ] Consequences state real trade-offs, not just benefits
  • [ ] Superseded decisions marked and forward-linked, not edited or removed
  • [ ] Decision discoverable from the affected code or architecture doc

Failure Modes

  • **Retroactive rewriting** — editing an old ADR to match a new decision destroys the historical why; supersede instead.
  • **Theory essays** — pages of architecture philosophy nobody reads; constraints fit in 300 words.
  • **Consequence-free records** — a Decision without trade-offs is advocacy, not a record.
  • **Orphaned ADRs** — records nobody can find from the code they govern.
Read more
Ships withagent-powerups

Curated power-ups for coding agents: skills, slash commands, MCP configs, hooks, AGENTS.md templates, and workflows for serious software engineering. Claude Code, Codex, Antigravity CLI, Cursor and more

Get the whole plugin

Other skills on agent-powerups.