mcpField
S
shopping-agent

shopping-agent

github.com/mary4data生産性187 回インストール
リポジトリ

shopping-agent について

shopping-agentは、献立、冷蔵庫の在庫、価格データから店舗別の買い物リストを作成するスキルです。予算に合わせた調整と、TelegramおよびDiscordへの送信に対応します。

主な機能

  1. 01献立からリストを作成
  2. 02冷蔵庫にある食材を除外
  3. 03店舗別に最安価格で分類
  4. 04予算に合わせてリストを調整
  5. 05TelegramとDiscordに送信

活用シーン

  1. 01献立に基づく店舗別リストの作成
  2. 02予算超過時の食材の見直し
  3. 03Telegramへの送信とDiscordへの通知

インストール

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

$npx skills add https://github.com/mary4data/clawbee --skill shopping-agent

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

同梱ファイルLICENSE.txtreferences/display-format.md

詳細

ショッピングエージェント

食事プランから最適化した買い物リストを作成し、Telegram と Discord に配信します。

/shopping list

  1. 食事プランを読み込みます:
    sqlite3 /data/workspace/pantry.db "SELECT plan_json FROM meal_plans ORDER BY created_at DESC LIMIT 1;" 2>/dev/null
    
  2. 冷蔵庫の中身を読み込みます(すでにあるアイテムを除外するため):
    sqlite3 /data/workspace/pantry.db "SELECT item FROM fridge;" 2>/dev/null
    
  3. 最安値を読み込みます:
    sqlite3 /data/workspace/pantry.db "SELECT item, store, MIN(price) as price, unit FROM prices GROUP BY item;" 2>/dev/null
    
  4. 店舗ごとにまとめ、価格の安い順に表示します。出力形式については references/display-format.md を参照してください。

プランがない場合:「食事プランが見つかりません。先に /meals plan または /plan weekly を実行してください。」

/shopping send

Telegram のメッセージを作成して送信します:

{"action":"send","channel":"telegram","to":"$TELEGRAM_CHAT_ID","message":"*Shopping List*\n\n*Aldi*\n• pasta 500g — €0.89\n\n*Lidl*\n• chicken — €5.09\n\n*Estimated total: €[amount]*\n\n_OpenClaw Meal Planner_"}

Discord にも通知します:

{"action":"send","channel":"discord","to":"channel:$DISCORD_CHANNEL_ID","message":"Shopping list sent to Telegram! Check your phone."}

Telegram への送信に失敗した場合は、エラーメッセージとともにリスト全体をチャットに表示します。

エージェントのフィードバックループ — 予算超過

合計金額が予算を超える場合、確定する前に食事プランナーにフィードバックを送信します:

  1. 価格の高い食材を2~3個特定します
  2. 食事プランナーに、それらの食材を使う食事をより安価な代替案に変更するよう依頼します:
    • サーモン → ツナ缶または卵
    • 鶏むね肉 → 鶏もも肉またはレンズ豆
    • 生のハーブ → 乾燥ハーブ
  3. 更新されたプランでリストを再計算します
  4. リストが予算内に収まってからTelegramに送信します(収まらない場合は差額をユーザーに通知します)

/shopping optimize [budget]

デフォルトの予算:€80。

  • 価格データから合計金額を計算します
  • 予算内の場合:「€[budget]以内です。推定金額:€[total]。」
  • 予算を超える場合は、より安価な代替品(例:サーモンの代わりにツナ缶)を提案します

代替案については references/display-format.md を参照してください。

コメント