mrkeyoor.com_
Tue 01 Sept 17:44 UTC
Dev Toolsevaluationupdated 26 Aug 2026

printing-press-library review

Printing Press Library is a catalog and installer for hundreds of focused command-line tools generated for software agents. It lets Claude Code, Codex, OpenClaw, Hermes, and other skill-aware agents discover a service-specific CLI, install its Go binary and companion skill, then call it with less documentation in the prompt.

+21stars / 7d
Verdict

Our Printing Press Library test run failed in 8 seconds because its compiled test glob was not found, even though installation and build both succeeded and npm audit found 0 vulnerabilities. The catalog is worth using as a discovery layer for agent tools, especially when one focused CLI replaces repeated API explanation. Treat every installed CLI as separate third-party integration code: inspect its permissions, dry-run its writes, and prove the exact commands you will automate.

We ran it

Lab card: what happened when we ran printing-press-libraryScreenshot of printing-press-library (github.com/mvanhorn/printing-press-library)
Install✓ · 5s10 packages · 26 MB
Build✓ · 7s
Tests✗ · 8sran, no count parsed
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo83957 files~15,794,624 lines of source · 1019.3 MB · 18 CI workflows · tests dir

Answers from our run

Does printing-press-library build from source?

Dependencies installed in 5 seconds (10 packages), and the build succeeded in 7 seconds. We cloned commit f1fa1f0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do printing-press-library's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does printing-press-library have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use printing-press-library?

Security-sensitive operators expecting secret redaction to hide an entire token: issue 1595 says the shared masking code leaves the real last 4 characters visible in errors, URLs, and dry runs.

What are the alternatives to printing-press-library?

Vercel Skills, MCP Servers, mcporter. Our Printing Press Library test run failed in 8 seconds because its compiled test glob was not found, even though installation and build both succeeded and npm audit found 0 vulnerabilities.

Setup3/55-second wrapper install; useful tools also need Go and PATH setup
Docs5/5Catalog, installer, skill, binary, and credential paths are explicit
Community4/51,960 stars and same-day commits, with 186 issues and PRs open
Maturity3/5Wide catalog and release machinery, but per-tool defects remain

Who it’s for

Agent builders who want narrow command-line interfaces instead of teaching a model raw REST calls.
Claude Code, Codex, OpenClaw, Hermes, Cursor, and other users whose harness can install agent skills.
Developers willing to inspect one tool's README, credentials, permissions, and live behavior before putting it into an automation.
Teams that value JSON output, local stores, and focused MCP companions for individual services.

Who it’s NOT for

Security-sensitive operators expecting secret redaction to hide an entire token: issue 1595 says the shared masking code leaves the real last 4 characters visible in errors, URLs, and dry runs.
Anyone who assumes every generated command has live parity with its service: issue 1801 documents 2 Weather GOAT commands that always hit the wrong host, while issue 861 shows a Notion flag silently placing blocks at the end.
Minimal environments without Node.js 20+, Go 1.26.5+, writable user directories, and control over PATH.
Buyers who require the checked commit's own npm test command to pass: our 8-second run exited 1 because Node could not find dist/tests/**/*.test.js.
Teams seeking one uniformly authenticated product: credentials, API limits, write permissions, and unofficial interfaces differ from CLI to CLI.

Setup reality

Our sandbox installed the npm project in ./npm/ in 5 seconds, adding 10 packages and using 26 MB. Its build passed in 7 seconds. Tests failed after 8 seconds because Node could not find dist/tests/**/*.test.js; npm audit found 0 known vulnerabilities.

Useful installs go beyond that wrapper. The installer reads the live catalog, invokes go install, and adds a focused agent skill. Each chosen CLI can require its own API key, browser cookie, OAuth setup, or service account, as documented in that tool's README.

The documented baseline is Node.js 20+ and Go 1.26.5+. Binaries go into a per-user directory that must be on PATH, and already-running agents or gateways may need a restart before they see it. The whole checkout measured 1,019.3 MB, so cloning the catalog is a much larger commitment than running the npm installer.

The catalog offers 465 focused CLIs, each with its own risk

Printing Press Library collects generated Go command-line tools for services ranging from sports and travel to cloud administration. The current README counts 465 CLIs in 22 categories. The npm package searches that registry, runs go install, and places the matching focused skill into supported agent environments. That gives an agent a compact command vocabulary instead of making it rediscover an API on every task.

The catalog works best when you already know the service and action you need. Claude Code and other Vercel Agent Skills-compatible clients can install one pp-* skill without the broad discovery skill. Some entries also include an MCP server companion.

A 5-second npm install leads to Go, skills, and service credentials

Our sandbox entered the repository's ./npm/ project and installed it in 5 seconds. Only 10 packages were added, taking 26 MB on disk, and npm audit found 0 known vulnerabilities. The TypeScript build succeeded in another 7 seconds. As a catalog browser, that wrapper is light. Installing a useful entry starts another path: it obtains a Go binary and asks the upstream skills installer to add the focused instructions.

