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.
git clone --depth 1 https://github.com/oliver-zehentleitner/keep-the-whyWrote 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/plugins/oliver-zehentleitner/keep-the-why/keep-the-why)<a href="https://agentmods.dev/plugins/oliver-zehentleitner/keep-the-why/keep-the-why"><img src="https://agentmods.dev/badge/plugins/oliver-zehentleitner/keep-the-why/keep-the-why/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/plugins/oliver-zehentleitner/keep-the-why/keep-the-why"><img src="https://agentmods.dev/badge/plugins/oliver-zehentleitner/keep-the-why/keep-the-why.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
keep-the-why 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 16d 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.
What it actually says
{
"name": "keep-the-why",
"version": "0.20.3",
"description": "Project memory for coding agents and humans: the reasoning behind a codebase as Markdown in the repo, versioned by Git, so nothing rejected is proposed twice.",
"author": {
"name": "Oliver Zehentleitner",
"url": "https://github.com/oliver-zehentleitner"
},
"homepage": "https://keepthewhy.com",
"repository": "https://github.com/oliver-zehentleitner/keep-the-why.git",
"license": "MIT",
"keywords": [
"documentation",
"context",
"decision-log",
"knowledge-management",
"onboarding",
"agents"
]
}
What it installs
The manifest is a name and a version. 1 skill travel with it, and installing the plugin installs all of them — 128 tokens a session between them. Each is measured on its own page, and each can be installed alone.
What ships with it
1 file beside plugin.json in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 16d ago Changed 4cf727bd38b2
- 25d ago Changed 7fcfbcb5877b
- 26d ago Changed f2a96faa36f8
- 1mo ago Changed 84ae176f1f42
- 1mo ago Changed 1db928e1c591
- 1mo ago Changed 883121ebf6cd
- 1mo ago Changed ec1071e9a0ab
- 1mo ago Changed 082f3e75071c
- 1mo ago Changed b040ec6e4e3a
- 1mo ago First seen · 21 lines scan A 1e40c6965459
keep-the-why is a plugin published in the GitHub repository oliver-zehentleitner/keep-the-why (234 stars, last pushed yesterday), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. 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.
keep-the-why compared with plugins from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| keep-the-whyoliver-zehentleitner/keep-the-why | Plugin | 234 | yesterday | MIT | A | — | Claude Code |
| ultracontextultracontext/ultracontext | Plugin | 440 | 11d ago | Apache-2.0 | A | — | Claude Code |
| titen-memoryRamaAditya49/titen | Plugin | 16 | yesterday | Apache-2.0 | A | — | Claude Code |
| axme-codeAxmeAI/axme-code | Plugin | 14 | 4d ago | MIT | A | — | Claude Code |
| halomemhalofyai/halofy | Plugin | 319 | 3d ago | AGPL-3.0 | A | — | Claude Code |
| memory-toolkitIlyaGorsky/memory-toolkit | Plugin | 13 | 5d ago | MIT | A | — | Claude Code |
| atomicmemoryatomicstrata/atomicmemory | Plugin | 439 | yesterday | none | A | — | Claude Code |