pp-allrecipes
Every Allrecipes recipe in your terminal — cached as data, with pantry-aware search, Bayesian-smoothed ranking, and one-line grocery lists. Trigger phrases: `search Allrecipes for X`, `find a recipe for brownies`, `scale this Allrecipes recipe`, `build a grocery list from these recipes`, `what can I cook with what I have`, `use allrecipes-pp-cli`, `run allrecipes`.
What this skill does
<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/food-and-dining/allrecipes/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/". -->
# Allrecipes — Printing Press CLI
## Prerequisites: Install the CLI
This skill drives the `allrecipes-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 allrecipes --cli-only
```
2. Verify: `allrecipes-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/allrecipes/cmd/allrecipes-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
Reach for this CLI when an agent or user needs Allrecipes data as data, not as a webpage: searching for proven recipes, fetching ingredient lists in structured form, building grocery lists across multiple recipes, scaling for different serving counts, or filtering by what's in the pantry. The local SQLite cache makes iterative meal-planning workflows fast — every recipe fetched is queryable forever via `pantry`, `with-ingredient`, `top-rated`, and `dietary`. Skip this CLI when the user wants a multi-site comparison (different tool) or when they need authenticated features like saved recipes or meal plans (intentionally not supported).
## When Not to Use This CLI
Do not activate this CLI for requests that require creating, updating, deleting, publishing, commenting, upvoting, inviting, ordering, sending messages, booking, purchasing, or changing remote state. This printed CLI exposes read-only commands for inspection, export, sync, and analysis.
## Unique Capabilities
These capabilities aren't available in any other tool for this API.
### Local state that compounds
- **`pantry`** — Score Allrecipes recipes against your pantry — see which ones you can actually cook tonight without a grocery run.
_When the user says 'what can I make with what I've got', this is the only command that knows the answer._
```bash
allrecipes-pp-cli pantry --pantry-file ~/pantry.txt --query brownies --agent
```
- **`with-ingredient`** — Find every cached recipe that uses a given ingredient — a SQL view across your local corpus.
_Use this when the user starts from an ingredient they want to use up, not a dish name._
```bash
allrecipes-pp-cli with-ingredient buttermilk --top 10 --agent
```
- **`dietary`** — Filter cached recipes by gluten-free / vegan / low-carb using JSON-LD keywords plus ingredient-name patterns.
_Use this when dietary restrictions are non-negotiable and the user wants more than what the site's diet category page surfaces._
```bash
allrecipes-pp-cli dietary --type gluten-free --top 20 --agent
```
### Ranking that beats the website
- **`top-rated`** — Rank recipes by Bayesian-smoothed rating — proven popular wins over 1-review 5-star noise.
_Pick this over raw search when the agent wants proven recipes, not freshly-uploaded 5-star outliers._
```bash
allrecipes-pp-cli top-rated brownies --smooth-c 200 --limit 10 --agent
```
- **`quick`** — Top-rated recipes that fit a strict time cap — Allrecipes' UI cannot enforce one, but the local cache can.
_Use this when the user's constraint is time, not dish — 'what can I make in 25 minutes that's actually good'._
```bash
allrecipes-pp-cli quick --max-minutes 30 --query chicken --agent
```
### Agent-native plumbing
- **`cookbook`** — Compile a top-rated category into a single markdown cookbook with TOC, ingredients, and instructions.
_When the user asks for a curated bundle (gifts, meal-plan packs), this builds it in one command._
```bash
allrecipes-pp-cli cookbook --category italian --top 20 --output italian-cookbook.md
```
- **`grocery-list`** — Aggregate ingredients from many recipes into a deduped, agent-readable shopping list.
_Use this at the end of a meal plan — one call replaces five scrolls through ingredient lists._
```bash
allrecipes-pp-cli grocery-list https://www.allrecipes.com/recipe/9599/quick-and-easy-brownies/ https://www.allrecipes.com/recipe/16354/easy-meatloaf/ --agent
```
### Reachability mitigation
- **`doctor`** — Health check that names the Cloudflare 'Just a moment...' interstitial by inspecting the response body, then advises the browser-chrome transport.
_When the CLI breaks because of bot detection, the agent gets a specific, actionable error rather than a generic timeout._
```bash
allrecipes-pp-cli doctor
```
## HTTP Transport
This CLI uses Chrome-compatible HTTP transport over HTTP/3 for browser-facing endpoints. It does not require a resident browser process for normal API calls.
## Command Reference
**recipes** — Public Allrecipes recipe pages with Schema.org Recipe JSON-LD markup
- `allrecipes-pp-cli recipes get` — Fetch a recipe by ID + slug; returns parsed JSON-LD Recipe. Requires Cloudflare clearance cookie via `auth login...
- `allrecipes-pp-cli recipes search` — Search Allrecipes for recipes matching a query (no Cloudflare clearance required).
**Hand-written commands**
- `allrecipes-pp-cli recipe <url-or-id>` — Fetch and render a single recipe by URL or ID
- `allrecipes-pp-cli search <query>` — Search Allrecipes for recipes (live + cache)
- `allrecipes-pp-cli top-rated <query>` — Search and rank by Bayesian-smoothed rating (prior 4.0, default C=200)
- `allrecipes-pp-cli quick` — Recipes from cache that fit a strict time cap and are top-rated
- `allrecipes-pp-cli pantry` — Score cached recipes by overlap with a pantry file
- `allrecipes-pp-cli with-ingredient <ingredient>` — Reverse index: cached recipes that use a given ingredient
- `allrecipes-pp-cli dietary` — Filter cached recipes by gluten-free / vegan / low-carb (strict ingredient blocklist)
- `allrecipes-pp-cli cookbook` — Compile a top-rated category or cuisine into a markdown cookbook
- `allrecipes-pp-cli grocery-list <urls...>` — Aggregate ingredients across many recipes into a deduped shopping list (subtract --pantry-file if given)
- `allrecipes-pp-cli scale <url>` — Rescale a recipe to a target serving count
- `allrecipes-pp-cli nutrition <url>` — Show nutrition for a recipe (per serving and total)
- `allrecipes-pp-cli ingredients <url>` — Show parsed ingredients for a recipe
- `allrecipes-pp-cli instructions <url>` — Show numbered instructions for a recipe
- `allrecipes-pp-cli reviews <url>` — Show review summary for a recipe
- `allrecipes-pp-cli category <slug>` — Browse recipes in a category (e.g. dessert, weeknight)
- `allrecipes-pp-cli cuisine <slug>` — Browse recipes by cuisine
- `allrecipes-pp-cli ingredient <name>` — Browse recipes featuring a primary ingredient
- `allrecipes-pp-cli occasion <slug>` — Browse recipes by occasion (holiday, weeknight, party)
- `allrecipes-pp-cli article <url>` — Extract the body of an Allrecipes article page
- `allrecipes-pp-cli gallery <url>` — Extract recipe links from an Allrecipes round-up gallery
- `allrecipes-pp-cli cook <slug>` — Show a cook profile and their recipes
- `allrecipes-pp-cli export <url>` — Export a recipe as markdown
- `allrecipes-pp-cli sync` — Refresh cached recipes that are stale
- `allrecipes-pp-cli cache` — Inspect, lisRelated 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.