engineering / skill

CLI Printing Press

A Go generator and agent skills for API command-line tools and MCP servers.

At a glance

Purpose
A Go generator and agent skills for API command-line tools and MCP servers.
Runs in
Local agent with shell, MCP server
Operating systems
macOS, Linux
Needs
Runtime: Go 1.26.9+ and Node/npm; Needs internet: Yes; Needs accounts or API keys beyond your agent: Not stated
Files and data
Reads files: Yes; Writes files: Yes; Sends data to other services: Yes
Tool type
Skill
Delivery
From GitHub
Version
Latest on the main branch
Access
Code on GitHub
Compatibility
According to the README, Claude Code is the default install target. The installer can instead target Codex with --agent codex, and the README links separate guides for Codex and Cursor. It says generated CLIs suit shell agents such as Claude Code, Codex and Gemini CLI. It says generated MCP servers suit Claude Desktop, Cursor, Windsurf and Cline.
External costs
The repository is MIT-licensed. The README lists Claude Code or another skills-supported agent as a prerequisite, and its optional codex mode also uses Codex CLI. Your coding agent or model provider may charge for usage.
Permissions
The skills act through your coding agent with the access you give it. The README describes reading API documentation and studying community tools. For website discovery, the README says the press launches a browser and captures traffic; capture is manual or via a HAR file. The README says quick installation executes a downloaded shell script, runs go install and installs agent skills globally via npx -g. The README says generated code and manuscripts go under ~/printing-press by default, supplied API keys enable live read-only smoke tests, and code generation can be delegated to Codex CLI. The README says /printing-press-publish packages a CLI and creates a pull request. The README says /printing-press-amend reads the active session transcript, scopes and executes a code patch, scrubs PII and opens a public-library pull request with scope and PR-draft checkpoints. The README says developer setup installs lefthook through Homebrew and resets the repository's hooks path.
Usage terms
MIT License, as stated in the repository. See its LICENSE file for the exact terms.

Code on GitHub

mvanhorn/cli-printing-press

MIT

Go4,808 stars520 forksLast pushed 12 Oct 2026 UTC

Every API has a secret identity. This finds it, absorbs every feature from every competing tool, then builds the GOAT CLI — designed for AI agents first, with SQLite sync, offline search, and compound insight commands.

Topics: ai-agents cli cli-generator developer-tools golang openapi

Public GitHub data fetched · 0 days old

View on GitHub ↗

What it does

CLI Printing Press is a Go generator with agent skills for command-line tools and MCP servers. The README describes reading API documentation, studying community CLIs and MCP servers, and generating a Go CLI, Claude Code skill and MCP server.

The README identifies cli-printing-press as the generator and the skills as its primary interface. The README shows /printing-press with an app name in Claude Code and describes commands to reprint, polish, publish or amend generated CLIs.

The README describes terminal tables, JSON output when piped and flags including --json, --select and --dry-run. The README describes a SQLite data layer with full-text search and incremental sync for high-gravity entities, with local persistence conditional on the generated domain. The README names its own scorecard, dogfood and proof-of-behavior checks, plus a live read-only smoke test when an API key is present.

Who it is for

Developers who want a command-line tool and MCP server for an API, generated with Claude Code or another agent that supports skills.

Example tasks

Print a CLI for an API by name, for example /printing-press Notion.
Point the press at a website with no API spec and print a CLI for it.
Reprint an existing CLI with /printing-press-reprint notion.
Polish a printed CLI with /printing-press-polish notion.
Publish a CLI to the library with /printing-press-publish linear.

Getting started

The README says to install both the binary and the skills. Its quick route downloads an install script with curl and pipes it to bash. The script runs go install for the generator binary, then installs the skills through the skills CLI, with --cli-only, --skills-only and --agent codex options. The manual route runs go install on the generator module for the binary, then npx -y skills@latest add mvanhorn/cli-printing-press/skills --skill '*' -g -a claude-code -y for the skills. Restart your agent session and check the binary with cli-printing-press --version. Then, inside Claude Code, run /printing-press <app-name>. The README has the exact commands.

Limitations

The README's skill workflow requires the Go binary and skills, Go 1.26.9 or newer, an agent that loads open-agent-skills, and Node/npm for npx. The README says the binary also works standalone, while the skills need the binary. The README identifies Claude Code as its primary documented path and says Codex behaviour may lag. The README says output defaults under ~/printing-press and $GOPATH/bin must be on PATH.

The README warns that technical capability does not establish legal permission and service terms may prohibit automated access. The README says browser capture is manual or supplied through a HAR file rather than autonomous crawling. The README says generated CLIs cover an agent-oriented surface rather than every vendor CLI feature. The README describes live verification as read-only and scoring as structural rather than end-user QA. The README limits regen-merge to macOS and Linux, without Windows support. The repository can change at any time; check its README before you install.

Data practices

The README says website discovery archives visited pages, discovered endpoints, response samples, rate-limiting events and traffic-analysis.json, including protocol, authentication and protection signals and discovery warnings, in a discovery manuscript alongside research and proofs. The README describes a local SQLite data layer for high-gravity entities, with local persistence conditional on the generated domain. The README says /printing-press-amend reads the active session transcript and applies PII scrubbing before opening a public-library pull request. What else is sent where depends on your coding agent and model provider.

Community experience

Not rated yet

Sign in to share your experience.

Comments 0

No comments yet.

Sign in to comment

Report a listing concern