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.
npx agentmods add commands/zircote-plugins/adr/adr-searchgit clone --depth 1 https://github.com/zircote-plugins/adrWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00015 | $0.00789 |
| Opus 5 | $0.00008 | $0.00394 |
| Sonnet 5 | $0.00003 | $0.00158 |
| Haiku 4.5 | $0.00002 | $0.00079 |
Grade A, and why
adr-search 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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Search ADRs
Search Architectural Decision Records by content, status, tags, or date range.
Process
- Parse search arguments
- Build search criteria
- Search ADR files
- Rank and filter results
- Display matches with context
Argument Parsing
Supported arguments:
<query>: Text to search for in ADR content--status=<status>: Filter by status--since=<date>: ADRs created/modified since date--until=<date>: ADRs created/modified until date--tag=<tag>: Filter by tag (if tags are used)--format=<format>: Output format (default, verbose, json)
Search Modes
Full-Text Search
Search across all ADR content:
- Title
- Context
- Decision
- Consequences
- Options (if present)
Use Grep to find matches, then parse files for context.
Status Filter
Filter by decision status:
/adr-search --status=accepted
/adr-search --status=proposed
Date Range
Filter by date:
/adr-search --since=2024-01-01 # Or relative: --since=30d
/adr-search --since=30d # Last 30 days
Combined Search
Combine criteria:
/adr-search "postgresql" --status=accepted --since=90d
Search Output
Default Format
Show matches with context:
Found 3 ADRs matching "database":
ADR-0001: Use PostgreSQL for Primary Storage [accepted]
...we chose PostgreSQL as our primary **database**...
File: docs/adr/0001-use-postgresql.md
ADR-0007: Database Connection Pooling [accepted]
...the **database** connection pooling strategy...
File: docs/adr/0007-database-connection-pooling.md
ADR-0012: Database Migration Strategy [proposed]
...approach for **database** schema migrations...
File: docs/adr/0012-database-migration-strategy.md
Verbose Format
Include more context per match:
- Full title
- Status and date
- All matching excerpts
- Related ADRs
JSON Format
Structured output for tooling:
{
"query": "database",
"filters": {"status": "accepted"},
"results": [
{
"id": "0001",
"title": "Use PostgreSQL for Primary Storage",
"status": "accepted",
"file": "docs/adr/0001-use-postgresql.md",
"matches": [
{"section": "Context", "excerpt": "...primary database..."}
]
}
],
"total": 3
}
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.
- 2d ago First seen · 146 lines · 15 tokens per session scan A 316fb367a80f
adr-search is a command published in the GitHub repository zircote-plugins/adr (5 stars, last pushed 15d ago), licensed MIT. It adds 15 tokens to every session and 789 once invoked, about $0.0001 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.
Other commands, from other repositories
adr-backfill
Audit code, documentation, and history for potential architecture decisions that were never recorded, then return a deduplicated evidence report. Read-only.
adr-draft
Draft one new ADR from a current decision or a selected backfill handoff. Writes a single new record, as proposed.
adr-check
Check the current change, or a plan, against the decisions that govern it and report a verdict per decision. Read-only.
adr-queue
Show the review queue — every decision still proposed, with its SLA state — so open questions are visible before they are planned around. Read-only.
release-adr-kit
You are running the adr-kit release for version $ARGUMENTS (if empty, ask which version to release).
adr-context
Load the architecture decisions that govern the paths you are about to change, before planning against them. Read-only.