CLI Printing Press is a tool that creates Go command-line clients, Claude Code skills, and MCP servers for APIs and websites by studying their documentation and existing integrations. It is intended for AI agents and developers who need token-efficient command-line access to services and compound queries. The catalogue entries are skills, instructions, plugins, settings, and a hook related to using the generated tools and the press.
Borrowing it
Nothing to install: this file belongs to mvanhorn/cli-printing-press. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mvanhorn/cli-printing-press/main/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/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<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="Reviewed on agentmods" width="80" 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.1 | $0.12136 | $0.12136 |
| Opus 5.5 | $0.04854 | $0.04854 |
| Sonnet 5.5 | $0.02427 | $0.02427 |
| Haiku 4.5 | $0.01214 | $0.01214 |
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 today.
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 — 352 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.
- today Changed · +9 lines · +402 tokens per session e156e9720548
- 3d ago Changed · +32 tokens per session ac994c001108
- 4d ago Changed · +1 lines · +183 tokens per session 86ddf5c5f8a3
- 12d ago Changed · +3 lines · +281 tokens per session 917b967fe267
- 14d ago Changed · +6 lines · +393 tokens per session 5e351f760382
- 20d ago Changed · +71 tokens per session 363685c3f5aa
- 25d ago Changed · +1 lines · +203 tokens per session ac4d0c889a4e
- 1mo ago Changed · +52 tokens per session 09e9f63052f5
- 1mo ago Changed · +3 lines · +183 tokens per session 05a6e116c7f4
- 1mo ago First seen · 329 lines · 10,336 tokens per session scan A 990c1cc6a451
cli-printing-press AGENTS.md is an instructions file published in the GitHub repository mvanhorn/cli-printing-press (4,847 stars, last pushed today), licensed MIT. It adds 12,136 tokens to every session, about $0.0485 per session on Opus 5.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
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.