mcpField
P
pp-pagliacci

pp-pagliacci

github.com/mvanhornその他2.1k73 回インストール今日更新
リポジトリ

pp-pagliacci について

pp-pagliacciは、Pagliacci Pizzaのメニュー閲覧や注文をプログラムから行う家庭向けコマンドラインスキルです。店舗や配達時間の検索に加え、注文計画、ハーフ&ハーフピザの作成、特典計算、過去の注文の再注文に対応します。

主な機能

  1. 01メニュー、価格、当日のスライスを閲覧
  2. 02営業中の店舗と配達時間枠を検索
  3. 03カスタムまたはハーフ&ハーフピザを作成・価格計算
  4. 04人数と保存済み住所から注文を計画
  5. 05過去の注文を再作成し特典割引を計算

活用シーン

  1. 01今日選べるスライスを確認
  2. 02今夜配達可能な店舗を探す
  3. 03少人数の集まり向けに注文を計画
  4. 04価格を再確認して過去の注文を再作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-pagliacci

インストール後、Claude Code で/pp-pagliacciを入力して読み込まれたか確認します。

詳細

Pagliacci Pizza — Printing Press CLI

前提条件:CLI をインストールする

このスキルは pagliacci-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press のインストーラーを使用してインストールします。バイナリのインストール先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin がデフォルトです。
    npx -y @mvanhorn/printing-press-library install pagliacci --cli-only
    
  2. 確認します:pagliacci-pp-cli --version
  3. 表示されたインストール先ディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx によるインストールが失敗した場合(Node がない、オフラインなど)は、Go から直接インストールしてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/food-and-dining/pagliacci/cmd/pagliacci-pp-cli@latest

インストール後に --version が「command not found」と表示する場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できていません。確認に成功するまで、スキルのコマンドを実行しないでください。

この CLI を使用する場面

エージェントまたはユーザーが、メニューの閲覧、店舗と時間枠の検索、ハーフ&ハーフピザの作成、少人数パーティー向け注文の計画、リワード残高の確認、過去の注文の再現など、Pagliacci Pizza をプログラムから利用する場合にこの CLI を使用します。この CLI は、家族や少人数のパーティー向けに注文する世帯を想定して構築されています。

独自の機能

これらの機能は、この API のほかのツールでは利用できません。

蓄積されるローカル状態
  • slices today — 保存済み住所からの近さ順に、シアトルの各店舗で現在購入できる Pagliacci のスライスを表示します。

    家族から「今夜注文できるスライスは何?」と聞かれたとき、店舗ごとに調べる必要はなく、比較できる一覧を一度に取得できます。

    pagliacci-pp-cli slices today --agent
    
  • rewards stack — 注文合計に対して、保存済みクーポン、リワードの利用、アカウントクレジットを最適に適用する方法を計算します。デフォルトでは最もお得なクーポン1枚とクレジットを組み合わせます。複数クーポンの併用は --experimental として示されます。

    40ドル以上の家族向け注文は、併用によって実際に大きく節約できるリワードのしきい値に達します。エージェントは最初に使えるクーポンではなく、最適な割引を選びます。

    pagliacci-pp-cli rewards stack --order-total 55.00 --agent
    
  • orders summary — 期間内の注文を集計し、人気商品、店舗別の内訳、注文頻度を表示します。

    家計管理にも、単に楽しむためにも、世帯のピザの傾向(よく注文するもの、利用する店舗、頻度)を確認できます。

    pagliacci-pp-cli orders summary --since 90d --agent
    
時間を考慮した複合検索
  • store tonight — 現在営業中で、保存済み住所に配達できる店舗を、到着予定時間順に一覧表示します。

    家族の夕食を直前に注文する場合でも、今夜実際に注文を受け付ける店舗だけを表示します。

    pagliacci-pp-cli store tonight --address-label home --agent
    
  • address best-time — 保存済みの住所ラベルを、次に利用可能な配達時間枠に1回の呼び出しで解決します。

    別途配達エリアを調べたり、時間枠を検索したりせずに、家族の夕食時間に合わせて配達を予約できます。

    pagliacci-pp-cli address best-time --label home --agent
    
