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 ma-ziwei/fathom-mode-for-claude --skill skillgit clone --depth 1 https://github.com/ma-ziwei/fathom-mode-for-claudeWrote 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/ma-ziwei/fathom-mode-for-claude/skill)<a href="https://agentmods.dev/skills/ma-ziwei/fathom-mode-for-claude/skill"><img src="https://agentmods.dev/badge/skills/ma-ziwei/fathom-mode-for-claude/skill/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/ma-ziwei/fathom-mode-for-claude/skill"><img src="https://agentmods.dev/badge/skills/ma-ziwei/fathom-mode-for-claude/skill.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.00075 | $0.01836 |
| Opus 5.5 | $0.00030 | $0.00734 |
| Sonnet 5.5 | $0.00015 | $0.00367 |
| Haiku 4.5 | $0.00007 | $0.00184 |
Grade A, and why
fathom 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 1mo 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.
This is a copy
86% identical to fathom — 18 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fathom Mode
A planning session. While active, don't execute — help the user build shared understanding via dialogue.
Resolving the script path
This skill bundle ships Python scripts in the scripts/ subdirectory next to this SKILL.md. To invoke them, construct the absolute path from the path you used to read this SKILL.md: take the SKILL.md absolute path, drop SKILL.md, append scripts/<script-name>.py. Use that absolute path with Bash. The scripts handle their own internal imports (each finds its sibling modules via Python's automatic sys.path).
State lives at ~/.fathom-mode/active_session.json regardless of where the bundle is installed (per the scripts' built-in path resolution). This means a session started in one environment can be continued in another that uses the same protocol.
In examples below, <scripts> stands for the resolved absolute path you computed above.
Starting a session
On the first user message, you MUST call both scripts before responding:
Step 1 — Create the session (no score returned):
python3 <scripts>/init_session.py --task "<user's task>"
The output has session_id, task, next_target_dimension, etc. It intentionally does NOT include score_block_str — scoring is step 2's job.
Step 2 — Score turn 1 — follow the Per-turn protocol below, treating the user's bootstrap message as turn 1. The score_block_str you place at the top of your response comes from THIS call (update_graph.py), not step 1.
Do not skip step 2. Both scripts run for the first user message.
Per-turn protocol
For each subsequent user message during an active fathom session, BEFORE responding, invoke update_graph.py via Bash with the user's message + your extracted nodes:
python3 <scripts>/update_graph.py <<'FATHOM_TURN_END'
{"user_input": "<user's verbatim message>", "nodes": [<your extracted nodes as JSON array>]}
FATHOM_TURN_END
The closing FATHOM_TURN_END must be at column 0 with no leading whitespace. JSON-encode user_input per JSON rules (escape " \ \n); the heredoc protects against shell escaping.
What ships with it
15 files beside SKILL.md 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.
- references/plan-format.md 3.1 KB
- references/score-interpretation.md 3.4 KB
- references/three-part-turn.md 9.2 KB
- scripts/_causal.py 12 KB runs code
- scripts/_compiler.py 11 KB runs code
- scripts/_dimensions.py 4.1 KB runs code
- scripts/_graph.py 10 KB runs code
- scripts/_models.py 3.1 KB runs code
- scripts/_scoring.py 7.7 KB runs code
- scripts/compile_plan.py 1.8 KB runs code
- scripts/exit_session.py 626 B runs code
- scripts/init_session.py 9.0 KB runs code
- scripts/render_status.py 3.2 KB runs code
- scripts/session_state.py 5.5 KB runs code
- scripts/update_graph.py 14 KB runs code
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.
- 1mo ago First seen · 137 lines · 75 tokens per session scan A c5ed9f4018bd
fathom is a skill published in the GitHub repository ma-ziwei/fathom-mode-for-claude (13 stars, last pushed 6mo ago), licensed MIT. It adds 75 tokens to every session and 1,836 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 86% identical to fathom, differing in 18 lines, and is treated as a copy.
Other skills, from other repositories
trailhead-view
Skill "trailhead-view" from ToRvaLDz/trailhead, covering load first, in order, routing: verb to engine, render the map: map [map], 🎯 destination and 🗒️ notes.
trailhead-chart
Skill "trailhead-chart" from ToRvaLDz/trailhead, covering load first, in order, routing: verb to engine, chart a new map / adopt a project: new, adopt, open a ticket on the fly: ticket and triage the inbox: inbox [issue].
trailhead-manage
Skill "trailhead-manage" from ToRvaLDz/trailhead, covering load first, in order and routing: verb to engine.
trailhead-capture
Skill "trailhead-capture" from ToRvaLDz/trailhead, covering load first, in order and routing: verb to engine.
coding-quality-loop
Use when a coding agent must turn a software goal, bug, issue, or refactor into a small, verified, independently reviewed code change.
contaazul-mcp
Skill abrangente pra operar o ERP Conta Azul via Conta Azul MCP — vendas, faturamento, contas a pagar/receber, fluxo de caixa, cadastros de pessoas/produtos/serviços, contratos, parcelas/quitações e NF-e. Use sempre que o usuário perguntar ou pedir algo sobre a operação financeira/comercial da empresa dele na Conta…