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-temperature-sensornpx skills add mvanhorn/cli-printing-press --skill ble-temperature-sensorgit 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-temperature-sensor)<a href="https://agentmods.dev/skills/mvanhorn/cli-printing-press/ble-temperature-sensor"><img src="https://agentmods.dev/badge/skills/mvanhorn/cli-printing-press/ble-temperature-sensor.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.00016 | $0.00365 |
| Opus 5 | $0.00008 | $0.00182 |
| Sonnet 5 | $0.00003 | $0.00073 |
| Haiku 4.5 | $0.00002 | $0.00036 |
Grade A, and why
ble-temperature-sensor 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-temperature-sensor-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-temperature-sensor --cli-only - Verify:
ble-temperature-sensor-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-temperature-sensor-pp-cli capabilities --json to inspect callable and withheld BLE capabilities, including safety classes and evidence refs. Use ble-temperature-sensor-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-temperature-sensor-pp-cli doctor to check live readiness, and ble-temperature-sensor-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
23 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.4 KB
- AGENTS.md 5.3 KB
- CLAUDE.md 11 B
- cmd/ble-temperature-sensor-pp-cli/main.go 324 B
- cmd/ble-temperature-sensor-pp-mcp/main.go 673 B
- device-spec.yaml 785 B
- go.mod 378 B
- internal/cli/root.go 9.1 KB
- internal/cliutil/verifyenv.go 5.7 KB
- internal/device/ble_live.go 5.7 KB
- internal/device/ble_stub.go 582 B
- internal/device/ble.go 4.3 KB
- internal/device/live_test.go 8.1 KB
- internal/device/live.go 7.3 KB
- internal/device/spec.go 2.5 KB
- internal/device/transport.go 2.9 KB
- internal/mcp/bound/bound_test.go 9.7 KB
- internal/mcp/bound/bound.go 5.9 KB
- internal/mcp/cobratree/walker.go 3.3 KB
- internal/mcp/tools.go 1.5 KB
- LICENSE 11 KB
- NOTICE 419 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 · 16 tokens per session scan A eaf1c74bf2f4
ble-temperature-sensor is a skill published in the GitHub repository mvanhorn/cli-printing-press (4,625 stars, last pushed today), licensed MIT. It adds 16 tokens to every session and 365 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
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.
agent-probe-dev
Develop, test and ship the Go agent probe (apps/agent) — build/test commands, protocol versioning, the nekoagent service wrapper, and constraints of router environments (OpenWrt/tmpfs). Use for any change under apps/agent.
wasm
WebAssembly (WASM) integration, WASI, component model, Rust/Go to WASM compilation. Use when implementing WASM modules, browser/edge compute, or polyglot runtime.
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.
frontend
Rules and best practices when working on the dashboard React frontend codebase (including the inlined Gram Elements code).
gram-rbac
Concepts, external interfaces, and conventions for Gram's role-based access control (RBAC) subsystem — scopes, grants, principals, system roles, and the authz.Engine.Require enforcement path used inside handlers. Activate whenever the task involves authorization (adding or modifying a scope or resource type, declaring…