Skip to main content

pp-pagliacci

Order Seattle's favorite pizza from the terminal — every endpoint, plus discount stacking, slice rotation across stores, half-and-half pies, and a small-party planner nobody else has. Trigger phrases: `order from pagliacci`, `what pagliacci slices are available`, `plan a pagliacci order for the family`, `build a half-and-half pagliacci pizza`, `pagliacci rewards balance`, `use pagliacci`, `run pagliacci`.

跳到安装

来源信息

仓库
mvanhorn/printing-press-library
最近来源活动
2026年7月8日 18:20
检测到的 SKILL.md 语言
英语
星标
1,918
分支
572

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
pp-pagliacci
description
Order Seattle's favorite pizza from the terminal — every endpoint, plus discount stacking, slice rotation across stores, half-and-half pies, and a small-party planner nobody else has. Trigger phrases: `order from pagliacci`, `what pagliacci slices are available`, `plan a pagliacci order for the family`, `build a half-and-half pagliacci pizza`, `pagliacci rewards balance`, `use pagliacci`, `run pagliacci`.
author
Trevin Chow
license
Apache-2.0
argument-hint
<command> [args] | install cli|mcp
allowed-tools
Read Bash
metadata
{"openclaw":{"requires":{"bins":"[Truncated]"},"install":["[Truncated]"]}}
<!-- GENERATED FILE — DO NOT EDIT. This file is a verbatim mirror of library/food-and-dining/pagliacci/SKILL.md, regenerated post-merge by tools/generate-skills/. Hand-edits here are silently overwritten on the next regen. Edit the library/ source instead. See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". --> # Pagliacci Pizza — Printing Press CLI ## Prerequisites: Install the CLI This skill drives the `pagliacci-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first: 1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows: ```bash npx -y @mvanhorn/printing-press-library install pagliacci --cli-only ``` 2. Verify: `pagliacci-pp-cli --version` 3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill. If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.5 or newer): ```bash go install github.com/mvanhorn/printing-press-library/library/food-and-dining/pagliacci/cmd/pagliacci-pp-cli@latest ``` 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. ## When to Use This CLI Use this CLI when an agent or user wants to interact with Pagliacci Pizza programmatically: browsing the menu, finding a store and time slot, building a half-and-half pizza, planning a small-party order, checking rewards balance, or replaying a past order. The CLI is built for households ordering for family or small parties. ## Unique Capabilities These capabilities aren't available in any other tool for this API. ### Local state that compounds - **`slices today`** — See which Pagliacci slices are available right now at every Seattle store, sorted by proximity to your saved address. _When the family asks 'what slices can we order tonight?', this returns a single comparable list — no per-store iteration needed._ ```bash pagliacci-pp-cli slices today --agent ``` - **`rewards stack`** — Compute the best application of stored coupons, reward redemption, and account credit for a given order total. Defaults to single-best-coupon + credit; multi-coupon stacking is flagged --experimental. _Family-size orders ($40+) hit reward thresholds where stacking actually saves real money — agents pick the optimal discount, not just the first valid coupon._ ```bash pagliacci-pp-cli rewards stack --order-total 55.00 --agent ``` - **`orders summary`** — Aggregate orders over a time range with top items, store breakdown, and order frequency. _See the household's pizza pattern — what we order most, which store, how often — for budgeting or just fun._ ```bash pagliacci-pp-cli orders summary --since 90d --agent ``` ### Time-aware composed lookups - **`store tonight`** — List stores that are still open and can deliver to your saved address right now, sorted by ETA. _Last-minute family dinner: only surface stores that will actually take the order tonight._ ```bash pagliacci-pp-cli store tonight --address-label home --agent ``` - **`address best-time`** — Resolve a saved address label to the next available delivery slot in one call. _Schedule delivery to land at family dinner time — no separate zone lookup or slot search._ ```bash pagliacci-pp-cli address best-time --label home --agent ``` ### Order workflows - **`orders reorder`** — Re-create a past order as a fresh cart, with price revalidation since prices change. Add --send to also submit. _Households have a usual order — replay it without rebuilding the cart line by line._ ```bash pagliacci-pp-cli orders reorder --last --dry-run ``` - **`menu half-half`** — Build a half-and-half pizza in one command, with each side's toppings validated against the menu and priced via ProductPrice. _Families with picky kids order half-and-half pies as the default. One command produces a sendable cart entry for the most common household pizza shape._ ```bash pagliacci-pp-cli menu half-half --left pepperoni --right cheese --size large --json ``` - **`orders plan`** — Given the number of people and a saved address, suggest a complete order plan: best store, delivery slot, sized cart contents, and the optimal discount stack. _Hosting 4–8 people: one command gives the agent everything it needs to confirm an order — no chained tool calls, no manual compose._ ```bash pagliacci-pp-cli orders plan --people 6 --address-label home --json ``` ## HTTP Transport This CLI uses Chrome-compatible HTTP transport for browser-facing endpoints. It does not require a resident browser process for normal API calls. ## Discovery Signals This CLI was generated with browser-observed traffic context. - Capture coverage: 26 API entries from 26 total network entries - Protocols: rest_json (98% confidence) - Auth signals: composed — headers: Authorization — cookies: customerId, authToken - Generation hints: requires_browser_auth, composed_auth - Candidate command ideas: store list — GET /Store returned full inventory of locations; menu top — GET /MenuTop/{storeId} drives the home menu UI; menu cache — GET /MenuCache/{storeId} returns the full menu; menu slices — GET /MenuSlices returns today's slices across all stores; address lookup — POST /AddressInfo validates an address and resolves a delivery store; address list — GET /AddressName returns saved addresses; orders list — GET /OrderList/{page}/{size} returns paginated history; orders get — GET /OrderListItem/{id} returns full detail ## Command Reference **account** — Authentication and registration (no auth required for these endpoints) - `pagliacci-pp-cli account confirm_email` — Confirm a new account by clicking the email-confirmation link's token - `pagliacci-pp-cli account create_token` — Issue a session token (used internally by the SPA for token refresh) - `pagliacci-pp-cli account login` — Authenticate with email/phone + password. Response sets customerId and authToken cookies. - `pagliacci-pp-cli account logout` — Invalidate the current session - `pagliacci-pp-cli account password_forgot` — Request a password reset email - `pagliacci-pp-cli account password_reset` — Reset a password using a token from PasswordForgot email - `pagliacci-pp-cli account register` — Create a new customer account **address** — Address validation and saved address book - `pagliacci-pp-cli address create` — Create a new saved address - `pagliacci-pp-cli address delete` — Delete a saved address - `pagliacci-pp-cli address get` — Get a saved address by ID - `pagliacci-pp-cli address get_info` — Get address info by saved ID - `pagliacci-pp-cli address list` — List the authenticated user's saved addresses - `pagliacci-pp-cli address lookup` — Validate an address and check delivery zone (returns store ID if deliverable) **cart** — Build and price an order before sending it - `pagliacci-pp-cli cart get_quote_building` — Get the current cart/quote-building state by building ID - `pagliacci-pp-cli cart price_order` — Compute the total price for an order (cart contents, taxes, fees, delivery) before sending - `pagliacci-pp-cli cart send_order` — Submit an order. Requires payment information for guests; uses stored payment for authenticated users. - `pagliacci-pp-cli cart update_quote_building` — Update cart contents (add/remove/modify items) **credit** — Account credit balance and entries - `pagliacci-pp-cli credit delete` — Remove an account credit entry - `pagliacci-pp-cli credit get` — Get a single credit entry - `pagliacci-pp-cli credit list` — List the authenticated user's account credit entries **customer** — Customer profile and devices - `pagliacci-pp-cli customer access_devices_delete` — Revoke a device's access to the account - `pagliacci-pp-cli customer access_devices_list` — List devices that have access to this account - `pagliacci-pp-cli customer get` — Get customer profile by ID - `pagliacci-pp-cli customer migrate_answer` — Submit the answer to a migration question - `pagliacci-pp-cli customer migrate_question` — Submit a security/migration question (legacy account migration flow) **customer_feedback** — Customer feedback submissions to Pagliacci - `pagliacci-pp-cli customer_feedback get` — Get a feedback submission by ID - `pagliacci-pp-cli customer_feedback submit` — Submit customer feedback (guest or authenticated) **gifts** — Stored gift cards, balance lookup, and transfer - `pagliacci-pp-cli gifts check` — Check the balance of a gift card by ID and PIN (no auth required to check) - `pagliacci-pp-cli gifts delete` — Remove a stored gift card from the account - `pagliacci-pp-cli gifts get` — Get a single stored gift card by ID - `pagliacci-pp-cli gifts list` — List the authenticated user's stored gift cards - `pagliacci-pp-cli gifts transfer` — Transfer gift card balance to another account - `pagliacci-pp-cli gifts value` — Get current value/balance of a saved gift card **menu** — Menus, slices, and product pricing - `pagliacci-pp-cli menu cache` — Get the full menu (categories, products, prices, descriptions, images) for a store - `pagliacci-pp-cli menu product_price` — Calculate the price for a customized product (size, toppings, modifiers) - `pagliacci-pp-cli menu slices` — Get available slices across all stores for the current day (perishable, rotates daily) - `pagliacci-pp-cli menu top` — Get featured top-of-menu items for a store **orders** — Order history and details - `pagliacci-pp-cli orders clone` — Get order data shaped for re-ordering (transforms a past order into a new cart) - `pagliacci-pp-cli orders get` — Get the full detail of a single past order (items, prices, store, time) - `pagliacci-pp-cli orders list` — List the authenticated user's order history (paginated) - `pagliacci-pp-cli orders list_gift_cards` — List orders that purchased gift cards - `pagliacci-pp-cli orders list_pending` — List orders that are currently in flight (placed but not yet delivered/picked up) - `pagliacci-pp-cli orders suggestion` — Get personalized order suggestions for a customer **rewards** — Loyalty card, rewards history, and stored coupons - `pagliacci-pp-cli rewards card` — Get the authenticated user's reward card balance, points, and available rewards - `pagliacci-pp-cli rewards coupon_lookup` — Look up a coupon by its serial number (validate before applying) - `pagliacci-pp-cli rewards history` — Get reward earning/redemption history (most recent N entries) - `pagliacci-pp-cli rewards stored_coupons` — List coupons saved to the authenticated user's account **scheduling** — Delivery and pickup time windows - `pagliacci-pp-cli scheduling slot_list` — List available time-window slots for a store and service type - `pagliacci-pp-cli scheduling slot_list_for_date` — List allowed slot times for a specific delivery/pickup date (YYYYMMDD) - `pagliacci-pp-cli scheduling window_days` — List available delivery or pickup days for a store. serviceType is DEL (delivery) or PICK (pickup) **store** — Pagliacci store locations, hours, and quote info - `pagliacci-pp-cli store compute_quote` — Compute a quote for a specific store with cart contents (returns Delivery, Drone, Pickup wait values) - `pagliacci-pp-cli store get` — Get a single store by its numeric ID - `pagliacci-pp-cli store get_quote` — Get quote-store metadata (delivery fee, drone status, pickup wait time) for a single store - `pagliacci-pp-cli store list` — List all Pagliacci store locations with addresses, hours, GPS, amenities, and available slices - `pagliacci-pp-cli store list_quotes` — List quote-store metadata (delivery fee, drone status, pickup wait) for all stores **system** — System information and announcements - `pagliacci-pp-cli system site_wide_message` — Get site-wide announcement banner text (closures, holiday hours, etc.) - `pagliacci-pp-cli system version` — Get the current API version ## Freshness Contract 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 `PAGLIACCI_NO_AUTO_REFRESH=1` to skip the freshness hook without changing source selection. Covered paths: - `pagliacci-pp-cli address` - `pagliacci-pp-cli address create` - `pagliacci-pp-cli address delete` - `pagliacci-pp-cli address get` - `pagliacci-pp-cli address get_info` - `pagliacci-pp-cli address list` - `pagliacci-pp-cli address lookup` - `pagliacci-pp-cli credit` - `pagliacci-pp-cli credit delete` - `pagliacci-pp-cli credit get` - `pagliacci-pp-cli credit list` - `pagliacci-pp-cli customer` - `pagliacci-pp-cli customer access_devices_delete` - `pagliacci-pp-cli customer access_devices_list` - `pagliacci-pp-cli customer get` - `pagliacci-pp-cli customer migrate_answer` - `pagliacci-pp-cli customer migrate_question` - `pagliacci-pp-cli gifts` - `pagliacci-pp-cli gifts check` - `pagliacci-pp-cli gifts delete` - `pagliacci-pp-cli gifts get` - `pagliacci-pp-cli gifts list` - `pagliacci-pp-cli gifts transfer` - `pagliacci-pp-cli gifts value` - `pagliacci-pp-cli orders` - `pagliacci-pp-cli orders clone` - `pagliacci-pp-cli orders get` - `pagliacci-pp-cli orders list` - `pagliacci-pp-cli orders list_gift_cards` - `pagliacci-pp-cli orders list_pending` - `pagliacci-pp-cli orders suggestion` - `pagliacci-pp-cli store` - `pagliacci-pp-cli store compute_quote` - `pagliacci-pp-cli store get` - `pagliacci-pp-cli store get_quote` - `pagliacci-pp-cli store list` - `pagliacci-pp-cli store list_quotes` 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. ### Finding the right command When you know what you want to do but not which command does it, ask the CLI directly: ```bash pagliacci-pp-cli which "<capability in your own words>" ``` `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. ## Recipes ### What can we eat tonight? ```bash pagliacci-pp-cli slices today --agent --select store,slice,price ``` Returns today's available slices across all stores with just the high-gravity fields for fast agent decision making. ### Plan a small-party order for 6 ```bash pagliacci-pp-cli orders plan --people 6 --address-label home --json ``` Composes store proximity, delivery slot, sized cart, and discount stack into one recommendation. ### Build a half-and-half family pizza ```bash pagliacci-pp-cli menu half-half --left pepperoni --right cheese --size large --json ``` Validates both halves against the menu and returns a priced, sendable cart entry. ### Replay last order ```bash pagliacci-pp-cli orders reorder --last --dry-run --json ``` Pulls the most recent OrderListItem, transforms via OrderClone, re-prices, and returns a sendable cart without submitting. ### Maximize discount before checkout ```bash pagliacci-pp-cli rewards stack --order-total 55.00 --agent ``` Computes the best application of saved coupons, reward redemption, and account credit for a given order total. ## Auth Setup Pagliacci has no public API and uses a custom composed `PagliacciAuth {customerId}|{authToken}` header constructed from cookies. Run `pagliacci-pp-cli auth login --chrome` while logged into pagliacci.com in Chrome — the CLI reads the auth cookies and constructs the header for you. Public commands (menu, stores, slices, time-windows) work without login; authenticated commands (order history, rewards, saved addresses) require the Chrome session. Run `pagliacci-pp-cli doctor` to verify setup. ## Agent Mode Add `--agent` to any command. Expands to: `--json --compact --no-input --no-color --yes`. - **Pipeable** — JSON on stdout, errors on stderr - **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: ```bash pagliacci-pp-cli address list --agent --select id,name,status ``` - **Previewable** — `--dry-run` shows the request without sending - **Offline-friendly** — sync/search commands can use the local SQLite store when available - **Non-interactive** — never prompts, every input is a flag ### Response envelope Commands that read from the local store or the API wrap output in a provenance envelope: ```json { "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."}, "results": <data> } ``` Parse `.results` for data and `.meta.source` to know whether it's live or local. A human-readable `N results (live)` summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout. ## Agent Feedback When you (or the agent) notice something off about this CLI, record it: ``` pagliacci-pp-cli feedback "the --since flag is inclusive but docs say exclusive" pagliacci-pp-cli feedback --stdin < notes.txt pagliacci-pp-cli feedback list --json --limit 10 ``` Entries are stored locally at `~/.pagliacci-pp-cli/feedback.jsonl`. They are never POSTed unless `PAGLIACCI_FEEDBACK_ENDPOINT` is set AND either `--send` is passed or `PAGLIACCI_FEEDBACK_AUTO_SEND=true`. Default behavior is local-only. Write what *surprised* you, not a bug report. Short, specific, one line: that is the part that compounds. ## Output Delivery Every command accepts `--deliver <sink>`. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported: | Sink | Effect | |------|--------|
在 GitHub 查看
这个 SKILL.md 很大,SkillsMP 这里只预览前一段内容。 在 GitHub 查看