pp-dominos
Order pizza, browse menus, optimize deals, and track delivery from the terminal — with a local SQLite store that powers reorder, price comparison, and deal stacking no other Domino's tool offers. Trigger phrases: `order a pizza`, `find a domino's near me`, `track my pizza`, `what's my pizza usual`, `best deal on my pizza order`, `compare pizza prices`, `use dominos`, `run dominos`.
What this skill does
<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/food-and-dining/dominos/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/". -->
# Domino's — Printing Press CLI
## Prerequisites: Install the CLI
This skill drives the `dominos-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 dominos --cli-only
```
2. Verify: `dominos-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.3 or newer):
```bash
go install github.com/mvanhorn/printing-press-library/library/food-and-dining/dominos/cmd/dominos-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 power user needs to interact with Domino's outside a browser — building, pricing, and placing orders, tracking deliveries, comparing prices across stores, optimizing deal selection, or replaying saved order templates. Excellent for automation: every command supports --json, --dry-run, --agent, --select, and structured exit codes. Local SQLite store enables features the public API cannot serve directly (deal optimization, multi-store wait-time comparison, named order templates). DO NOT use this CLI for: other pizza chains (Pizza Hut, Papa John's, etc.), generic food delivery (DoorDash, Uber Eats), restaurant search/aggregation, or non-US Domino's storefronts (only US endpoints are supported).
## Unique Capabilities
These capabilities aren't available in any other tool for this API.
### Local state that compounds
- **`template save`** — Save your usual order — store, address, items, toppings, payment ref — and replay it with one command.
_Reach for this when an agent or user wants a one-command repeat of a known-good order without rebuilding the cart from scratch._
```bash
dominos-pp-cli template save friday-night --from-cart && dominos-pp-cli template order friday-night --eta-watch --json
```
- **`reorder`** — Replay your last order against today's menu; FTS-substitute items the menu rotated out so the order still goes through.
_Reach for this when a saved-order-style replay must survive Domino's menu rotation; substitution avoids the 'this item is no longer available' failure._
```bash
dominos-pp-cli reorder --last --substitute-unavailable --dry-run --json
```
- **`deals best`** — Cross-reference your cart against every available deal (incl. loyalty-exclusive) and report the lowest-priced combination.
_Reach for this before placing an order whenever the user cares about price; the flag enumerates 2-3-deal combinations the website never surfaces._
```bash
dominos-pp-cli deals best --agent
```
- **`analytics`** — Aggregate your synced order history into spending totals, item frequency, favorite stores, and average order value.
_Reach for this when 'how much have I spent on pizza this quarter' or 'what are my top 3 items' is the question. Powered entirely by the local SQLite order history._
```bash
dominos-pp-cli analytics --period 90d --group-by item --agent
```
### Cross-source insights
- **`compare-prices`** — Same cart priced at every nearby store; rank by total including delivery fee.
_Reach for this when latency-or-price tradeoffs across nearby stores matter (delivery fee + wait time can offset a cheaper menu)._
```bash
dominos-pp-cli compare-prices --street "421 N 63rd St" --city "Seattle WA" --items S_PIZPH,S_LAVA --agent
```
- **`stores wait`** — Pull CartEtaMinutes for every store in radius and rank by ETA — the unique GraphQL BFF op every other wrapper ignores.
_Reach for this when busy-hour delivery decisions need accurate wait estimates rather than a phone call to the store._
```bash
dominos-pp-cli stores wait --street "421 N 63rd St" --city "Seattle WA" --agent
```
- **`deals eligible`** — List which advertised deals actually apply to your current cart and explain why each non-matching one fails.
_Reach for this when the user is hunting for a coupon and needs to understand the predicate gap, not just whether 'a deal' applies._
```bash
dominos-pp-cli deals eligible --agent
```
### Agent-native plumbing
- **`track`** — Stream Domino's tracker stages — placed → prep → bake → quality check → out → delivered — until the order arrives.
_Reach for this when an agent or user wants to know precisely when a placed order changes stage without holding open a browser tab._
```bash
dominos-pp-cli track --phone 2065551234 --watch --interval 30s --agent
```
- **`order-quick`** — Replay a template, validate, price, place (with --confirm), and tail the tracker — all in one command emitting a final JSON envelope.
_Reach for this when an agent or automation wants to trigger an order and exit cleanly with structured `{order_id, eta_min, total, tracker_phone}` output._
```bash
dominos-pp-cli order-quick --template friday-night --confirm --eta-watch --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: 0 API entries from 0 total network entries
- Auth signals: bearer_token
## Command Reference
**customer** — Customer profile, order history, and loyalty (requires `auth login`)
- `dominos-pp-cli customer loyalty` — Loyalty points balance, tier status, and pending points for the customer.
- `dominos-pp-cli customer orders` — List the customer's recent orders. Returns full Order objects (Address, Products, Amounts, Coupons, Status, etc.)...
**graphql** — GraphQL BFF operations (discovered via sniff)
- `dominos-pp-cli graphql categories` — Get menu categories for a store
- `dominos-pp-cli graphql create_cart` — Create a new shopping cart
- `dominos-pp-cli graphql customer` — Get authenticated customer profile with saved addresses and preferences
- `dominos-pp-cli graphql deals_list` — Get available deals and coupons for a store
- `dominos-pp-cli graphql get_cart` — Get cart by ID with items and pricing
- `dominos-pp-cli graphql loyalty_deals` — Get member-exclusive deals
- `dominos-pp-cli graphql loyalty_points` — Get loyalty points balance and status
- `dominos-pp-cli graphql loyalty_rewards` — Get available loyalty rewards by tier
- `dominos-pp-cli graphql products` — Get products in a category with customization options
- `dominos-pp-cli graphql quick_add_product` — Quick-add a product to cart by code
- `dominos-pp-cli graphql summary_charges` — Get cart totals including tax and delivery fee
**menu** — Browse store menus and search for items
- `dominos-pp-cli menu <storeID>` — Get the full menu for a store with categories, products, variants, and toppings
**orders** — Create, validate, price, and place orders
- `dominos-pp-cli orders place` — Place an order for delivery or carryout
- `dominos-pp-cli orders price` — Get the price for an order including taxes and fees
- `dominos-pp-cli orders validate` — Validate an order before placing it
**stores** — Find and get information about Domino's stores
- `dominos-pp-cli stores find` — Find nearby Domino's stores by street and city
- `domRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.