The stated requirements are Node.js 20 or newer and Go 1.26.5 or newer. The installer writes executables to $HOME/.local/bin on macOS and Linux or a per-user Programs directory on Windows. That location must appear on PATH. A running agent gateway may keep its old environment until restarted, even after a shell configuration file changes. Per-CLI authentication can involve API keys, OAuth, service accounts, or browser cookies, so there is no single credential checklist for all 465 entries.

What happened when we ran it

Our test at commit f1fa1f0 failed with exit code 1 after 8 seconds. The command rebuilt the npm package, then called Node's test runner with dist/tests/**/*.test.js. The log ended with Could not find '/work/repo/npm/dist/tests/**/*.test.js'. That message establishes the missing path seen by the runner. It does not show whether compilation omitted tests, the shell failed to expand the glob, or another configuration choice was responsible.

Install and build were successful before that failure: 5 seconds for 10 npm packages and 7 seconds for TypeScript. Npm audit reported 0 known vulnerabilities across that installed wrapper. Those clean npm results do not audit the hundreds of separate Go modules or the services they call. The test failure also matters because the package's prepublishOnly script invokes npm test; the checked commit did not demonstrate a clean release path in our fresh Node 22 container.

The full repository was far larger than the installer. Our checkout measured 83,957 files, about 15,794,624 lines of source, and 1,019.3 MB before the npm install. It contained 18 CI workflow files and a tests directory, with no Dockerfile. This structure reflects hundreds of self-contained tools plus generated skills, manifests, manuscripts, and release records. Clone it to audit or contribute across the catalog. Ordinary users should prefer the narrow installer path.

Generated commands need live checks before automation

Issue 1801 gives a precise example of catalog drift. In Weather GOAT 2026.8.1, the air-quality and history commands send requests to the forecast host even though Open-Meteo serves those endpoints on different hosts. Both return HTTP 404 in the reporter's reproduction. A third helper swallows the air-quality error and returns 0, which can feed a false air-quality value into an activity verdict. The issue points to working host-specific helpers already present elsewhere in the same tool.

A Notion report is more worrying for write automation. Issue 861 shows version 1.0.0 accepting blocks children append --position, displaying the flag in help, then dropping it from the PATCH body. Notion therefore appends the blocks at the end without returning an error. This is the class of defect an agent may miss because the command exits normally. Use dry-run output where available, then read the changed object back and compare its position or fields with the requested operation.

Credential masking exposes the last 4 token characters

Issue 1595 records a generator-level masking behavior found in the Slack CLI: the shared function replaces a credential with four asterisks plus the token's real final 4 characters. The report says that suffix can appear in error bodies, messages, printed URLs, and dry-run output, and tracks the fix in the generator repository. Four characters may seem minor, but logs often move into CI systems, agent transcripts, bug reports, and support tickets where no credential fragment belongs.

This catalog includes CLIs that can create, update, upload, or administer data. A focused skill helps an agent choose flags; it cannot decide your acceptable scope. Use read-only credentials where a tool only needs reads. Test mutating commands against a disposable account, inspect what dry run actually redacts, and keep agent logs under the same access controls as secrets. The README's per-tool credential model is honest, but 465 tools make local policy and selective adoption essential.

Same-day commits show activity, while 186 threads show unfinished work

GitHub showed a last push on August 26, 2026, with registry and skill regeneration commits that same day. The repository had 1,960 stars, 89 open issues, and 97 open pull requests when fetched. Its latest GitHub release was a moving per-tool tag for Zotero Research Library, published that morning, rather than one semantic version for the whole catalog.

Printing Press Library is moving quickly enough that a stale catalog is not the main concern. Variation is. One entry may use an official API and scoped OAuth; another may rely on a browser cookie or captured interface. Publication checks cover build, vet, reachable Go vulnerability scanning, help, version, structure, and runtime verification, according to the README. Current issues still prove that command semantics can be wrong after those checks. Install selectively, pin what your automation depends on, and keep a small acceptance test for each command that can spend money or change remote data.

Alternatives

ProjectWhat it isPick it when
Vercel Skills gh↗An installer for agent skills without Printing Press's generated Go CLI catalog.pick this instead when you only need to discover and install skills and will manage executable tools separately.
MCP Servers gh↗Reference Model Context Protocol servers maintained as examples and building blocks.pick this instead when a smaller reference collection and standard MCP interfaces matter more than hundreds of generated CLIs.
mcporterA TypeScript tool that calls MCP servers and can package their tools as command-line interfaces.pick this instead when your integrations already expose MCP and you want to turn those known servers into scripts.

What people are saying

  1. [github-trending] mvanhorn/printing-press-library

Sources

  1. Printing Press Library README
  2. Printing Press Library repository facts
  3. Printing Press Library npm package documentation
  4. Weather GOAT commands use the wrong hosts
  5. Notion position flag is silently dropped
  6. Slack CLI remaining defects and credential masking
  7. Zotero Research Library moving release

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →