
Printing Press Catalog
Browse and install pre-built Go CLIs for popular APIs when you want a catalog shortcut instead of generating from scratch.
Overview
printing-press-catalog is an agent skill for the Build phase that browses and installs pre-built Go API CLIs from the cli-printing-press catalog (deprecated in favor of `/printing-press`).
Install
npx skills add https://github.com/mvanhorn/cli-printing-press --skill printing-press-catalogWhat is this skill?
- Lists and searches pre-built Go CLIs for popular APIs via `/printing-press-catalog` and install/search subcommands
- Requires Go 1.26.3+, `cli-printing-press` on PATH, and a setup contract that verifies binary version ≥4.0.0
- Deprecated: superseded by main `/printing-press`, which checks the built-in catalog automatically
- Terminal fallback documented: `cli-printing-press catalog list` for browsing without the skill
- Allowed tools include Bash, Read, Write, Glob, Grep, WebFetch, and AskUserQuestion for install workflows
- Skill version 0.4.0 with min-binary-version 4.0.0
- 7 allowed tool types (Bash, Read, Write, Glob, Grep, WebFetch, AskUserQuestion)
Adoption & trust: 2k installs on skills.sh; 3.1k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need a quick CLI for a well-known API but do not want to configure generation from scratch every time.
Who is it for?
Solo builders already using cli-printing-press who hit old docs or slash commands and need the correct modern entry point.
Skip if: New projects—use the main `/printing-press` skill or `cli-printing-press catalog list` instead; do not rely on this deprecated skill as your default workflow.
When should I use this skill?
Deprecated—only when migrating from `/printing-press-catalog`; prefer `/printing-press <API>` or terminal `catalog list`.
What do I get? / Deliverables
You identify a catalog CLI, install it with guided commands, or migrate to `/printing-press <API>` for the supported catalog-aware flow.
- Installed catalog Go CLI for a chosen API
- Verified setup contract output for binary version and repo scope
Recommended Skills
Journey fit
Catalog install is part of wiring third-party APIs into a solo builder’s toolchain during product build. Integrations is the shelf for API client CLIs and external service hooks, which is exactly what the printing-press catalog ships.
How it compares
Legacy catalog-only skill package; the unified `/printing-press` flow replaces separate catalog browsing.
Common Questions / FAQ
Who is printing-press-catalog for?
Indie developers and agent users who previously installed Stripe-like API CLIs via the printing-press catalog slash commands and need migration pointers to the v4 binary workflow.
When should I use printing-press-catalog?
Rarely—only when following old instructions; during Build integrations you should use `/printing-press <API>` to generate or install, or `cli-printing-press catalog list` to browse without the skill.
Is printing-press-catalog safe to install?
Review the Security Audits panel on this Prism page and verify the `cli-printing-press` binary source from the official GitHub module before running Bash install commands.
SKILL.md
READMESKILL.md - Printing Press Catalog
# /printing-press-catalog > **Deprecated:** This skill is superseded by the main `/printing-press` skill, which now checks the built-in catalog automatically. Use `/printing-press <API>` instead. For browsing the catalog, use `cli-printing-press catalog list` in your terminal. Browse and install pre-built Go CLIs for popular APIs. ## Quick Start ``` /printing-press-catalog /printing-press-catalog install stripe /printing-press-catalog search auth ``` ## Prerequisites - Go 1.26.3 or newer installed - `cli-printing-press` binary on PATH (install with `go install github.com/mvanhorn/cli-printing-press/v4/cmd/cli-printing-press@latest`) ## Setup Before any other commands, run the setup contract to verify the cli-printing-press binary is on PATH and initialize scope variables: <!-- PRESS_SETUP_CONTRACT_START --> ```bash # min-binary-version: 4.0.0 # Derive scope first — needed for local build detection _scope_dir="$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")" _scope_dir="$(cd "$_scope_dir" && pwd -P)" # Prefer local build when running from inside the printing-press repo. _press_repo=false if [ -x "$_scope_dir/cli-printing-press" ] && [ -d "$_scope_dir/cmd/cli-printing-press" ]; then _press_repo=true export PATH="$_scope_dir:$PATH" echo "Using local build: $_scope_dir/cli-printing-press" elif ! command -v cli-printing-press >/dev/null 2>&1; then if [ -x "$HOME/go/bin/cli-printing-press" ]; then echo "cli-printing-press found at ~/go/bin/cli-printing-press but not on PATH." echo "Add GOPATH/bin to your PATH: export PATH=\"\$HOME/go/bin:\$PATH\"" else echo "cli-printing-press binary not found." echo "Install with: go install github.com/mvanhorn/cli-printing-press/v4/cmd/cli-printing-press@latest" fi return 1 2>/dev/null || exit 1 fi # Resolve and emit the absolute path the agent must use for every later # `cli-printing-press` invocation. `export PATH` above only affects this one # Bash tool call; subsequent calls open a fresh shell and resolve bare # `cli-printing-press` against the user's default PATH, where a stale global # can silently shadow the local build. The agent captures this marker and # substitutes the absolute path into every later invocation. if [ "$_press_repo" = "true" ]; then PRINTING_PRESS_BIN="$_scope_dir/cli-printing-press" else PRINTING_PRESS_BIN="$(command -v cli-printing-press 2>/dev/null || true)" fi echo "PRINTING_PRESS_BIN=$PRINTING_PRESS_BIN" PRESS_BASE="$(basename "$_scope_dir" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9_-]/-/g; s/^-+//; s/-+$//')" if [ -z "$PRESS_BASE" ]; then PRESS_BASE="workspace" fi PRESS_SCOPE="$PRESS_BASE-$(printf '%s' "$_scope_dir" | shasum -a 256 | cut -c1-8)" PRESS_HOME="$HOME/printing-press" PRESS_RUNSTATE="$PRESS_HOME/.runstate/$PRESS_SCOPE" PRESS_LIBRARY="$PRESS_HOME/library" mkdir -p "$PRESS_RUNSTATE" "$PRESS_LIBRARY" ``` <!-- PRESS_SETUP_CONTRACT_END --> After running the setup contract, capture the `PRINTING_PRESS_BIN=<abs-path>` line from stdout. **Every subsequent `cli-printing-press ...` invocation in this skill must use that absolute path** (substitute the value, not the literal `$PRINTING_PRESS_BIN` token) — `export PATH` above only affects the single Bash tool call it runs in, so later calls open a fresh shell where bare `cli-printing-press` resolves against the user's default `PATH` and a stale global can shadow the local build. After capturing the binary path, check binary version compatibility. Read the `min-binary-version` field from this skill's YAML frontmatter. Run `<PRINTING_PRESS_BIN> version --json` and parse the version from the output. Compare it to `min-binary-version` using semver rules. If the installed binary