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/decocms/studio/file-readingnpx skills add decocms/studio --skill file-readinggit clone --depth 1 https://github.com/decocms/studioWhat 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.00046 | $0.00315 |
| Opus 5 | $0.00023 | $0.00158 |
| Sonnet 5 | $0.00009 | $0.00063 |
| Haiku 4.5 | $0.00005 | $0.00032 |
Grade A, and why
file-reading 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 2d 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.
What it actually says
file-reading — router by file type
When asked to read or summarize a file, dispatch by extension to the
appropriate skill under org/public/core/:
| Extension | Skill | Script |
|---|---|---|
.pptx |
pptx |
python org/public/core/pptx/extract.py |
.docx |
docx |
python org/public/core/docx/extract.py |
.xlsx |
xlsx |
python org/public/core/xlsx/extract.py |
.pdf |
pdf |
python org/public/core/pdf/extract.py |
.txt, .md |
— | cat |
.csv |
— | cat (or column -t -s, for alignment) |
.json |
— | cat (or jq . if structure matters) |
For extensions not listed, read the corresponding SKILL.md under
org/public/core/ if one exists, otherwise fall back to file <path> to
identify the format and proceed manually.
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.
- 2d ago First seen · 24 lines · 46 tokens per session scan A 413852cc1ab4
file-reading is a skill published in the GitHub repository decocms/studio (402 stars, last pushed today), licensed MIT. It adds 46 tokens to every session and 315 once invoked, about $0.0002 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-30.
Other skills, from other repositories
mcp-assistant
Use when a task needs connected MCP servers, external services, dynamic MCP tool discovery, schema inspection, sandboxed MCP execution, or routing across many possible MCP tools.
pr-finish-pass
Final-polish pass on the current PR or feature branch before it lands. Rebases on origin/main, force-pushes, drives CI to green, then reviews the diff for correctness/perf/security/reliability bugs, flaky test patterns banned by make lint-test-patterns, sloppy comments a senior engineer would not write, cross-crate…
mcp-cli
Use when running, automating, integrating, or troubleshooting the MCP CLI (mcpa | mcp-ts), including local or remote discovery, authentication, schema inspection, tool calls, and gateway lifecycle errors.
harn-release
Use for Harn release prep, version bumps, publishing, tags, and release notes.
harn-apps
Keep app behavior in Harn while shared hosts draw the view and provide files, network, and browser features.
harn-mcp
Use for MCP client connections, server definitions, inbound roots/sampling/elicitation, and deterministic MCP fixtures.