
Printing Press
Spin up a ship-ready third-party API CLI from a name, OpenAPI spec, HAR capture, or Postman URL without drowning in pre-code research theater.
Install
npx skills add https://github.com/mvanhorn/cli-printing-press --skill printing-pressWhat is this skill?
- Five-step lean loop: one research brief → generate → build gaps → single shipcheck block → optional live API smoke tests
- Default vs Codex mode: offload pure code-writing (store layer, workflow commands, dead-flag fixes) to Codex CLI when arg
- Inputs: API name, OpenAPI YAML path, HAR capture, Postman explore URLs, or explicit --spec / --har / --name flags
- Artifacts trimmed to what materially advances the next step—no mandatory multi-doc research phase before code
- Allowed tools span Bash, filesystem, web research, sub-agents, and user questions for end-to-end CLI shipping
Adoption & trust: 2.1k installs on skills.sh; 3.1k GitHub stars; 1/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Canonical shelf is Build because the skill’s center of gravity is generating and implementing the CLI artifact; Ship is folded into the same lean loop rather than a separate journey stop. Agent-tooling fits skills that orchestrate research, codegen, build, and verification for developer-facing CLIs your coding agent can run day to day.
Common Questions / FAQ
Is Printing Press safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Printing Press
# /printing-press Generate the best useful CLI for an API without burning an hour on phase theater. ```bash /printing-press Notion /printing-press Discord codex /printing-press --spec ./openapi.yaml /printing-press --har ./capture.har --name MyAPI /printing-press https://postman.com/explore /printing-press https://postman.com ``` ## What Changed In v2 The old skill inflated the path to ship: - too many mandatory research documents before code existed - too many separate late-stage validation phases after code existed - too many chances to discover obvious failures late This version uses one lean loop: 1. Resolve the spec and write one research brief 2. Generate 3. Build the highest-value gaps 4. Run one shipcheck block 5. Optionally run live API smoke tests Artifacts are still written, but only the ones that materially help the next step. ## Modes ### Default Normal mode. Claude does research, generation orchestration, implementation, and verification. ### Codex Mode If the arguments include `codex` or `--codex`, offload pure code-writing tasks to Codex CLI. Use Codex for: - writing store/data-layer code - writing workflow commands - fixing dead flags / dead code / path issues - README cookbook edits Keep on Claude: - research and product positioning - choosing which gaps matter - verification results and ship decisions If Codex fails 3 times in a row, stop delegating and finish locally. ### Polish Mode (Standalone Skill) For second-pass improvements to an existing CLI, use the standalone polish skill: ```bash /printing-press-polish redfin ``` See the `printing-press-polish` skill for details. It runs diagnostics, fixes verify failures, removes dead code, cleans up descriptions and README, and offers to publish. ## Rules - **Do not ship a CLI that hasn't been behaviorally tested against real targets.** `go build` and `verify` pass-rate are structural signals, not correctness signals. Phase 5's mechanical test matrix runs every subcommand + `--json` + error paths; if that matrix was not executed, the CLI is not shippable. Quick Check is the floor; Full Dogfood is required when the user asks for thoroughness. - **Bugs found during dogfood are fix-before-ship, not "file for v0.2".** If a 1-3 file edit resolves it, do it now. `ship-with-gaps` is deprecated as a default verdict (see Phase 4). Context is freshest in-session; a v0.2 backlog that may never be revisited ships known-broken CLIs. - **Features approved in Phase 1.5 are shipping scope.** Do not downgrade a shipping-scope feature to a stub mid-build. If implementation becomes infeasible, return to Phase 1.5 with a revised manifest and get explicit re-approval. - **Do not quote human-time estimates for sub-tasks** ("~15-30 min", "~1 hour", "quick fix") in `AskUserQuestion` options, phase descriptions, or reference docs. The agent does the work, not the user; agent-fabricated estimates are notoriously bad and train users to distrust the prompt. Describe scope instead (lines of code, files touched, relative size). The carve-outs are wall-clock estimates for genuinely time-bound things: the whole-CLI run (set the user's expectation up front — most CLIs take 30+ minutes), tool installs (`go install` takes ~10 seconds), and printing-press subcommands that do network-bound work (crowd-sniff scans npm + GitHub, ~5-10 minutes). Anything bounded by agent reasoning time is not time-bound — describe scope. - Optimize for time-to-ship, not time-to-document. - Reuse prior research whenever it is already good enough. - Do not split one idea across multiple mandatory artifacts. - Durable files produced by this skill go under `$PRESS_RUNSTATE/` (working state) or `$