注文ワークフロー
  • orders reorder — 過去の注文を、新しいカートとして再作成します。価格変更に備えて価格を再検証します。送信も行う場合は --send を追加します。

    世帯にはいつもの注文があります。カートの内容を一行ずつ作り直すことなく、同じ注文を再現できます。

    pagliacci-pp-cli orders reorder --last --dry-run
    
  • menu half-half — 1つのコマンドでハーフ&ハーフピザを作成します。それぞれの側のトッピングをメニューに照らして検証し、ProductPrice を使って価格を算出します。

    好みのうるさい子どもがいる家庭では、ハーフ&ハーフピザを定番として注文します。1つのコマンドで、家庭でよく注文される形式のピザを注文可能なカート項目として作成できます。

    pagliacci-pp-cli menu half-half --left pepperoni --right cheese --size large --json
    
  • orders plan — 人数と保存済み住所に基づいて、最適な注文プラン(最適な店舗、配達時間枠、人数に合わせたカート内容、最適な割引の組み合わせ)を提案します。

    4~8人を招く場合、1つのコマンドで注文を確定するために必要な情報をエージェントがすべて取得できます。ツールの呼び出しを連鎖させたり、手動で組み立てたりする必要はありません。

    pagliacci-pp-cli orders plan --people 6 --address-label home --json
    

HTTP トランスポート

この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しに、常駐するブラウザープロセスは必要ありません。

検出シグナル

この CLI は、ブラウザーで観測されたトラフィックのコンテキストを基に生成されました。

  • キャプチャ範囲:全 26 件のネットワークエントリーのうち、API エントリー 26 件
  • プロトコル:rest_json(信頼度 98%)
  • 認証シグナル:複合 — ヘッダー:Authorization — Cookie:customerId、authToken
  • 生成時のヒント:requires_browser_auth、composed_auth
  • コマンド候補のアイデア:店舗一覧 — GET /Store は店舗の全一覧を返します;メニューのトップ — GET /MenuTop/{storeId} はホームメニュー UI に表示されます;メニューキャッシュ — GET /MenuCache/{storeId} はメニュー全体を返します;メニューのスライス — GET /MenuSlices は全店舗の本日のスライスを返します;住所検索 — POST /AddressInfo は住所を検証し、配達店舗を特定します;住所一覧 — GET /AddressName は保存済み住所を返します;注文一覧 — GET /OrderList/{page}/{size} はページ分割された注文履歴を返します;注文取得 — GET /OrderListItem/{id} は詳細全体を返します

コマンドリファレンス

account — 認証と登録(これらのエンドポイントでは認証は不要です)

  • pagliacci-pp-cli account confirm_email — メール確認リンクのトークンを使用して、新しいアカウントを確認します
  • pagliacci-pp-cli account create_token — セッショントークンを発行します(トークン更新のために SPA が内部で使用します)
  • pagliacci-pp-cli account login — メールアドレスまたは電話番号とパスワードで認証します。レスポンスにより customerId と authToken の Cookie が設定されます。
  • pagliacci-pp-cli account logout — 現在のセッションを無効にします
  • pagliacci-pp-cli account password_forgot — パスワードリセットメールをリクエストします
  • pagliacci-pp-cli account password_reset — PasswordForgot メールのトークンを使用してパスワードをリセットします
  • pagliacci-pp-cli account register — 新しい顧客アカウントを作成します

address — 住所の検証と保存済み住所録

  • pagliacci-pp-cli address create — 新しい住所を保存します
  • pagliacci-pp-cli address delete — 保存済み住所を削除します
  • pagliacci-pp-cli address get — ID で保存済み住所を取得します
  • pagliacci-pp-cli address get_info — 保存済み ID で住所情報を取得します
  • pagliacci-pp-cli address list — 認証済みユーザーの保存済み住所を一覧表示します
  • pagliacci-pp-cli address lookup — 住所を検証し、配達区域を確認します(配達可能な場合は店舗 ID を返します)

cart — 注文を送信する前に作成して価格を計算します

  • pagliacci-pp-cli cart get_quote_building — building ID で現在のカート/見積もり作成状態を取得します
  • pagliacci-pp-cli cart price_order — 注文を送信する前に、合計金額(カートの内容、税金、手数料、配達料)を計算します
  • pagliacci-pp-cli cart send_order — 注文を送信します。ゲストの場合は支払い情報が必要です。認証済みユーザーの場合は保存済みの支払い方法を使用します。
  • pagliacci-pp-cli cart update_quote_building — カートの内容(商品の追加、削除、変更)を更新します

