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 skills add mbeacom/adrkit --skill decision-memorygit clone --depth 1 https://github.com/mbeacom/adrkitWrote 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.
[](https://agentmods.dev/skills/mbeacom/adrkit/decision-memory)<a href="https://agentmods.dev/skills/mbeacom/adrkit/decision-memory"><img src="https://agentmods.dev/badge/skills/mbeacom/adrkit/decision-memory/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.
<a href="https://agentmods.dev/skills/mbeacom/adrkit/decision-memory"><img src="https://agentmods.dev/badge/skills/mbeacom/adrkit/decision-memory.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Memory Poisoning · line 150 Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.Fix: Protect agent memory and state from modification by untrusted content. Use read-only memory for critical instructions and validate all state changes.
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.02258 |
| Opus 5.5 | $0.00028 | $0.00903 |
| Sonnet 5.5 | $0.00014 | $0.00452 |
| Haiku 4.5 | $0.00007 | $0.00226 |
Grade A, and why
decision-memory 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 14d 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 — 206 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Decision memory
A repository's architecture decisions are usually written down once and then never read again, so every new plan re-litigates settled questions and every review discovers the conflict late. This skill closes that loop: read the decision record before planning, check the produced plan against it, and write a new record when the plan actually decides something.
The corpus is markdown with typed frontmatter under docs/adr (override with
ADRKIT_DIR). Records carry a status, affects matchers binding them to code
paths, and supersession edges.
The load-bearing idea
A decision you cannot find is a decision you will make again. Three failure modes follow, and each step below exists to prevent one:
- Planning against decisions nobody loaded → re-litigation.
- Treating a
proposeddecision as settled → planning on an open question. - Ignoring
rejectedandsupersededrecords → re-proposing something the team already tried and abandoned.
Retrieval: prefer the MCP tools, fall back to the CLI
If the adrkit MCP server is connected, use its tools — they are read-only and
already scoped to this repository:
| Tool | Use it for |
|---|---|
search_decisions |
Filtered search across the corpus, including status: ["rejected"] |
get_decision |
One record by id |
get_decision_context(files[]) |
The decisions governing a set of files |
list_superseded |
Records with status: superseded — only those |
list_superseded is narrower than the word "graveyard" suggests: it returns
records whose status is superseded and never returns a rejected one. Use
search_decisions with status: ["rejected"] for the "did we already rule this
out?" check. Reaching for list_superseded there gets you a well-formed, empty
answer and a re-proposed decision the team already rejected.
If the server is not connected, every retrieval below has a CLI equivalent. Do not silently skip the step because the tools are absent.
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.
- 14d ago Changed dcc8d2782143
- 15d ago Changed aa73322b3aa0
- 16d ago Changed 3196b98533fc
- 1mo ago Changed · +6 lines 4934473df993
- 1mo ago First seen · 200 lines · 71 tokens per session scan A aa693280f866
decision-memory is a skill published in the GitHub repository mbeacom/adrkit (21 stars, last pushed yesterday), licensed Apache-2.0. It adds 71 tokens to every session and 2,258 once invoked, about $0.0003 per session on Opus 5.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-30.
Other skills, from other repositories
index-atlas
Run ContextAtlas extraction inside Claude Code session (subscription-bounded; no Anthropic API key needed). Walks ADRs + source-symbol docstrings + filtered commit messages via contextatlas list-extraction-sources and extracts architectural claims via per-source iteration discipline. Persists to…
refresh-atlas
Tier 1 incremental claim refresh for ContextAtlas. Re-extracts claims for the sources in the pending queue only (changed ADRs, changed docstring files, new filtered commits), then runs the Skill-path gates. Runs headless through contextatlas refresh-claims (subscription-bounded; no API key) or by hand in a Claude Code…
prime-atlas
Prime your Claude Code session with ContextAtlas tools substrate at the start of each session in a ContextAtlas-configured repo. Verifies the MCP connection by probing the atlas + introduces the three MCP tools (getsymbolcontext, findbyintent, impactofchange) with when-to-use guidance. Run this once per session before…
capture
Capture a technical discussion or meeting summary into the team's wherefore log. Use whenever the user wants to log, record, save, or archive the outcome of a discussion, Slack huddle, design conversation, standup, or meeting, including when they paste a raw or AI-generated summary and say things like "log this", "add…
ask
Answer questions about past technical discussions, user stories, and why things were implemented a certain way by searching the team's wherefore log. Use this whenever the user asks why a feature was built the way it was, what was decided about a particular user story, topic, or component, or wants to recall an…
init-workspace-documentation
Skill "init-workspace-documentation" from griddynamics/rosetta, covering agent memory.md, agent memory, preventive rules, what worked and what failed.