Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/bolnet/attestornpx agentmods add commands/bolnet/attestor/uninstall-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/uninstall-attestor)<a href="https://agentmods.dev/commands/bolnet/attestor/uninstall-attestor"><img src="https://agentmods.dev/badge/commands/bolnet/attestor/uninstall-attestor/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/commands/bolnet/attestor/uninstall-attestor"><img src="https://agentmods.dev/badge/commands/bolnet/attestor/uninstall-attestor.svg" alt="Reviewed on agentmods" width="80" 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.01726 |
| Opus 5 | $0.00006 | $0.00863 |
| Sonnet 5 | $0.00003 | $0.00345 |
| Haiku 4.5 | $0.00001 | $0.00173 |
Grade D, and why
uninstall-attestor scanned grade D 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 9d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
echo "[3] wiring:" ; for f in ~/.claude/settings.json ~/.claude/.mcp.json ~/.claude.json ./.claude/settings.json ./.mcp.json; do echo " $f"; grep -o '"attestor"\|attestor hook' "$f" 2>/dev/null | sort -u | sed 's/^/ /'; Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf ~/.attestor How it starts
The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Uninstall Attestor from Claude Code
You are completely uninstalling Attestor (PyPI: attestor) from this machine. This prompt is the source of truth — drive the whole uninstall yourself by following it. (scripts/attestor_uninstall.py exists only as a test/reference of the same procedure; you don't need it.)
A full install touches six surfaces — reverse each, in this order. Scan first, report, then act. Destructive steps (data deletion) need explicit confirmation; config/wiring removal does not.
Quick path (one command — recommended if installed via attestor quickstart)
attestor teardown # removes containers + ~/.attestor + MCP entry + hooks (KEEPS data volumes)
attestor teardown --purge # ALSO deletes Docker volumes — wipes all stored memories
attestor teardown --dry-run # preview only; changes nothing
attestor teardown is the zero-question reverse of quickstart: it tears down surfaces [2] store config, [3] MCP entry (./.mcp.json) + the 3 lifecycle hooks (content-matched on attestor hook — never other tools'), and [4] the postgres + neo4j + pinecone containers, printing each step. Data-safe by default (named volumes kept → a later quickstart reconnects to the same memories); --purge wipes them.
It deliberately does not touch the two remaining surfaces — run those yourself:
- [1] package:
cd ~ && pipx uninstall attestor(from$HOME, not the repo — the source tree'sattestor/dir shadows the name) - [6] plugin:
/plugin uninstall attestor(inside Claude Code)
For a manual / forensic reverse — or if the attestor binary isn't on PATH — follow the six-surface procedure below.
Rules:
- Never remove another tool's hooks. Match Attestor hooks by command content
attestor hookonly. - Back up every JSON settings file to
*.bakbefore editing; read → parse → mutate in memory → write atomically. Neverjq -emid-edit. - Confirm before deleting data (Docker volumes,
~/.attestor). Wiring removal (MCP entry, hooks, package) is safe to do without a prompt. - If a JSON file won't parse, stop and show the user — don't guess-repair.
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.
- 9d ago First seen · 126 lines · 13 tokens per session scan D ba4ba41a1174
uninstall-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,726 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it D with 2 findings (reads agent configuration directories, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
explore
Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment. Generates ASCII visualizations, import graphs, and design pattern detection with cross-session memory storage. Use when exploring a repo, discovering architecture, onboarding to a…
design-import
Scaffolds React components from a Claude Design handoff bundle and stops at files on disk: no stories, no tests, no pull request. Use when handed a claude.ai/design URL or a local bundle file; when that same scaffold should carry on through test generation, browser verification and an opened PR, run /ork:design-ship…
dev
One-command dev loop boot. Spins up portless (named HTTPS subdomain), emulate (stateful API mocks), the project's dev server, and an agent-browser session, all keyed to the current git branch. Use when starting a feature branch, switching worktrees, or returning to a project after a break. Skips silently with install…
design-ship
One-shot pipeline turning a claude.ai/design link into a pull request: scaffold via /ork:design-import, stories and specs via /ork:cover, browser verification via /ork:expect, then open the PR. Use when a design link should come back as a PR with no intermediate steps; if all you need is the components written to…
memory
Unified read-side memory operations including knowledge graph search, session context loading, decision timeline viewing, and Mermaid graph visualization. Subcommands: search, load, history, viz, status. Complements /ork:remember (write-side). Use when searching past decisions, loading context, or visualizing the…
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.