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/mvanhorn/cli-printing-press/agents-mdgit clone --depth 1 https://github.com/mvanhorn/cli-printing-pressWrote 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/instructions/mvanhorn/cli-printing-press/agents-md)<a href="https://agentmods.dev/instructions/mvanhorn/cli-printing-press/agents-md"><img src="https://agentmods.dev/badge/instructions/mvanhorn/cli-printing-press/agents-md.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.10106 | $0.10106 |
| Opus 5 | $0.05053 | $0.05053 |
| Sonnet 5 | $0.02021 | $0.02021 |
| Haiku 4.5 | $0.01011 | $0.01011 |
Grade A, and why
cli-printing-press 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 3d 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 — 324 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLI Printing Press - Development Conventions
Machine vs Printed CLI
This repo is the machine (generator, templates, binary, skills) that produces printed CLIs. When fixing a bug or adding a feature, ask: machine change or printed-CLI change?
- Machine changes (generator, templates, parser, skills) affect every future CLI and must generalize across APIs, spec formats, and auth patterns.
- Printed-CLI changes (
~/printing-press/library/<api-slug>/) fix one CLI and do not compound. - Default to machine changes. If a problem appears in a printed CLI, ask first whether the generator should have gotten it right. Only fix the printed CLI directly when the issue is genuinely API-specific.
- Don't change the machine for one CLI's edge case. If a fix helps one API but breaks another, guard it with a clear conditional or leave it as a printed-CLI fix.
- Don't hardcode API/site names in reusable artifacts. Skills, templates, generator code, prompts, and shared docs must use placeholders (
<api>,<site>, "the target site") unless the text is explicitly an example or test fixture. - Update dependent verifiers in the same change. A new generator capability that affects scoring requires a scorer update; one that changes the MCP surface requires an audit update. When iterating on a printed CLI to discover issues, classify findings as systemic (retro candidate) vs specific (printed-CLI fix).
Anti-reimplementation
A printed CLI wraps an API; it does not replace one. Novel-feature commands must call the real endpoint or read from the local store populated by sync.
- Reject hand-rolled response builders that return constants, hardcoded JSON, or struct literals shaped like an API payload.
- Reject endpoint stubs that return
"OK"or a canned success message without calling the client. - Reject aggregations computed in-process when the API has an aggregation endpoint.
- Reject enum mappings and reference data synthesized locally when the API returns them.
- Carve-outs: commands that read from
internal/store; commands that operate on the local SQLite file viadatabase/sql; commands that call the API and then cache to the store; commands whose data is curated static content via// pp:novel-static-reference; commands that make a real hidden client call via// pp:client-call, but only when the hidden helper performs a real external API call. Do not use// pp:client-callfor hardcoded payloads, local-only transforms, or fake endpoint stubs. Enforced by the absorb manifest's Kill Check (skills/printing-press/references/absorb-scoring.md) and dogfood'sreimplementation_check, which flags handler files showing neither a client call nor a store access without an opt-out.
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.
- 3d ago First seen · 324 lines · 10,106 tokens per session scan A 642c4b075f78
cli-printing-press AGENTS.md is an instructions file published in the GitHub repository mvanhorn/cli-printing-press (4,611 stars, last pushed today), licensed MIT. It adds 10,106 tokens to every session, about $0.0505 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 instructions, from other repositories
lathe CLAUDE.md
Instructions for lathe-cli/lathe, covering claude.md, project intent, product positioning, source of truth and project structure.
stampo AGENTS.md
Instructions for MichaelCereda/stampo, covering stampo agent instructions, build & test, project structure, architecture and code conventions.
climate AGENTS.md
Instructions for disk0Dancer/climate, covering agents contribution workflow, required sequence for any feature, quality rules and feature checklist template.
climate CLAUDE.md
Instructions for disk0Dancer/climate, covering climate — claude code instructions, definition of done (non-negotiable), hermetic tests and debugging red ci.
lathe AGENTS.md
Instructions for lathe-cli/lathe, a project described as: Agentic-friendly CLI generator for APIs: turn Swagger, OpenAPI, and google.api.http protos into single-binary CLIs with catalogs and generated Skills.
scalar AGENTS.md
Instructions for scalar/scalar, covering agents.md - ai agent guide for scalar, project overview, prerequisites, first-time setup and commands.