adr

adr is a cursor rule for Cursor from anmolnagpal/devops-skills. It costs 0 tokens per session (998 once invoked), scanned A, original, MIT.

A tool for writing Architecture Decision Records, short documents that explain an important technical choice, its alternatives, and the reasons behind it.

In plain words
What is it for?
It helps create and list decision records, explain why an option was chosen, document trade-offs, and mark an older decision as replaced.
Why use it?
It keeps the reasoning behind settled decisions near the code instead of leaving it in chat messages or people's memory.

Cursor rule for Cursor

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 rules/anmolnagpal/devops-skills/adr
Clone the repo
git clone --depth 1 https://github.com/anmolnagpal/devops-skills

Made for: Cursor.

Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 998 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.00000 $0.00998
Opus 5 $0.00000 $0.00499
Sonnet 5 $0.00000 $0.00200
Haiku 4.5 $0.00000 $0.00100

Measured 3d ago against content hash 499370b685a9, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

adr 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 3d 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.

.cursor/rules/adr.mdc · 114 lines

How it starts

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

ADR Skill

Capture architectural decisions as they happen, so the why lives next to the code instead of in a Slack thread or someone's memory. Produces lightweight ADR documents under docs/adr/.

Keywords

adr, architecture decision record, decision, rationale, trade-off, alternatives, we decided, why did we choose, design decision, supersede, decision log, nygard

When to record a decision

  • The user says "record this", "ADR this", "let's document this decision".
  • A choice is made between significant alternatives: framework, library, database, language, pattern, API shape, infra/deploy approach, build vs buy.
  • The user says "we decided to…" or "the reason we're doing X instead of Y is…".
  • The user asks "why did we choose X?" → read and summarize the existing ADR.

For trivial or easily-reversible choices, don't create an ADR — note it inline and move on.

Output Artifacts

Request Output
/adr new "<title>" A new docs/adr/NNNN-<slug>.md + an updated index
/adr list The decision log (ID, title, status, date)
/adr supersede <NNNN> A new ADR marked as superseding an old one; old one flipped to superseded

Format

Lightweight Nygard ADR, adapted for AI-assisted work:

# ADR-NNNN: <Decision Title>

**Date**: YYYY-MM-DD
**Status**: proposed | accepted | deprecated | superseded by ADR-NNNN
**Deciders**: <who was involved>

## Context

What is the issue motivating this decision? The situation, constraints, and forces at
play. 2–5 sentences.

## Decision

What we are doing. 1–3 sentences, stated clearly.

## Alternatives Considered

### <Alternative>
- **Pros**: …
- **Cons**: …
- **Why not**: the specific reason it was rejected.

(Repeat per alternative.)

## Consequences

### Positive
- …

### Negative / trade-offs
- …

### Risks
- <risk and its mitigation>

NEW — Record a decision

  1. Initialize once. If docs/adr/ does not exist, ask the user to confirm before creating it. On confirmation, create the directory, a README.md seeded with the index table header (below), and a template.md copy of the format above. Never create files without explicit consent.
  2. Number it. Next zero-padded number after the highest existing docs/adr/NNNN-*.md (start at 0001). Slug = kebab-case of the title.
  3. Fill it from the conversation — extract the decision, the context that prompted it, the alternatives actually weighed, and the consequences. Do not invent alternatives that were never discussed; if context is thin, ask one or two targeted questions.
  4. Default status accepted when the user states a decision; proposed when still weighing. Date = today.
  5. Update the index in docs/adr/README.md.

Read the full file on GitHub · 114 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. 3d ago First seen · 114 lines · 998 tokens per session scan A 499370b685a9

Subscribe to this mod's changes

adr is a cursor rule published in the GitHub repository anmolnagpal/devops-skills (8 stars, last pushed 4d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 998 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.