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.
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/mvanhorn/cli-printing-press/ble-opaque-binarynpx skills add mvanhorn/cli-printing-press --skill ble-opaque-binarygit 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/skills/mvanhorn/cli-printing-press/ble-opaque-binary)<a href="https://agentmods.dev/skills/mvanhorn/cli-printing-press/ble-opaque-binary"><img src="https://agentmods.dev/badge/skills/mvanhorn/cli-printing-press/ble-opaque-binary.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.00019 | $0.00375 |
| Opus 5 | $0.00010 | $0.00187 |
| Sonnet 5 | $0.00004 | $0.00075 |
| Haiku 4.5 | $0.00002 | $0.00038 |
Grade A, and why
ble-opaque-binary 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 5d 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
Prerequisites: Install the CLI
This skill drives the ble-opaque-binary-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
- Install via the Printing Press installer. It defaults binaries to
$HOME/.local/binon macOS/Linux and%LOCALAPPDATA%\Programs\PrintingPress\binon Windows:npx -y @mvanhorn/printing-press-library install ble-opaque-binary --cli-only - Verify:
ble-opaque-binary-pp-cli --version - Ensure the reported install directory is on
$PATHfor the agent/runtime that will invoke this skill.
If the npx install fails before this CLI has a public-library category, install Node or use the category-specific Go fallback after publish.
If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
Use ble-opaque-binary-pp-cli capabilities --json to inspect callable and withheld BLE capabilities, including safety classes and evidence refs. Use ble-opaque-binary-pp-cli status --json to inspect replay-backed status output. By default the CLI is replay-backed; build with -tags ble_live and pass --live to control a real device, ble-opaque-binary-pp-cli doctor to check live readiness, and ble-opaque-binary-pp-cli scan --live to discover devices. Session IPC scaffolding is generated only when the device spec enables device-session support.
What ships with it
13 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .goreleaser.yaml 1.3 KB
- AGENTS.md 5.3 KB
- CLAUDE.md 11 B
- cmd/ble-opaque-binary-pp-cli/main.go 319 B
- device-spec.yaml 976 B
- go.mod 373 B
- internal/cli/root.go 9.0 KB
- internal/cliutil/verifyenv.go 5.7 KB
- internal/device/spec.go 2.6 KB
- internal/device/transport.go 2.9 KB
- LICENSE 11 KB
- NOTICE 414 B
- README.md 1.7 KB
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.
- 5d ago First seen · 22 lines · 19 tokens per session scan A de0d71f33bb7
ble-opaque-binary is a skill published in the GitHub repository mvanhorn/cli-printing-press (4,615 stars, last pushed yesterday), licensed MIT. It adds 19 tokens to every session and 375 once invoked, about $0.0001 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
lathe
Initialize CLI-first applications and keep their OpenAPI contract, generated CLI, and Agent Skill synchronized. Use when creating an application with lathe init or changing a Lathe-generated application.
climate-generator
Generate Go CLIs from OpenAPI 3.x specs with climate, inspect generated CLIs, and emit Markdown skill prompts so those CLIs can be attached to agent workflows.
lathe-release
Run Lathe release validation and publishing workflows. Use when the user asks to prepare, validate, cut, tag, publish, or ship a Lathe versioned release; runs the captured pre-release regression gate before tagging.
configuration-builder
Use when creating CLI tools from scratch using stampo, converting MCP server tools into shell commands, or generating stampo YAML configurations from natural language descriptions.
foundry-lens
Runs a multi-pass research method that deliberately catches its own blind spots — a shallow first pass, a forced structural self-diagnosis, then corrected and inverted passes. Use when mapping a product's full feature set, tearing down a competitor, doing exhaustive documentation research, or any time a first answer…
foundry-capture
Guides the user through capturing an app's network traffic on Android, iOS, desktop, or web, and exporting it as HAR for analysis. Use when a teardown needs network evidence, when the user asks how to see what an app is talking to, or when intake reports network-surface as missing. Triggers on "capture traffic", "how…