credit — アカウントのクレジット残高と明細

  • pagliacci-pp-cli credit delete — アカウントのクレジット明細を削除します
  • pagliacci-pp-cli credit get — クレジット明細を 1 件取得します
  • pagliacci-pp-cli credit list — 認証済みユーザーのアカウントのクレジット明細を一覧表示します

customer — 顧客プロフィールとデバイス

  • pagliacci-pp-cli customer access_devices_delete — デバイスによるアカウントへのアクセスを取り消します
  • pagliacci-pp-cli customer access_devices_list — このアカウントにアクセスできるデバイスを一覧表示します
  • pagliacci-pp-cli customer get — ID で顧客プロフィールを取得します
  • pagliacci-pp-cli customer migrate_answer — 移行に関する質問への回答を送信します
  • pagliacci-pp-cli customer migrate_question — セキュリティ/移行に関する質問を送信します(レガシーアカウントの移行フロー)

customer_feedback — Pagliacci への顧客フィードバックの送信

  • pagliacci-pp-cli customer_feedback get — ID でフィードバックの送信内容を取得します
  • pagliacci-pp-cli customer_feedback submit — 顧客フィードバックを送信します(ゲストまたは認証済みユーザー)

gifts — 保存済みギフトカード、残高の照会、譲渡

  • pagliacci-pp-cli gifts check — ID と PIN を使ってギフトカードの残高を確認します(確認に認証は不要です)
  • pagliacci-pp-cli gifts delete — アカウントに保存されているギフトカードを削除します
  • pagliacci-pp-cli gifts get — ID を指定して、保存されているギフトカードを 1 件取得します
  • pagliacci-pp-cli gifts list — 認証済みユーザーの保存済みギフトカードを一覧表示します
  • pagliacci-pp-cli gifts transfer — ギフトカードの残高を別のアカウントに移行します
  • pagliacci-pp-cli gifts value — 保存済みギフトカードの現在の価値/残高を取得します

menu — メニュー、スライス、商品価格

  • pagliacci-pp-cli menu cache — 店舗のメニュー全体(カテゴリー、商品、価格、説明、画像)を取得します
  • pagliacci-pp-cli menu product_price — カスタマイズした商品の価格(サイズ、トッピング、追加オプション)を計算します
  • pagliacci-pp-cli menu slices — 当日の全店舗で提供されているスライスを取得します(生鮮品のため、毎日入れ替わります)
  • pagliacci-pp-cli menu top — 店舗のメニュー上部に掲載されているおすすめ商品を取得します

orders — 注文履歴と詳細

  • pagliacci-pp-cli orders clone — 再注文用に整形された注文データを取得します(過去の注文を新しいカートに変換します)
  • pagliacci-pp-cli orders get — 過去の注文 1 件の詳細(商品、価格、店舗、時刻)をすべて取得します
  • pagliacci-pp-cli orders list — 認証済みユーザーの注文履歴を一覧表示します(ページネーション対応)
  • pagliacci-pp-cli orders list_gift_cards — ギフトカードを購入した注文を一覧表示します
  • pagliacci-pp-cli orders list_pending — 現在処理中の注文(注文済みで、配達または受け取りが完了していない注文)を一覧表示します
  • pagliacci-pp-cli orders suggestion — 顧客にパーソナライズされた注文のおすすめを取得します

rewards — ポイントカード、特典履歴、保存済みクーポン

  • pagliacci-pp-cli rewards card — 認証済みユーザーのリワードカードの残高、ポイント、利用可能な特典を取得します
  • pagliacci-pp-cli rewards coupon_lookup — シリアル番号でクーポンを検索します(適用前の検証に使用)
  • pagliacci-pp-cli rewards history — ポイントの獲得/利用履歴を取得します(新しいものから N 件)
  • pagliacci-pp-cli rewards stored_coupons — 認証済みユーザーのアカウントに保存されているクーポンを一覧表示します

