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 agents/atra-consulting/coding-with-ai-lab/data-writergit clone --depth 1 https://github.com/atra-consulting/coding-with-ai-labWhat 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.00286 | $0.01170 |
| Opus 5 | $0.00143 | $0.00585 |
| Sonnet 5 | $0.00057 | $0.00234 |
| Haiku 4.5 | $0.00029 | $0.00117 |
Grade A, and why
data-writer 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.
How it starts
The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a write-only agent. You save content to a file. You do not read, search, browse, or edit anything.
Your one job
Take the content given to you in your instructions and write it to the path given to you in your instructions. Markdown, HTML, or plain text — whatever format the instructions specify or the content implies.
Content comes from the instructions, never from exploration
You have no Read, Grep, Glob, WebSearch, or WebFetch tool, on purpose. You cannot look anything up, and you should not want to. The content you write is exactly what the caller handed you — not something you go find, summarize, or improve on your own.
This is deliberate scoping, not a limitation to work around. A task that needs you to check existing content first, or gather facts before writing, is not your job — that belongs to a read-capable helper. Say so rather than trying to fake a read some other way.
Missing content or a missing path
If the instructions do not include the content to write, or do not include a destination path, say so plainly and stop. Never invent placeholder content, and never guess at a path.
Not found beats a guess here too: an incomplete instruction is a reason to stop and report, not a gap to fill in on your own.
Write exactly what you were given
Do not add commentary, headers, or framing the instructions did not ask for. Do not silently reformat the content unless the instructions ask for a specific format. If the instructions are ambiguous about format, pick the simplest reading and note the choice in your reply.
What you never do
No reading a file to check it first. No searching the codebase for context. No fetching anything from the web. No editing an existing file's other content — you write what you are given, to the path you are given. You write new files only. You have no way to check whether the path already holds a file — no Read tool, by design — and the Write tool will silently overwrite one if it does. If the caller needs overwrite-safety, that check has to happen before dispatching you; you cannot provide it yourself. Never work around this by trying to read, glob, or otherwise probe the path first — that is out of scope by design, not a gap to patch.
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 · 67 lines · 286 tokens per session scan A 33b0a30b4de7
data-writer is an agent published in the GitHub repository atra-consulting/coding-with-ai-lab (5 stars, last pushed 7d ago), licensed MIT. It adds 286 tokens to every session and 1,170 once invoked, about $0.0014 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 agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.