adr-generator

adr-generator is an agent for Claude Code from rvdbreemen/adr-kit. It costs 0 tokens per session (3,854 once invoked), scanned A, original, MIT.

A writing agent for creating Architecture Decision Records (ADRs), which are short documents that explain important technical choices and their trade-offs.

In plain words
What is it for?
Use it to document choices such as a new database, framework, dependency, API style, or other decision that will affect future development.
Why use it?
It helps teams preserve the reasoning behind decisions that may otherwise be forgotten or misunderstood later.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter; reads .claude/ paths.

Part of the adr-kit plugin — 17 skills, 1 command, 1 agent, 6 hooks, 1 MCP server shipped together

Good fit Use it to document choices such as a new database, framework, dependency, API style, or other decision that will affect future development.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/rvdbreemen/adr-kit/adr-generator
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/rvdbreemen/adr-kit

Made for: Claude Code.

Or install adr-kit, the plugin that ships this one along with the rest of its 17 skills, 1 command, 1 agent, 6 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for adr-generator

README.md
[![agentmods](https://agentmods.dev/badge/agents/rvdbreemen/adr-kit/adr-generator/github.svg)](https://agentmods.dev/agents/rvdbreemen/adr-kit/adr-generator)
Your own site
<a href="https://agentmods.dev/agents/rvdbreemen/adr-kit/adr-generator"><img src="https://agentmods.dev/badge/agents/rvdbreemen/adr-kit/adr-generator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for adr-generator

Your own site · 80×15
<a href="https://agentmods.dev/agents/rvdbreemen/adr-kit/adr-generator"><img src="https://agentmods.dev/badge/agents/rvdbreemen/adr-kit/adr-generator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,854 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.03854
Opus 5.5 $0.00000 $0.01542
Sonnet 5.5 $0.00000 $0.00771
Haiku 4.5 $0.00000 $0.00385

Measured 11d ago against content hash 30133b37787e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

adr-generator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/adr-generator.md · 340 lines

How it starts

The opening of the file, as written. The whole thing — 340 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ADR Generator

Reply in the language the user writes in; default to English. Keep command output, identifiers, paths, and ADR file content unchanged.

You are an expert in architectural documentation. Your job is to produce a single, complete, conforming Architecture Decision Record file at docs/adr/ADR-XXX-title.md.

You do not write code; you do not edit unrelated files. You read the existing ADR record, gather the missing context from the user or the codebase, and write the ADR.


When to Create an ADR

Not every decision needs an ADR. Use this decision tree:

Step 1: Is this a library, framework, or technology choice? → Yes: ADR needed. Example: "We use PostgreSQL instead of MongoDB."

Step 2: Is this a code pattern or architecture decision that constrains future work? → Yes: ADR needed. Example: "All API endpoints use REST, not GraphQL."

Step 3: Is this a governance or process decision affecting multiple teams? → Yes: ADR optional (recommended for decisions that outlive a sprint).

Otherwise: No ADR needed. Inline comments, PR descriptions, or commit messages suffice for implementation details.

Quick heuristics — ADR needed when:

  • The decision would surprise a new team member 6 months from now
  • Reversing it would require significant rework (>1 sprint)
  • Multiple alternatives were seriously considered

No ADR needed when:

  • It's an implementation detail invisible outside its module
  • It's a temporary workaround with a clear removal condition
  • It's covered by an existing ADR (amend that one instead)

Project Conventions

Invariant conventions:

  • Filename: ADR-XXX-kebab-case-title.md with uppercase ADR- prefix, 3-digit zero-padded number, kebab-case title.
    • Correct: ADR-001-postgresql-for-sensor-data.md, ADR-042-grpc-internal-rpc.md
    • Wrong: adr-0001-postgresql.md, ADR-1-postgresql.md, ADR-001_PostgreSQL.md
  • Frontmatter: the file starts with the invariant fields from schemas/adr-frontmatter.schema.json, including format for new records.
  • Heading: # ADR-XXX Title immediately after frontmatter.
  • Body profile: read template.profile from .adr-kit.json (madr by default) and scaffold with python bin/adr new "Title". Before honoring a user-selected alternative, run python bin/adr profiles --format json. Accept only a returned id with available: true and use its matching template. The shipped alternatives are nygard and canonical. Do not invent profile names or hand-map headings: all profiles preserve invariant Status, Status History, Related Decisions, References, and Enforcement sections.
  • Status values: Proposed, Accepted, Deprecated, Superseded by ADR-YYY, Amended by ADR-YYY. Default to Accepted if the user is documenting an already-implemented decision; default to Proposed if the choice is still up for review.
  • Date format: YYYY-MM-DD.
  • No em dashes anywhere. Use colons, periods, commas, or parentheses.
  • English unless the project explicitly uses another language for documentation.

Read the full file on GitHub · 340 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago Changed · +2 lines 30133b37787e
  2. 1mo ago First seen · 338 lines · 0 tokens per session scan A 45730cc76768

Subscribe to this mod's changes

adr-generator is an agent published in the GitHub repository rvdbreemen/adr-kit (13 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,854 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

decision-checker

Use to check a plan, diff, or set of changed paths against the architecture decisions that govern them, and get a per-decision verdict. Read-only; never writes a record.

mbeacom/adrkit · 41 tokens

adr-author

Use this agent proactively when architectural decisions are being discussed in conversation. This agent detects keywords and patterns indicating architectural discussions and suggests capturing decisions as ADRs. Examples: Context: User is discussing which database to use for a new feature. user: "Should we use…

zircote-plugins/adr · 327 tokens

adr-compliance

Use this agent proactively to audit code changes against accepted Architectural Decision Records. This agent checks if implementation follows documented architectural decisions and flags violations. Examples: Context: User has written code that might conflict with an accepted ADR. user: "I just implemented the new…

zircote-plugins/adr · 266 tokens

adr-researcher

Use this agent when researching context, options, or best practices for an architectural decision. This agent analyzes the codebase and searches the web to gather information for ADR authoring. Examples: Context: User needs to research options for a new ADR. user: "I need to write an ADR about choosing a message…

zircote-plugins/adr · 282 tokens

alchemist

Creative technologist who sees the browser as an unexplored physics engine. Consult when building UI that needs to feel alive - scroll-driven reveals, morphing transitions, spatial animation systems, anything where the interaction itself IS the product. Thinks in weight, tension, and breath before thinking in code.…

drobins25/craft · 355 tokens

arckit-gov-landscape

Use this agent when the user wants to understand what UK government has built in a domain — mapping organisations, technology patterns, standards, and maturity levels. Examples: Context: User wants to understand the government landscape for a domain user: "/arckit:gov-landscape Map the government landscape for health…

tractorjuice/arc-kit · 320 tokens