scheduling — 配達と受け取りの時間帯

  • pagliacci-pp-cli scheduling slot_list — 店舗とサービスの種類を指定して、利用可能な時間帯を一覧表示します
  • pagliacci-pp-cli scheduling slot_list_for_date — 特定の配達/受け取り日(YYYYMMDD)に利用可能な時間帯を一覧表示します
  • pagliacci-pp-cli scheduling window_days — 店舗で配達または受け取りが可能な日を一覧表示します。serviceType は DEL(配達)または PICK(受け取り)です

store — Pagliacci の店舗所在地、営業時間、見積もり情報

  • pagliacci-pp-cli store compute_quote — カートの内容を使って特定の店舗の見積もりを計算します(配達、ドローン、受け取りの待ち時間を返します)
  • pagliacci-pp-cli store get — 数値 ID で店舗を 1 件取得します
  • pagliacci-pp-cli store get_quote — 1 店舗の見積もり用メタデータ(配達料金、ドローンの状況、受け取り待ち時間)を取得します
  • pagliacci-pp-cli store list — Pagliacci の全店舗の所在地、住所、営業時間、GPS、設備、提供中のスライスを一覧表示します
  • pagliacci-pp-cli store list_quotes — 全店舗の見積もり用メタデータ(配達料金、ドローンの状況、受け取り待ち時間)を一覧表示します

system — システム情報とお知らせ

  • pagliacci-pp-cli system site_wide_message — サイト全体のお知らせバナーのテキスト(休業、祝日の営業時間など)を取得します
  • pagliacci-pp-cli system version — 現在の API バージョンを取得します

最新性の保証

この CLI の表示機能が最新性を保証するのは、登録済みのストアデータを使用する読み取りコマンドパスに限られます。--data-source auto モードでは、これらのパスは sync_state を確認し、ローカルデータを読み取る前に、範囲を限定した更新を実行することがあります。--data-source local では更新されません。--data-source live では API を読み取り、ローカルストアは変更しません。データソースの選択は変えずに最新性チェックをスキップするには、PAGLIACCI_NO_AUTO_REFRESH=1 を設定してください。

対象となるパス:

  • 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

JSON 出力で生成されたプロベナンスエンベロープを使用する場合、最新性のメタデータは meta.freshness に表示されます。これは対象コマンドパスにおける現在のキャッシュの最新性を示すものであり、過去のデータがすべてバックフィルされていることや、API 固有の拡充を保証するものではありません。

適切なコマンドを見つける

やりたいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接尋ねてください。

pagliacci-pp-cli which "<capability in your own words>"

which は自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 件の一致があることを意味します。終了コード 2 は確信を持てる一致がないことを意味します。その場合は --help を確認するか、より絞り込んだ問い合わせを使用してください。

レシピ

今夜は何を食べられますか?
pagliacci-pp-cli slices today --agent --select store,slice,price

すばやく判断できるよう、重要度の高いフィールドのみを使って、全店舗で本日入手可能なスライスを返します。

6 人の小規模パーティー向けに注文を計画する
pagliacci-pp-cli orders plan --people 6 --address-label home --json

店舗までの距離、配達時間枠、人数に合わせたカート、割引の組み合わせをまとめて、1 つのおすすめを作成します。

ハーフ&ハーフのファミリーピザを作る
pagliacci-pp-cli menu half-half --left pepperoni --right cheese --size large --json

メニューに照らして両方のハーフを検証し、価格付きですぐ送信できるカート項目を返します。

前回の注文を再現する
pagliacci-pp-cli orders reorder --last --dry-run --json

最新の OrderListItem を取得し、OrderClone を通じて変換して価格を再計算し、送信せずにすぐ送信できるカートを返します。

チェックアウト前に割引を最大化する
pagliacci-pp-cli rewards stack --order-total 55.00 --agent

指定された注文合計に対して、保存済みクーポン、特典の引き換え、アカウントクレジットを最適に適用する方法を計算します。

認証の設定

Pagliacci には公開 API がなく、Cookie から構成されるカスタムの PagliacciAuth {customerId}|{authToken} ヘッダーを使用します。Chrome で pagliacci.com にログインした状態で pagliacci-pp-cli auth login --chrome を実行してください。CLI が認証 Cookie を読み取り、ヘッダーを作成します。公開コマンド(メニュー、店舗、スライス、時間枠)はログインなしで使えます。認証が必要なコマンド(注文履歴、特典、保存済み住所)には Chrome のセッションが必要です。

