pp-recipe-goat について
Recipe Goat は、レシピの検索・整理・分析に使う Printing Press のコマンドラインスキルです。個人の料理やエージェントのワークフロー向けに、複数サイトの検索、ローカルレシピ集、SQLite 同期を備え、CLI の読み取り専用モードを説明します。
主な機能
- 01複数サイトのレシピ検索と順位付け
- 02レシピの取得・保存・検索
- 03食材の代替案と栄養検索
- 04ローカルレシピ集と献立計画
- 05SQLite 同期とデータエクスポート
活用シーン
- 01手持ちの食材から保存済みレシピを検索
- 02献立を計画して買い物リストを作成
- 03同期データのオフライン検索や分析
MCP 対応
README には、別個の MCP サーバーのインストールと Claude Code への登録方法が記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-recipe-goatインストール後、Claude Code で/pp-recipe-goatを入力して読み込まれたか確認します。
詳細
Recipe Goat — Printing Press CLI
前提条件:CLIをインストールする
このスキルは recipe-goat-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLIがインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。
- Printing Press インストーラーを使用してインストールします。バイナリの既定のインストール先は、macOS/Linux では
$HOME/.local/bin、Windows では%LOCALAPPDATA%\Programs\PrintingPress\binです。npx -y @mvanhorn/printing-press-library install recipe-goat --cli-only - 確認します:
recipe-goat-pp-cli --version - このスキルを実行するエージェント/ランタイムの
$PATHに、表示されたインストールディレクトリが含まれていることを確認します。
npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールする方法に切り替えてください(Go 1.26.6 以降が必要です)。
go install github.com/mvanhorn/printing-press-library/library/food-and-dining/recipe-goat/cmd/recipe-goat-pp-cli@latest
インストール後に --version が「command not found」と表示される場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できません。確認に成功するまで、スキルのコマンドを実行しないでください。
この CLI を使用しない場合
作成、更新、削除、公開、コメント、賛成票の投稿、招待、注文、メッセージの送信、予約、購入、またはリモートの状態の変更を必要とするリクエストでは、この CLI を有効にしないでください。この印刷用 CLI が公開するのは、確認、エクスポート、同期、分析を行う読み取り専用コマンドです。
HTTP トランスポート
この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しでは、ブラウザープロセスを常駐させる必要はありません。
コマンドリファレンス
goat — 複数サイト対応のレシピランキング
recipe-goat-pp-cli goat <query>— 厳選されたレシピサイトから候補を取得し、検索語との関連性、評価、レビュー数、掲載時期、サイトの信頼度に基づいてランク付けします
search — 厳選されたサイトでレシピのタイトルを検索
recipe-goat-pp-cli search <query>— レシピ全体を取得せずに、厳選されたサイトでレシピのタイトルを検索します。--site、--kid-friendly、--in-season、--limitを使って結果を絞り込めます
recipe — レシピの取得、表示、確認
recipe-goat-pp-cli recipe get <url>— ソース URL からレシピを取得して表示します。任意で分量の調整、単位の変換、Markdown/プレーンテキストでの出力、USDA による栄養情報の補完を行えますrecipe-goat-pp-cli recipe open <id>— 保存済みのレシピを既定のブラウザーで開きますrecipe-goat-pp-cli recipe reviews <id>— 保存済みのレシピについて、レビュー変更のダイジェスト用プレースホルダーを表示しますrecipe-goat-pp-cli recipe cost <id>— 保存済みのレシピの1食分あたりの費用を見積もります
trending — 厳選されたレシピサイトの人気レシピ
recipe-goat-pp-cli trending— 各サイトのホームページで現在紹介されているレシピを表示します。--siteと--limitを使って検索範囲を指定できます
sub — 食材の代用品
recipe-goat-pp-cli sub <ingredient>— 食材の代用品を検索します。任意で用途による絞り込みや、ヴィーガン向けの候補に限定できます
trust — ランカー向けサイト信頼度スコア
recipe-goat-pp-cli trust list— サイトごとの組み込み信頼度スコアを一覧表示しますrecipe-goat-pp-cli trust set <site> <delta>— ランカーの実験用に、サイトごとのローカル信頼度調整値を保存します
save — ローカルの料理本への保存
recipe-goat-pp-cli save [url]— レシピ URL を1つ取得して保存します。または--stdinを使って標準入力から URL を読み込みます。--tagsでローカルタグを付けられます
cookbook — ローカル料理本の検索、タグ付け、食材との照合
recipe-goat-pp-cli cookbook list— 保存済みのレシピを一覧表示します。タグ、サイト、作者で絞り込めますrecipe-goat-pp-cli cookbook search <query>— タイトルと食材を対象に、保存済みのレシピを全文検索します。食材の包含・除外フィルターを指定できますrecipe-goat-pp-cli cookbook match—--haveで指定したパントリーの食材を使って作れる、保存済みのレシピを検索しますrecipe-goat-pp-cli cookbook tag <id> <tag>[,<tag>]— 保存済みのレシピに1つ以上のタグを付けますrecipe-goat-pp-cli cookbook untag <id> <tag>— 保存済みのレシピからタグを削除しますrecipe-goat-pp-cli cookbook remove <id>— ローカル料理本からレシピを削除します
tonight — ローカル料理本から夕食のレシピを選択
recipe-goat-pp-cli tonight— 保存済みのレシピから、最大調理時間、新しさ、食事制限フィルター、タグ、結果件数を指定して夕食を選びます
meal-plan — 食事プランと買い物リスト
recipe-goat-pp-cli meal-plan set <date> <meal> <recipe-id>— 保存済みのレシピを特定の日付と食事枠に計画しますrecipe-goat-pp-cli meal-plan show— 日付範囲または今週の計画済みの食事を表示しますrecipe-goat-pp-cli meal-plan remove <date> <meal>— 計画済みの食事枠をクリアしますrecipe-goat-pp-cli meal-plan shopping-list— 計画済みの食事全体の食材を集計します。オプションで売り場別にグループ化したり、Markdown、テキスト、CSV としてエクスポートできます
cook — 調理セッションのログ
recipe-goat-pp-cli cook log <recipe-id>— 評価、メモ、任意の日付を付けて調理セッションを記録しますrecipe-goat-pp-cli cook history— 過去の調理セッションを一覧表示します。オプションでレシピや期間でフィルタリングできます
sync — API ベースのリソース向けのローカル SQLite 同期
recipe-goat-pp-cli sync— オフラインでの検索と分析のために API データをローカル SQLite に同期します。リソース、チェックポイント、ページネーション、並行処理を制御できます
export — データのエクスポート
recipe-goat-pp-cli export <resource> [id]— バックアップ、移行、分析のために API データを JSONL または JSON としてエクスポートします
import — JSONL のインポート
recipe-goat-pp-cli import <resource>— API の create/upsert 呼び出しを行って JSONL からレコードをインポートします。送信せずにプレビューするには--dry-runを使用します
workflow — 複合データワークフロー
recipe-goat-pp-cli workflow archive— オフラインでのアクセスと検索のために、サポートされているすべてのリソースをローカルストアに同期しますrecipe-goat-pp-cli workflow status— ローカルアーカイブのステータスと同期状態を表示します
foods — USDA FoodData Central — 食材の栄養情報の検索
recipe-goat-pp-cli foods get— FDC ID で特定の食品を取得しますrecipe-goat-pp-cli foods list— 食品をページネーションで一覧表示しますrecipe-goat-pp-cli foods search— クエリに一致する食品を USDA FoodData Central で検索します
適切なコマンドの見つけ方
やりたいことはわかっているが、どのコマンドがそれを行うかわからない場合は、CLI に直接尋ねてください:
recipe-goat-pp-cli which "<capability in your own words>"
which は、自然言語の機能クエリを、この CLI の厳選された機能インデックスから最も一致するコマンドに解決します。終了コード 0 は少なくとも 1 件の一致を意味し、終了コード 2 は確実な一致がないことを意味します — --help にフォールバックするか、より絞り込んだクエリを使用してください。
認証のセットアップ
API キーを環境変数で設定します:
export USDA_FDC_API_KEY="<your-key>"
または ~/.config/recipe-goat-pp-cli/config.toml に永続化します。
セットアップを確認するには recipe-goat-pp-cli doctor を実行してください。
エージェントモード
任意のコマンドに --agent を追加します。これは --json --compact --no-input --no-color --yes に展開されます。
-
パイプ可能 — JSON は stdout に、エラーは stderr に出力されます
-
フィルタ可能 —
--selectはフィールドのサブセットを保持します。ドット区切りのパスはネストされた構造へと降りていき、配列は要素ごとにたどります。冗長な API でコンテキストを小さく保つために重要です:recipe-goat-pp-cli foods list --agent --select id,name,status -
プレビュー可能 —
--dry-runは送信せずにリクエストを表示します -
オフライン対応 — sync/search コマンドは、利用可能な場合はローカル SQLite ストアを使用できます
-
非対話的 — 決してプロンプトを出さず、すべての入力はフラグです
-
読み取り専用 — この CLI を create、update、delete、publish、comment、upvote、invite、order、send、その他の変更を伴うリクエストに使用しないでください
レスポンスエンベロープ
ローカルストアまたは API から読み取るコマンドは、出力を来歴エンベロープでラップします:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
データには .results を、それがライブかローカルかを知るには .meta.source を解析してください。人間が読める N results (live) のサマリーは、stdout がターミナルの場合にのみ stderr に出力されます — パイプやエージェントのコンシューマーは stdout で純粋な JSON を受け取ります。
エージェントからのフィードバック
この CLI について気になる点に気づいたら、記録してください。
recipe-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
recipe-goat-pp-cli feedback --stdin < notes.txt
recipe-goat-pp-cli feedback list --json --limit 10
エントリーはローカルの ~/.recipe-goat-pp-cli/feedback.jsonl に保存されます。RECIPE_GOAT_FEEDBACK_ENDPOINT が設定され、かつ --send が渡された場合、または RECIPE_GOAT_FEEDBACK_AUTO_SEND=true が設定された場合を除き、POST されることはありません。デフォルトの動作はローカルのみです。
バグ報告ではなく、意外に感じたことを書いてください。短く、具体的に、1 行で記録します。積み重なるのはそこです。
出力の配信先
すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定したシンクに送られるため、エージェントはコマンドの結果を、手作業でパイプに渡すことなく振り分けられます。対応しているシンクは 3 種類です。
| シンク | 動作 |
|---|---|
stdout | デフォルト。標準出力のみに書き込みます |
file:<path> | 出力を <path> にアトミックに書き込みます(一時ファイル+リネーム) |
webhook:<url> | 出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson) |
不明なスキームは、対応しているスキームの一覧を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードを返し、stderr に URL と HTTP ステータスを記録します。
名前付きプロファイル
プロファイルは、呼び出しのたびに再利用できるフラグ値の保存セットです。スケジュールされたエージェントが、同じ設定で同じコマンドを毎回実行する場合に使用してください。これは HeyGen の「Beacon」パターンです。
recipe-goat-pp-cli profile save briefing --json
recipe-goat-pp-cli --profile briefing foods list
recipe-goat-pp-cli profile list --json
recipe-goat-pp-cli profile show briefing
recipe-goat-pp-cli profile delete briefing --yes
明示的に指定したフラグは常にプロファイルの値より優先され、プロファイルの値はデフォルトより優先されます。agent-context は available_profiles の下にすべてのプロファイルを一覧表示するため、情報を取得するエージェントは実行時にプロファイルを検出できます。
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 2 | 使用方法のエラー(引数が正しくありません) |
| 3 | リソースが見つかりません |
| 4 | 認証が必要です |
| 5 | API エラー(上流の問題) |
| 7 | レート制限中(待機して再試行してください) |
| 10 | 設定エラー |
引数の解析
$ARGUMENTS を解析します。
- 空、
help、または--help→recipe-goat-pp-cli --helpの出力を表示します installで始まる →mcpで終わる場合は MCP のインストール、それ以外の場合は上記の前提条件を参照します- その他すべて → 直接利用(
--agentを指定して CLI コマンドとして実行します)
MCP サーバーのインストール
- MCP サーバーをインストールします。
go install github.com/mvanhorn/printing-press-library/library/other/recipe-goat-pp-cli/cmd/recipe-goat-pp-mcp@latest - Claude Code に登録します。
claude mcp add recipe-goat-pp-mcp -- recipe-goat-pp-mcp - 確認します:
claude mcp list
直接利用
- インストールされているか確認します:
which recipe-goat-pp-cli見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。 - ユーザーのクエリに最適なコマンドを、上記の独自機能とコマンドリファレンスから選びます。
--agentフラグを指定して実行します。recipe-goat-pp-cli <command> [subcommand] [args] --agent- 曖昧な場合は、サブコマンドのヘルプを確認します:
recipe-goat-pp-cli <command> --help