fathom

fathom is a skill for Claude Code from ma-ziwei/fathom-mode-for-claude. It costs 75 tokens per session (1,836 once invoked), scanned A, a copy of fathom, MIT.

A planning-session add-on that pauses execution and guides a structured conversation to build a shared understanding of a task.

In plain words
What is it for?
Use it to discuss goals, constraints, and decisions before coding or other actions. It activates when the user asks to use Fathom or to plan a complex task.
Why use it?
It helps clarify a complex request before any changes are made, reducing the risk of solving the wrong problem.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it to discuss goals, constraints, and decisions before coding or other actions. It activates when the user asks to use Fathom or to plan a complex task.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/ma-ziwei/fathom-mode-for-claude/skill
Install

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.

Any agent
npx skills add ma-ziwei/fathom-mode-for-claude --skill skill
Clone the repo
git clone --depth 1 https://github.com/ma-ziwei/fathom-mode-for-claude

Made for: Claude Code.

Wrote 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.

agentmods badge for fathom

README.md
[![agentmods](https://agentmods.dev/badge/skills/ma-ziwei/fathom-mode-for-claude/skill/github.svg)](https://agentmods.dev/skills/ma-ziwei/fathom-mode-for-claude/skill)
Your own site
<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.

agentmods 80×15 button for fathom

Your own site · 80×15
<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>
Per session 75 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,836 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 86% copy Near-identical to another mod in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00075 $0.01836
Opus 5 $0.00037 $0.00918
Sonnet 5 $0.00015 $0.00367
Haiku 4.5 $0.00007 $0.00184

Measured 10d ago against content hash c5ed9f4018bd, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

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 10d ago.

The scan reads SKILL.md. This mod also ships 12 executable files (scripts/_causal.py, scripts/_compiler.py, scripts/_dimensions.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Origin

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.

skill/SKILL.md · 137 lines

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.

Read the full file on GitHub · 137 lines

Changes

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.

  1. 10d ago First seen · 137 lines · 75 tokens per session scan A c5ed9f4018bd

Subscribe to this mod's changes

fathom is a skill published in the GitHub repository ma-ziwei/fathom-mode-for-claude (13 stars, last pushed 4mo ago), licensed MIT. It adds 75 tokens to every session and 1,836 once invoked, about $0.0004 per session on Opus 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.

Related

Other skills, from other repositories

job-description-skill

A job-description analysis skill that turns a vacancy listing and a candidate’s background into an HTML report about fit, gaps, interview topics, and application strategy.

yanliudesign/offer-toolkit-skill · 150 tokens

offer-compare-skill

A decision assistant for comparing two or more job offers across pay, growth, company strength, team risk, promotion, AI exposure, and lifestyle. Total compensation means the combined value of salary, bonuses, shares, and sign-on payments.

yanliudesign/offer-toolkit-skill · 231 tokens

offer-toolkit-skill

A set of job-search tools covering the path from finding a vacancy to accepting an offer. It includes separate tools for job searches, job-description analysis, tailored resumes, behavioral interviews, offer comparisons, and salary negotiation.

yanliudesign/offer-toolkit-skill · 168 tokens

bq-skill

A coaching workflow for building a reusable library of truthful stories for behavioral job interviews. It uses structures such as STAR—Situation, Task, Action, Result—and can connect stories to a job description and résumé.

yanliudesign/offer-toolkit-skill · 166 tokens

linkedin-job-search-skill

A job-search assistant that uses a sample job description and your resume to find and rank similar public LinkedIn Jobs listings. LinkedIn Jobs is LinkedIn’s section for advertised employment positions.

yanliudesign/offer-toolkit-skill · 136 tokens

exam-study-guide

A study-guide builder for a completed exam chapter that has not yet passed its required checks. It creates a structured teaching checklist and, in full mode, a self-contained HTML and printable PDF guide with readable formulas, visible images, explanations, examples, and answers.

ZeKaiNie/universal-examprep-skill · 113 tokens