adr-generator

adr-generator is an agent for coding agents from rvdbreemen/adr-kit. It costs 86 tokens per session (3,827 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

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

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.

agentmods
npx agentmods add agents/rvdbreemen/adr-kit/adr-generator
Clone the repo
git clone --depth 1 https://github.com/rvdbreemen/adr-kit

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.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.svg" alt="Measured on agentmods" height="20"></a>
Per session 86 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,827 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00086 $0.03827
Opus 5 $0.00043 $0.01913
Sonnet 5 $0.00017 $0.00765
Haiku 4.5 $0.00009 $0.00383

Measured 4d ago against content hash 45730cc76768, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 4d 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 · 338 lines

How it starts

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

ADR Generator

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 · 338 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. 4d 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 (5 stars, last pushed 8d ago), licensed MIT. It adds 86 tokens to every session and 3,827 once invoked, about $0.0004 per session on Opus 5. 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.