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 instructions/tools-for-agents/prism/agents-mdgit clone --depth 1 https://github.com/tools-for-agents/prismWhat 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.01427 | $0.01427 |
| Opus 5 | $0.00714 | $0.00714 |
| Sonnet 5 | $0.00285 | $0.00285 |
| Haiku 4.5 | $0.00143 | $0.00143 |
Grade A, and why
prism AGENTS.md 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 yesterday.
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 — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md — prism
🔻 The agent's data reader. Any JSON/JSONL blob becomes its shape and the slice you asked for, not the whole thing. What scout does for the web and lens does for code, prism does for structured data. CLI + web + MCP. Part of tools-for-agents.
Setup
node --version # 22+ required. Nothing to install.
npm test # = node --test
echo '{"a":{"b":[1,2,3]}}' | node src/cli.js shape -
node src/cli.js read data.json --path 'items[*].id'
node src/cli.js find config.json "timeout"
node src/cli.js serve # the web view → http://localhost:7970
npm run mcp # the MCP server, stdio
Zero runtime dependencies, and that is a hard rule. No dependencies in package.json, ever. Node 22+
gives you fetch, a test runner, and everything else this needs. If a feature seems to need a library,
the feature is too big — ship the smaller version.
The four verbs
shape <src>— the skeleton: keys→types, array lengths, nesting.read <src> --path P— the subtree at pathP, token-budgeted.find <src> "<query>"— the paths where a key/value lives (the input toread).diff <a> <b>— the paths that changed between two blobs (added / removed / changed), by structure not by text; node- and hit-bounded, summary counts always complete.
<src> is a file, an http(s) URL, or - (stdin). Paths: data.items[0].name, users[*].id, logs[0:20] (a slice; [:20]/[100:] too, bounds clamp), logs[-1] (negative = from the end; [-20:] = last twenty), $.
Formats: JSON/JSONL auto-detect; CSV/TSV from a .csv/.tsv source or --format csv → an array of row
objects keyed by the header, with conservative coercion (a number only if it round-trips exactly).
The rules this repo is built on
1. It reads UNTRUSTED data, so every operation is BOUNDED. This is the whole identity of the tool. Input
is byte-capped before JSON.parse (all-or-nothing; a 2 GB file is a frozen process). shape is depth- and
key-bounded. read is token-budgeted. find is node-bounded. Any new feature that traverses or allocates
must carry its own ceiling — grep the DoS lesson the kit already paid for (anvil's 40 GB diff).
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.
- yesterday First seen · 83 lines · 1,427 tokens per session scan A 77522ed74bcd
prism AGENTS.md is an instructions file published in the GitHub repository tools-for-agents/prism (0 stars, last pushed 27d ago), licensed MIT. It adds 1,427 tokens to every session, about $0.0071 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 instructions, from other repositories
org.json-kula.valem CLAUDE.md
Claude Code instructions for vlad-public-code/org.json-kula.valem, covering valem, project layout, package, build and test and build + test everything (run from repo root).
AI_Agent_MCP_Tool_for_Multi_Docu_PDF_PNG_QR_File_Conversion_Processing_Capability AGENTS.md
AGENTS.md instructions for lovecatisgood-sudo/AI_Agent_MCP_Tool_for_Multi_Docu_PDF_PNG_QR_File_Conversion_Processing_Capability, covering agent guidance, scope, required checks, tool changes and fixtures.
mirage CLAUDE.md
Claude Code instructions for strukto-ai/mirage, covering claude.md, repo layout, typescript packages, python/typescript parity and module layout.
mcp-steroid CLAUDE.md
Instructions for jonnyzzz/mcp-steroid, covering claude.md, agents.md, design philosophy, recursive context lookup (do this before sub-folder work), sub-folder guides and must do.
TakoVM CLAUDE.md
Instructions for Tako-Research/TakoVM, covering tako vm, why gvisor?, architecture, key concepts and build & test.
kinocut copilot-instructions.md
Copilot instructions for KyaniteLabs/kinocut: Read the nearest AGENTS.md for repository rules. For Kinocut workflows, load skills/kinocut/SKILL.md; it is the canonical public skill. Keep this adapter limited to host-specific discovery and do not duplicate policy here.