Claude
Skills
Sign in
Back

printing-press-library

Included with Lifetime
$97 forever

Use when looking for a CLI, API wrapper, scraper, data-source tool, automation tool, or focused agent skill for a task; searches the Printing Press Library and installs matching tools.

Backend & APIscliapi-wrapperscraperdata-sourceautomationagent-skilltool-discoveryinstall

What this skill does


# Printing Press Library

Use this skill when a user asks for a CLI, agent skill, API wrapper, scraper, automation tool, or data source that may exist in the Printing Press Library.

The library is an open-source catalog of focused CLIs and matching agent skills generated from `mvanhorn/cli-printing-press`. This skill is the catalog front door. Do not install a random long-tail skill just because it exists. First identify the right tool, then install the focused skill or CLI only when it is useful for the task.

## Default workflow

1. Clarify the user goal only if needed.
   - If the request names a service or website, search for that directly.
   - If the request describes a job instead of a service, search by capability and domain.
   - If the user's agent already has a safe built-in tool that solves the job, prefer that over installing another CLI.

2. Search the catalog with the library CLI first.
   - Use `npx -y @mvanhorn/printing-press-library search <keyword>` for human-readable result cards.
   - Use `npx -y @mvanhorn/printing-press-library search <keyword> --json` for agent-friendly parsing.
   - Use `npx -y @mvanhorn/printing-press-library list --category <category> --json` when the category is known.
   - Each search result includes the canonical install command for that tool.
   - Fall back to the GitHub repo or local clone only when `npx` is unavailable or deeper inspection is needed.

3. Select deliberately.
   - Prefer the candidate whose README/SKILL examples match the user's actual job, not merely the same website name.
   - Check whether auth, cookies, paid APIs, OS-specific binaries, or browser automation are required before installing.
   - Install the narrowest useful tool. Do not install a family of adjacent tools just because the search returned them.

4. Install through the library installer when the selected tool is useful.
   - The default primitive is `npx -y @mvanhorn/printing-press-library install <slug>`.
   - In OpenClaw, use `npx -y @mvanhorn/printing-press-library install <slug> --agent openclaw` so the focused skill is materialized under OpenClaw's managed skills root; the installer defaults the Go binary into a per-user bin directory.
   - The install command installs both the CLI and the matching focused agent skill.
   - `install <slug>` is idempotent: re-running it on an already-installed tool refreshes the Go binary and overwrites/re-adds the focused skill in place.
   - Behind the scenes, the installer uses `go install <module>@latest` for the CLI and the Vercel Agent Skills-compatible `skills` CLI to install the focused `pp-*` skill globally from this repo.
   - If the Go binary installs successfully but is not on the current process `PATH`, treat that as a warning, not a failed skill install. The installer should still install the focused skill and print platform-specific PATH instructions.
   - In agent/gateway environments, shell startup files may not affect the already-running process. Restart the session/gateway after PATH changes, and verify the default user bin directory is visible to the harness.
   - For OpenClaw gateway/service deployments, verify the gateway process PATH can resolve `<slug>-pp-cli`; an interactive shell `which` is not enough.
   - Pass `--cli-only` or `--skill-only` only when the user explicitly wants just one side.

5. Make the newly installed skill visible to the running agent.
   - Most agent harnesses snapshot available skills at session start. After installing or refreshing a focused skill, start a fresh session or reload skills before trying to invoke it.
   - In Hermes CLI sessions, use `/reload-skills` when available, or exit and start a new `hermes` session.
   - In Hermes gateway sessions, use `/restart` from the gateway chat or `hermes gateway restart` from a shell so the gateway process reloads installed skills.
   - In OpenClaw, assume the current agent session may not see newly installed skills until the OpenClaw session or gateway is restarted.

6. Verify before claiming success.
   - If installing a CLI, run its `--help` or an equivalent harmless command.
   - If installing a skill, verify the destination harness can see it after the session reload/restart when the harness has a verification command.
   - If using a credentialed CLI, confirm required environment variables without printing secrets.

7. Offer an efficient periodic update schedule after successful install or refresh.
   - Because install/update is idempotent, it is safe to keep installed Printing Press CLIs and focused skills current with a scheduled job.
   - Do not create a cron/scheduled job without explicit user approval; recurring jobs are durable side effects.
   - Avoid one scheduled job per CLI as the default. Users may install many Printing Press tools, and per-tool jobs become noisy and hard to manage.
   - Prefer one consolidated recurring job that runs `npx -y @mvanhorn/printing-press-library update`, which refreshes every installed Printing Press CLI currently on PATH and its matching focused skill.
   - Offer a per-tool job using `npx -y @mvanhorn/printing-press-library update <slug>` only when the user explicitly wants a different cadence or policy for that one tool.
   - Prefer quiet, low-frequency schedules such as weekly unless the user asks for something else.

## What this skill is for

Use this skill to discover CLIs and agent skills in the public Printing Press Library. Match the user's goal to the right library entry, use the library CLI to find the canonical install command, and install the selected tool only when it is useful for the task.

Good fits:

- finding a purpose-built CLI for a named service
- finding a scraper or data-source tool for a one-off research or automation task
- installing a focused `pp-*` skill so future agents know how to use a specific CLI
- refreshing already-installed Printing Press CLIs and skills

Poor fits:

- replacing a safe built-in agent tool that already solves the task
- installing broad tool bundles speculatively
- credentialed account actions where the user has not approved external side effects
- publishing, posting, booking, buying, emailing, or mutating third-party state without explicit approval

## Install primitive

The Printing Press Library CLI is the canonical interface for installing catalog tools:

```bash
npx -y @mvanhorn/printing-press-library install <slug>
```

For OpenClaw, pass the OpenClaw agent target explicitly. The installer puts the binary in the default per-user bin directory (`$HOME/.local/bin` on macOS/Linux, `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows):

```bash
npx -y @mvanhorn/printing-press-library install <slug> --agent openclaw
```

That command installs both halves of a catalog entry:

- the Go CLI binary
- the matching focused `pp-*` agent skill

For the skill half, the installer shells out through the Vercel Agent Skills-compatible installer. Conceptually, it runs:

```bash
npx -y skills@latest add mvanhorn/printing-press-library/cli-skills/pp-<slug> -g -y
```

So the catalog installer is still the right top-level command: it installs the CLI, then installs the focused skill globally using the same agent-skills mechanism rather than asking the agent to hand-roll a separate skill install path.

The install operation is idempotent and works as a reinstall for one tool. Re-running `install <slug>` uses `go install <module>@latest` for the binary and re-adds the focused skill non-interactively, overwriting the existing install in place. No uninstall-first step is needed.

If install warns that the binary directory is not on `PATH`, the binary and focused skill can still be installed successfully. Follow the printed platform-specific PATH instructions, then restart the running agent session or gateway if it inherits a fixed environment. Use `--bin-dir <dir>` only when the default user bin directory is wrong for that machine.

Use `update` when the user asks to refresh or reinstall existing tools:

Related in Backend & APIs