mcpField
R
reorder-policy

reorder-policy

github.com/anthropicsその他2.2k58 回インストール2 週間前に更新
リポジトリ

reorder-policy について

StockPilotの補充ルールを定めたスキルです。在庫、販売実績、サプライヤーの納期、必要に応じて予測データを使い、数量や緊急度、優先順位、移送方法を判断します。

主な機能

  1. 01補充基準の判定
  2. 02発注量と安全在庫の計算
  3. 03在庫日数に基づく緊急発注
  4. 04リスク別のSKU優先順位付け
  5. 05倉庫移送と発注の判断指針
  6. 06発注書のコンプライアンス確認

活用シーン

  1. 01補充数量の計算
  2. 02緊急の在庫リスクの優先順位付け
  3. 03倉庫移送とサプライヤー発注の選択
  4. 04発注の推奨内容の作成

インストール

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

$npx skills add https://github.com/anthropics/cwc-workshops --skill reorder-policy

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

詳細

再発注ポリシー

このスキルには StockPilot の再発注ルールが定められています。SKU を再発注するかどうか、および何個発注するかを判断するときは、必ずこのスキルを使用してください。

必要な入力

値取得元
on_hand/mnt/user/data/stock_levels.csv にある該当 SKU の最新行(倉庫固有のタスクでない限り、倉庫間の合計)
reorder_point/mnt/user/data/products.csv
avg_daily_sales/mnt/user/data/sales_history.csv にある過去 14 日間の units_sold の平均
lead_time_days選択したサプライヤーから取得します(サプライヤー選択スキルを参照)
forecast_qty、confidence、flags予測スキルから取得します。タスクが 14 日より先を見通す場合、またはプロモーション/季節について言及している場合に限ります

判断ルール

  1. そもそも再発注するか? on_hand < reorder_point の場合は再発注します。on_hand ≥ reorder_point の場合は「再発注不要」です。ここで終了してください。

  2. いくつ発注するか? 発注目標数量は、30 日分の在庫に安全在庫を加え、現在の在庫数を差し引いた数量です。

    safety_stock = 1.5 × avg_daily_sales × lead_time_days
    order_qty    = (avg_daily_sales × 30) + safety_stock − on_hand
    

    サプライヤーの min_order_qty の倍数に切り上げます。

  3. 信頼度ガード。 予測を取得して confidence < 0.6 の場合、PO を自動的に発行しないでください。 代わりに、notify-templates スキル(エスカレーションテンプレート)を使用して /mnt/user/sinks/outbox.jsonl にエスカレーションを書き込み、予測の flags を含めてください。

    • 最終回答には、推奨数量と、人による確認が必要であること、その理由を記載してください。
  4. 至急配送にしますか? on_hand / avg_daily_sales < lead_time_days(注文が届く前に在庫切れになる)の場合は、最安でなくてもリードタイムが最短のサプライヤーを選び、PO に「至急配送」と記載してください。

計算例

SKU-0057:on_hand = 38、reorder_point = 120、avg_daily_sales = 18.2、選択したサプライヤーの lead_time_days = 7、min_order_qty = 50。

  • 38 < 120 → 再発注します。
  • 安全在庫 = 1.5 × 18.2 × 7 = 191.1
  • 発注数量 = (18.2 × 30) + 191.1 − 38 = 546 + 191.1 − 38 = 699.1 → 次の 50 の倍数に切り上げ → 700
  • 38 / 18.2 = 在庫日数 2.1 日、リードタイムは 7 日 → 至急配送。

優先順位(リスクのある SKU が多数ある場合)

ティア順に並べ、同じティア内では在庫日数の少ない順に並べます。

  1. 在庫切れ — いずれかの倉庫で on_hand = 0。常に最優先です。
  2. PO 到着前に在庫切れになる — days_of_cover < lead_time_days。至急配送または移送します。
  3. 販売速度が速く、再発注点未満 — 再発注点を下回る上位 100 件の売れ筋商品。
  4. 通常の補充 — 再発注点を下回るその他すべての商品。
  5. 再発注点に向けて推移中 — 記録のみで、対応は不要です。

一度の処理ですべての SKU に対応できない場合は、対応した件数と残りの件数を伝え、次回の実行で処理できるよう残りの SKU ID を列挙してください。

移送と再発注の使い分け

ある倉庫の在庫が少なく、別の倉庫に余剰がある場合:

  • 移送 — 余剰のある倉庫に 30 日分を超える在庫があり、3~5 日の移送が最適なサプライヤーのリードタイムより短く、必要数量が約 200 個以下の場合。既定の移送元は WH-CENTRAL です。
  • 再発注 — 余剰のある倉庫がない、必要数量が多い、またはサプライヤーのリードタイムが移送リードタイムとほぼ同じ場合。
  • 両方 — 在庫不足が緊急かつ大規模な場合。必要な数量の一部をすぐに移送し、残りを PO で発注します。

選択した方法とその理由を明記してください。

コンプライアンス

  • 10,000 ドルを超える単一の PO には、運用チームが ERP にコピーできるよう、1 行の根拠を添えてください。
  • 1 つのタスクで 5 件を超える PO を発行する場合は、最後に確定支出の合計を 1 行で記載してください。
  • 必要数量を満たす未処理の PO がすでにある SKU に対して、2 件目の PO を発行しないでください。

出力

実行する場合は、/mnt/user/sinks/purchase_orders.jsonl に追記してください。

{"sku": "SKU-0057", "supplier_id": "SUP-03", "qty": 700, "expedite": true, "reason": "below reorder point; 2.1d cover"}

提案のみを行う場合(副作用のある操作が依頼されていない場合)は、構造化された ReorderDecision を返してください。

{"sku": "...", "reorder": true, "qty": 700, "supplier_id": "SUP-03", "expedite": true, "confidence": 0.85, "notes": "..."}

コメント