# Printing Press Publish

Publish a generated CLI to the printing-press-library repo

- Repository: https://github.com/mvanhorn/cli-printing-press (4900 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add mvanhorn/cli-printing-press --skill printing-press-publish -g -a claude-code -y`
Codex: `npx skills add mvanhorn/cli-printing-press --skill printing-press-publish -g -a codex -y`
Cursor: `npx skills add mvanhorn/cli-printing-press --skill printing-press-publish -g -a cursor -y`
Gemini CLI: `npx skills add mvanhorn/cli-printing-press --skill printing-press-publish -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add mvanhorn/cli-printing-press`

## Description

Publish a generated CLI to the printing-press-library repo

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /printing-press publish

Publish a generated CLI from your local library to the [printing-press-library](https://github.com/mvanhorn/printing-press-library) repo as a pull request.

```bash
/printing-press publish notion-pp-cli
/printing-press publish notion
/printing-press publish notion --from-polish
/printing-press publish notion --skip-live-test=auth-unavailable
/printing-press publish notion --blocked-api-journal notion
/printing-press publish
```

## PR shape guard

This skill opens only a generated CLI publish PR or, with
`--blocked-api-journal`, a `blocked-apis.json` journal PR. It never opens a
docs-only, plan, proposal, or spec PR as a substitute for a CLI that is not
ready to publish. If generation, validation, or live testing is blocked, report
the exact blocker and stop.

## Direct User Invocation Required

Publishing can fork `mvanhorn/printing-press-library`, push a branch, and open or
update a PR. Before setup or validation, check the invocation context. If this
skill was invoked as a chained continuation from `printing-press-polish`'s
Publish Offer, including an `AskUserQuestion` answer or auto-resolved polish
recommendation, stop immediately and tell the user to send
`/printing-press-publish <cli-name> --from-polish` in a fresh message. A fresh
user-authored request that explicitly asks to publish is sufficient; do not add
another confirmation prompt on top of a direct publish request.

If the fresh user-authored request includes `--from-polish`, record
`POLISH_HANDOFF=true` for the terminal-state step and ignore that marker when
resolving the CLI name. The marker is not a second confirmation and is not
passed to `cli-printing-press`; it only preserves standalone polish's old
post-publish retro offer after the fresh-turn publish completes.

The rest: https://github.com/mvanhorn/cli-printing-press/blob/HEAD/skills/printing-press-publish/SKILL.md
