printing-press-library
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.
By mvanhorn · 784 installs
npx skills add mvanhorn/printing-press-library --skill printing-press-library
Source repository · Upstream listing
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:
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):
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:
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:
When deciding whether a local CLI is stale, compare the installed binary's reported version with the catalog release metadata before falling back to source inspection:
In search json or list json , read release.version for the catalog version and release.cli name for the binary name. If the local version is older than the catalog release.version , update the tool with the user's intended binary directory, usually:
Only fall back to go version m <binary , repo inspection, or direct .printing press release.json reads when the catalog entry lacks release metadata or the binary's version string is missing, non semver like, or otherwise suspicious. For example, Substack can be checked with substack pp cli version locally and npx y @mvanhorn/printing press library search substack json remotely; update with npx y @mvanhorn/printing press library update substack bin dir ~/.local/bin when the catalog version is newer.
update <slug delegates to install semantics for that tool. update with no args discovers Printing Press CLIs currently on PATH and refreshes all of them, including their matching focused skills.
Because updates are idempotent, after a successful install or refresh, offer to create a recurring update job. Ask first; do not schedule it automatically. Prefer a single consolidated job over one job per CLI, because users may install many Printing Press tools and per tool schedules become noisy fast.
For most users, schedule one quiet weekly job that refreshes every installed Printing Press CLI currently on PATH and its matching focused skill:
Use a per tool scheduled command only when the user explicitly wants a separate cadence or policy for one tool:
If the installed library CLI exposes reinstall , treat it as a convenience alias for update :
Example:
Use the install line printed by search or list output. Do not synthesize harness specific direct skill install commands as the default path; those are only for explicit skill only workflows.
After install or update, assume the focused skill may not be visible to the currently running agent until skills are reloaded or the session restarts. Hermes CLI sessions can use /reload skills or start a new session. Hermes gateway sessions should use /restart or hermes gateway restart . OpenClaw agents should restart the current session or gateway if the newly installed focused skill is not visible immediately.
Hermes native usage
Hermes can make Printing Press more useful than a plain skill installer because Hermes has native skills, profiles, gateway sessions, cron jobs, memory, and toolsets. Use those primitives instead of treating Hermes like a generic chat harness.
Install and reload in Hermes
After installing or updating a focused tool, make sure Hermes can actually see the new skill before invoking it:
Then reload based on where Hermes is running:
Hermes CLI: run /reload skills if available, or start a fresh hermes session.
Hermes gateway: run /restart in the gateway chat, or run hermes gateway restart from a shell.
Named profiles: install and reload in the same profile that will use the skill. A skill installed under one Hermes home/profile may not be visible to another.
When checking a local Hermes install, useful commands are:
Use these commands for diagnostics only. The catalog installer remains the default path for installing Printing Press catalog entries unless the user explicitly asks for a Hermes only skill install.
Hermes profiles
Hermes profiles isolate config, skills, cron jobs, sessions, and memory. If the user mentions a profile, workspace, or separate assistant identity, do not assume the default profile.
Before diagnosing "skill not found" problems, check:
which Hermes profile is active
which HERMES HOME the installer targeted
whether the skill exists under that profile's skills/ directory
whether the CLI or gateway was restarted after installation
A common failure mode is installing a focused skill into one profile and then trying to use it from another. That is not a Printing Press failure; it is an install target mismatch.
Hermes toolsets
Most Printing Press CLIs require shell execution, so Hermes