agentleFS
tejastn10tejastn10/workbench/skills/planning/write-adr/SKILL.md

write-adr

Skill1 starsChanged 2 months agoMITView on GitHub

Draft an Architecture Decision Record using Tejas's template — numbered, immutable once accepted, table header, `---` dividers, emoji H2s. Capture the context and the honest trade-offs, not just the decision. Use when asked to "write an ADR", "record this decision", "document why we chose X", or after a significant technical call is made.

12 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use code-review.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 1

    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:

    Not for small, reversible choices — those live in the PR description.

    line 17

“Common” is measured: kept by at least 6 in 10 of the 12 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

Write an ADR

Fills in docs/templates/ADR.md.

When to use

  • A decision was made that is expensive to reverse (framework, datastore, protocol, boundary, auth model, build system).
  • A reviewer or a new hire keeps asking "why is it done this way?".
  • A decision is being proposed and needs written options before the call.

Not for small, reversible choices — those live in the PR description.

Process

  1. Find the next number. ADRs are sequential and zero-padded: docs/adr/0007-use-sqs-not-kafka.md. Never renumber.
  2. Write Context first, without the decision in mind. State the forces: the problem, the constraints, the requirements, the assumptions. Facts only. If the context doesn't make the decision feel necessary, the context is incomplete.
  3. State the Decision in active voice — "We will …". Specific enough to act on.
  4. List Alternatives honestly — the ones actually considered, each with a one-line "rejected because". "Do nothing" is always an alternative.
  5. Write Consequences — including the bad ones. This is the section that makes an ADR worth keeping. New risk accepted, new constraints, follow-up work.
  6. Set Status. Proposed if the call isn't final; Accepted once it is.
  7. Immutability: an Accepted ADR is not edited. To revisit, write a new ADR, set its Supersedes, and flip the old one's Status to Superseded by ADR-NNNN.

House conventions

  • Filename NNNN-kebab-slug.md, title ADR-NNNN: Title.
  • Header is a table. One --- between every section. Emoji H2s as in the template.
  • Conventional-commit: docs: add ADR-NNNN <slug> (or docs: supersede ADR-NNNN).
  • Link the ADR from the PRD or ticket that prompted it, and vice versa.

Anti-patterns

  • ❌ A Context that argues for the decision instead of describing the situation.
  • ❌ Editing an Accepted ADR to change the decision — supersede instead.
  • ❌ Consequences with only upsides.
  • ❌ Alternatives section listing options nobody actually weighed.
  • ❌ Writing an ADR for a trivially reversible choice.

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.