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 skills/srobinson/fmm/templatesnpx skills add srobinson/fmm --skill templatesgit clone --depth 1 https://github.com/srobinson/fmmWrote 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/srobinson/fmm/templates)<a href="https://agentmods.dev/skills/srobinson/fmm/templates"><img src="https://agentmods.dev/badge/skills/srobinson/fmm/templates.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 | $0.00096 | $0.07236 |
| Opus 5 | $0.00048 | $0.03618 |
| Sonnet 5 | $0.00019 | $0.01447 |
| Haiku 4.5 | $0.00010 | $0.00724 |
Grade A, and why
fmm 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 4d 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.
How it starts
The opening of the file, as written. The whole thing — 408 lines — stays where its author put it; the contents beside it link to each section on GitHub.
FMM — MCP-First Code Navigation
This codebase has FMM metadata available via the fmm MCP server. All tools are prefixed fmm_*. Use them for instant, structured lookups instead of grep/read.
The index stays current throughout your session — a hook re-indexes any file you edit immediately after the write. You can trust fmm data at every point in your task.
Before You Touch Any Code
If you are about to call Read, Grep, or Glob on a source file — stop. Ask: does fmm answer this? It answers structural questions at O(1): file topology, symbol locations, export maps, dependency graphs, blast radius. Reading files to derive those answers costs 10-50x more tokens and is less complete.
Reserve Read for two cases only: editing a specific symbol, or understanding logic that fmm_read_symbol cannot provide.
MCP Tools (ALWAYS USE THESE FIRST)
| Tool | Use Case | Example |
|---|---|---|
fmm_list_files |
Orient in an unknown codebase. sort_by: loc (heaviest), downstream (most-imported, best pre-refactoring), name, exports, modified | fmm_list_files(directory: "src/", sort_by: "downstream") |
fmm_file_outline |
Full structural profile — exports, public/private (include_private) methods, line ranges | fmm_file_outline(file: "src/core/index.ts", include_private: true) |
fmm_lookup_export |
O(1) exact lookup → file, line range, full file profile | fmm_lookup_export(name: "createPipeline") |
fmm_list_exports |
Export search: substring or regex (auto-detected). ^handle, Service$, ^[A-Z] for regex; plain text for substring |
fmm_list_exports(pattern: "^[A-Z]", directory: "packages/core/") |
fmm_read_symbol |
Exact source for a named export or specific method | fmm_read_symbol(name: "Injector.loadInstance") |
fmm_search |
Cross-cutting queries: imports, LOC range, depends_on, term | fmm_search(imports: "rxjs", min_loc: 500) |
fmm_dependency_graph |
Upstream deps + downstream blast radius. filter: "source" strips test files, filter: "tests" shows only test coverage | fmm_dependency_graph(file: "src/core/index.ts", filter: "source") |
fmm_glossary |
Symbol impact — call-site callers or test coverage by method | fmm_glossary(pattern: "Injector.loadInstance", mode: "source") |
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.
- 4d ago First seen · 408 lines · 96 tokens per session scan A ccb46ad0728d
fmm is a skill published in the GitHub repository srobinson/fmm (2 stars, last pushed 2mo ago), licensed MIT. It adds 96 tokens to every session and 7,236 once invoked, about $0.0005 per session on Opus 5. 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-31.
Other skills, from other repositories
codesynapse-cli
Use this skill to answer codebase architecture questions, trace dependencies, find callers/callees, calculate blast radius, and explore the code graph. ACTIVATE when the user asks "how does X work", "what handles Y", "where is Z defined", "explain the mechanism", "who calls", "blast radius", "shortest path", "trace…
wikipedia-glossary
Enrich an Open Mind project's glossary with standard term definitions from Wikipedia. For each already-extracted term, look up its authoritative Wikipedia definition, tidy it, and write it back to the glossary as a separate, attributed field; terms with no confident match keep their verbatim in-project definition. Use…
chisel
Run Chisel test-impact analysis on any git project — which tests to run after a change, what's risky, what's untested. Use when the user asks to run chisel, find impacted tests, check risk or coverage gaps, or after a batch of code edits in a project with a .chisel/ DB (or to bootstrap one with chisel analyze).
glossary
Extract a project's term/acronym definitions VERBATIM from its own authoritative sources, each with file:line provenance and a grounded usage profile; resolve a term deterministically or return an honest "not found" — never generated.
capability-router
Route a request to exactly one Open Mind capability (glossary / structure / search). A local model may decide when ready, but its choice is validated against the known capability set and falls back to a deterministic if-else floor — the model never invents or overrides a capability unchecked.
code-graphs
Build deterministic structure / dependency / call / entry-point-flow graphs from a repository's real code, with source-traceable file nodes and definitions. No invented nodes or edges; ambiguous references are flagged, not guessed.