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/bolnet/attestor/install-attestorgit clone --depth 1 https://github.com/bolnet/attestorWrote 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/commands/bolnet/attestor/install-attestor)<a href="https://agentmods.dev/commands/bolnet/attestor/install-attestor"><img src="https://agentmods.dev/badge/commands/bolnet/attestor/install-attestor.svg" alt="Measured on agentmods" height="20"></a>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.00013 | $0.01290 |
| Opus 5 | $0.00006 | $0.00645 |
| Sonnet 5 | $0.00003 | $0.00258 |
| Haiku 4.5 | $0.00001 | $0.00129 |
Grade C, and why
install-attestor scanned grade C with 2 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 6d 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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
2. writes `~/.attestor/.env` (local passwords + the Ollama embedder route) — idempotent, `chmod 600`, never clobbers existing values, Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
| Hooks | SessionStart + PostToolUse + Stop, merged into `~/.claude/settings.json` | How it starts
The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Install Attestor for Claude Code
You are installing Attestor (PyPI: attestor, import: attestor) — a memory layer for agent teams — into the user's Claude Code setup.
This install is ZERO-QUESTION and ONE-PERMISSION by design. There is ONE default profile. You do NOT interview the user, you do NOT call AskUserQuestion, and you do NOT pause for per-setting choices. You announce the defaults, run one command, and report. Print everything; ask nothing.
Why no questions: the single command
attestor quickstartwrites the entire config from the bundled local default, brings up the backends, wires the MCP server + hooks, and runs the health check — non-interactively. Every value is fixed and printed below; there is nothing to ask. (If the user explicitly wants a cloud/custom stack, point them todocs/INSTALL.md— but the default path asks nothing.)
The single default profile (fixed — printed, never asked)
| Setting | Default |
|---|---|
| Store path | ~/.attestor |
| Document | Postgres 16 (local Docker) |
| Vector | Pinecone Local emulator @ localhost:5080 (local Docker) |
| Graph | Neo4j 5 + GDS (local Docker) |
| Embedder | Ollama bge-m3 @1024-D — local, zero cloud key |
| LLM keys | none required (add/recall work fully local) |
| Passwords | attestor (localhost-only dev default); Pinecone key local |
| Token budget | 10000 |
| MCP server | written to project ./.mcp.json as a .env-sourcing wrapper |
| Hooks | SessionStart + PostToolUse + Stop, merged into ~/.claude/settings.json |
This is the canonical three-role stack — Postgres + Pinecone + Neo4j — running locally; quickstart brings up all three containers (and skips the standalone attestor-api container, unused for the Claude Code path).
Memory is automatically isolated per project (git root, else cwd) — no namespace to set.
Step 1 — Ensure the binary (one command)
command -v attestor >/dev/null 2>&1 || pipx install attestor || python3 -m pip install --user attestor
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.
- 6d ago First seen · 83 lines · 13 tokens per session scan C e7ad2e833d28
install-attestor is a command published in the GitHub repository bolnet/attestor (14 stars, last pushed 3mo ago), licensed MIT. It adds 13 tokens to every session and 1,290 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (asks for root, reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
compact-prep
Ask the agent to prepare for conversation compaction by updating any relevant state and providing guidance for the compaction agent and to kick off the session there after.
revise-claude-md
Update CLAUDE.md with learnings from this session.
kb
Extract knowledge from the current conversation session to build the project knowledge base.
distil-shadow
Decision-equivalence report — did compression preserve your agent's next action?
learn
Extract patterns and learnings from current session.
speckit.archive
Archive a feature specification into main project memory after merge, resolving gaps and conflicts.