pagliacci-pp-cli doctor を実行して、セットアップを確認してください。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — stdout に JSON、stderr にエラーを出力します

  • フィルター可能 — --select でフィールドを絞り込めます。ドット区切りのパスはネストされた構造をたどり、配列では各要素をたどります。出力の多い API でコンテキストを小さく保つために重要です:

    pagliacci-pp-cli address list --agent --select id,name,status
    
  • プレビュー可能 — --dry-run で送信せずにリクエストを表示します

  • オフライン対応 — 利用可能な場合、同期/検索コマンドはローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトを表示せず、すべての入力をフラグで指定します

レスポンスエンベロープ

ローカルストアまたは API からデータを読み取るコマンドは、出力をプロベナンスエンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を、ライブデータかローカルデータかの判別には .meta.source を解析してください。人間が読める N results (live) という概要は、stdout がターミナルの場合にのみ stderr に出力されます。パイプやエージェントから利用する場合、stdout には純粋な JSON が出力されます。

エージェントからのフィードバック

この CLI で気になることがあれば(エージェントが気づいた場合も同様に)、記録してください:

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

エントリはローカルの ~/.pagliacci-pp-cli/feedback.jsonl に保存されます。PAGLIACCI_FEEDBACK_ENDPOINT が設定され、かつ --send が渡された場合、または PAGLIACCI_FEEDBACK_AUTO_SEND=true の場合を除き、POST されることはありません。デフォルトではローカルにのみ保存されます。

バグ報告ではなく、意外に感じたことを書いてください。短く、具体的に、1 行で。それが積み重なっていく要素です。

出力の配信

すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定したシンクに送られるため、エージェントはコマンド結果を手動でパイプしなくても転送できます。利用できるシンクは 3 種類です:

シンク動作
stdoutデフォルト。stdout にのみ出力します
file:<path><path> に出力をアトミックに書き込みます(tmp + rename)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、サポート対象の一覧を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードを返し、stderr に URL と HTTP ステータスを記録します。

名前付きプロファイル

プロファイルは、保存したフラグ値のセットで、複数回の実行で再利用できます。スケジュールされたエージェントが毎回同じ設定で同じコマンドを呼び出す場合に使用します。これは HeyGen の「Beacon」パターンです。

pagliacci-pp-cli profile save briefing --json
pagliacci-pp-cli --profile briefing address list
pagliacci-pp-cli profile list --json
pagliacci-pp-cli profile show briefing
pagliacci-pp-cli profile delete briefing --yes

明示的に指定したフラグは、常にプロファイルの値より優先されます。プロファイルの値はデフォルト値より優先されます。agent-context は、実行時に情報を調べるエージェントがプロファイルを見つけられるよう、すべてのプロファイルを available_profiles の下に一覧表示します。

終了コード

コード意味
0成功
2使用方法のエラー(引数が不正)
3リソースが見つかりません
4認証が必要です
5API エラー(上流の問題)
7レート制限中(待機して再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します:

  1. 空、help、または --help → pagliacci-pp-cli --help の出力を表示します
  2. install で始まる場合 → mcp で終わる場合は MCP のインストール。それ以外の場合は、上記の前提条件を参照してください
  3. それ以外 → 直接使用(CLI コマンドとして --agent を付けて実行します)

MCP サーバーのインストール

  1. MCP サーバーをインストールします:
    go install github.com/mvanhorn/printing-press-library/library/food-and-dining/pagliacci/cmd/pagliacci-pp-mcp@latest
    
  2. Claude Code に登録します:
    claude mcp add pagliacci-pp-mcp -- pagliacci-pp-mcp
    
  3. 確認します:claude mcp list

直接使用

  1. インストール済みか確認します:which pagliacci-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。
  2. ユーザーの問い合わせに最適なコマンドを、上記の独自機能とコマンドリファレンスから選びます。
  3. --agent フラグを付けて実行します:
    pagliacci-pp-cli <command> [subcommand] [args] --agent
    
  4. 曖昧な場合は、サブコマンドのヘルプを確認します:pagliacci-pp-cli <command> --help。

コメント