$npx -y skills add mvanhorn/cli-printing-press --skill printing-press-goldenPrinting Press CLI for Printing Press Golden. Purpose-built fixture for golden generation coverage.
| 1 | # Printing Press Golden — Printing Press CLI |
| 2 | |
| 3 | ## Prerequisites: Install the CLI |
| 4 | |
| 5 | This skill drives the `printing-press-golden-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first: |
| 6 | |
| 7 | 1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows: |
| 8 | ```bash |
| 9 | npx -y @mvanhorn/printing-press-library install printing-press-golden --cli-only |
| 10 | ``` |
| 11 | 2. Verify: `printing-press-golden-pp-cli --version` |
| 12 | 3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill. |
| 13 | |
| 14 | If the `npx` install fails before this CLI has a public-library category, install Node or use the category-specific Go fallback after publish. |
| 15 | |
| 16 | If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds. |
| 17 | |
| 18 | Purpose-built fixture for golden generation coverage. |
| 19 | |
| 20 | ## Command Reference |
| 21 | |
| 22 | **currencies** — Manage currencies |
| 23 | |
| 24 | - `printing-press-golden-pp-cli currencies` — List supported currencies |
| 25 | |
| 26 | **projects** — Manage projects |
| 27 | |
| 28 | - `printing-press-golden-pp-cli projects create` — Create project |
| 29 | - `printing-press-golden-pp-cli projects get` — Get project |
| 30 | - `printing-press-golden-pp-cli projects list` — List projects |
| 31 | |
| 32 | **public** — Manage public |
| 33 | |
| 34 | - `printing-press-golden-pp-cli public` — Get public service status |
| 35 | |
| 36 | **reports** — Manage reports |
| 37 | |
| 38 | |
| 39 | |
| 40 | ## Freshness Contract |
| 41 | |
| 42 | This printed CLI owns bounded freshness only for registered store-backed read command paths. In `--data-source auto` mode, those paths check `sync_state` and may run a bounded refresh before reading local data. `--data-source local` never refreshes. `--data-source live` reads the API and does not mutate the local store. Set `PRINTING_PRESS_GOLDEN_NO_AUTO_REFRESH=1` to skip the freshness hook without changing source selection. |
| 43 | |
| 44 | Covered paths: |
| 45 | |
| 46 | - `printing-press-golden-pp-cli currencies` |
| 47 | - `printing-press-golden-pp-cli currencies get` |
| 48 | - `printing-press-golden-pp-cli currencies list` |
| 49 | - `printing-press-golden-pp-cli currencies search` |
| 50 | - `printing-press-golden-pp-cli projects` |
| 51 | - `printing-press-golden-pp-cli projects get` |
| 52 | - `printing-press-golden-pp-cli projects list` |
| 53 | - `printing-press-golden-pp-cli projects search` |
| 54 | |
| 55 | When JSON output uses the generated provenance envelope, freshness metadata appears at `meta.freshness`. Treat it as current-cache freshness for the covered command path, not a guarantee of complete historical backfill or API-specific enrichment. |
| 56 | |
| 57 | ### Finding the right command |
| 58 | |
| 59 | When you know what you want to do but not which command does it, ask the CLI directly: |
| 60 | |
| 61 | ```bash |
| 62 | printing-press-golden-pp-cli which "<capability in your own words>" |
| 63 | ``` |
| 64 | |
| 65 | `which` resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code `0` means at least one match; exit code `2` means no confident match — fall back to `--help` or use a narrower query. |
| 66 | |
| 67 | ## Auth Setup |
| 68 | Run `printing-press-golden-pp-cli auth setup` to print the URL and steps for getting a key (add `--launch` to open the URL). Then set: |
| 69 | |
| 70 | ```bash |
| 71 | export PRINTING_PRESS_GOLDEN_API_KEY="<your-key>" |
| 72 | ``` |
| 73 | |
| 74 | To persist credentials, use `printing-press-golden-pp-cli auth set-token <token>`. Stored secrets live in `credentials.toml` under the data dir, not in `config.toml`. |
| 75 | |
| 76 | Run `printing-press-golden-pp-cli doctor` to verify setup. |
| 77 | |
| 78 | ## Agent Mode |
| 79 | |
| 80 | Add `--agent` to any command. Expands to: `--json --compact --no-input --no-color --yes`. |
| 81 | |
| 82 | - **Pipeable** — JSON on stdout, errors on stderr |
| 83 | - **Filterable** — `--select` keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs: |
| 84 | |
| 85 | ```bash |
| 86 | printing-press-golden-pp-cli currencies --agent --select id,name,status |
| 87 | ``` |
| 88 | - **Previewable** — `--dry-run` shows the request without sending |
| 89 | - **Offline-friendly** — sync/search commands can use the local SQLite store when available |
| 90 | - **Non-interactive** — never prompts, every input is a flag |
| 91 | - **Explicit retries** — use `--idempotent` only when an already-existing create should count as success |
| 92 | |
| 93 | ### Response envelope |
| 94 | |
| 95 | Commands that read from the local store or the API wrap output in a provenance envelope: |
| 96 | |
| 97 | ```json |
| 98 | { |
| 99 | "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."}, |
| 100 | "results": <data> |
| 101 | } |
| 102 | ``` |
| 103 | |
| 104 | Parse `.results` for data and `.meta.source` to know whether it's live or local. A human-readable `N results |