• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLKnowledge Work

inventory-planner

プラグイン
Small Business
ソース
GitHub で見る ↗
説明

実際の売上データからどの商品をいつ発注するかを判断します。Shopify、Square、NetSuite、またはアップロードしたCSVから販売履歴と現在の在庫を取得し、商品ごとに7日間と28日間の売上速度を計算します。その後、各商品の在庫切れになる日付を保守的に予測し、60日分の発注数量を算出して、購入発注書とベンダーへのメール案を作成します。 また、動きの鈍い商品や売れていない商品、売上がない商品など、余剰在庫や不動在庫(売れ残ったまま動いていない商品)も指摘し、追加購入の対象ではなく、売却して処分すべきものとして報告します。過去のデータから季節変動のパターンが見つかれば適用し、見つからなかった場合はその旨を明記します。 発注の確定やベンダーへのメール送信は、承認を得てからのみ実行されます。「何を発注する必要があるか」「在庫が切れないか」「今月何を発注すべきか」「フィルターが常に品切れになる」「倉庫にいくら分の商品が眠っているか」「動いていない商品は何か」「ベンダー向けの発注書を作成してほしい」など、在庫に関する質問が出た際に活用できます。

原文を表示

Works out what to reorder and when, from what is actually selling: pulls sales history and stock on hand from Shopify, Square, NetSuite, or an uploaded CSV, computes 7-day and 28-day sales velocity per item, projects a conservative stockout date for each, sizes a 60-day reorder quantity, and drafts the purchase orders and vendor emails to cover it. Flags the money sitting still too — overstock, dead stock, and zero-velocity items, reported as slow movers to clear rather than things to buy more of. Seasonality is applied where the history supports it and named where it does not. Nothing is ordered and no vendor is emailed without approval. Reach for this whenever stock comes up — "what do I need to reorder," "am I going to run out," "what should I order this month," "we keep running out of filters," "how much cash is sitting in the warehouse," "what is not moving," or "draft a PO for my supplier."

ユースケース
  • どの商品をいつ発注するか判断するとき
  • 在庫切れを予防したいとき
  • 余剰在庫や不動在庫を特定するとき
  • ベンダーへの発注書を作成するとき
  • 在庫に関する質問に答えるとき
本文(日本語訳)

在庫計画立案スキル

売れるものを、なくなる前に買う。売れないものは買わない。

在庫は店主がすでに使ったお金です。二つの失敗が起こります。お客さんが欲しい商品がなくなること、と誰も欲しくない商品が積まれたままになることです。どちらも販売履歴に、問題が起こるずっと前から現れます。このスキルはそこを読みます。

ステップ 1 — 売上と在庫を集める

推奨: Shopify で売上と在庫数。Square と NetSuite も同じように使えます。

代替案(完全対応): 売上の履歴と現在の在庫数を CSV ファイルで入力。2 つのファイルでも、1 つにまとめてもかまいません。この方法はコネクタ(外部ツール連携機能)不要で、同じ結果が得られます。多くの事業所は手書きで数えていますが、それは正当な入力方法です。

商品ごとに必要な情報: SKU(商品識別番号)、商品名、日ごとの販売数、現在の在庫数、原価、販売価格、仕入先、納期(わかれば)。納期がなければ一度だけ聞いて記憶します(reference/data_sources.md を参照)。

在庫数が何日時点のものかを明記してください。 2 週間前の在庫数を使うと、欠品日予測も 2 週間ずれます。

ステップ 2 — 売速(売れるペース)を 2 つの期間で計算する

商品ごとに計算します:

  • 7 日間の売速 — 過去 1 週間の 1 日あたり販売数。今何が起きているかを捉えます。
  • 28 日間の売速 — 4 週間の 1 日あたり販売数。安定した基準値です。

どちらも大切です。この 2 つがズレていることも情報です。ある商品が 28 日間の売速の 3 倍で売れているなら、ブームか大口注文どちらかで、対応が違います。見分け方は reference/velocity_and_reorder.md を参照。

基準値から、特殊な1回限りのズレは除きます。大口取引、返品、欠品中は除外してください。在庫がないから売上がないのは、需要がないのではなく、需要が押さえられているのです。 これを 0 需要として扱うと、その商品は永遠に少なく発注され続けます。

ステップ 3 — 欠品日を控えめに予測する

欠品日は「現在在庫 ÷ 信頼できない方の売速(2 つの期間のうち高い方)」です。早め予測は安い。遅すぎると売上を失う。

次に納期と比べます。重要な数字は「いつなくなるか」ではなく、「発注する時間が残っているか」です:

  • 発注限界を超えた — 納期が在庫日数より長い。もう欠品する。明確に言う。
  • 今すぐ発注 — 在庫日数が納期と安全マージンの合計以内。
  • 近いうちに発注 — 余裕がある。次の発注サイクルで。
  • 問題なし — 対応不要。

売速が信頼できない商品について、欠品日を述べてはいけません。 履歴 2 週間の新商品や、販売が中断された商品は「履歴不足」と商品名で警告する。

ステップ 4 — 発注数を決める

デフォルト目標は 60 日分の在庫プラス納期分。ただし 28 日間の売速で計算する。7 日間の売速ではなく。 到着した日から次の発注品が来る日まで持たせるので、納期を入れないと毎サイクル正確に納期日数だけ不足します。次に仕入規格(パック単位)、最小注文数、すでに発注済みの数を調整。

2 つの売速は別の役割をします。高い方は「いつなくなるか」、28 日間のは「いくら買うか」。1 週間のスパイク(一時的な急上昇)で 60 日分の発注を決めると、お金が積まれたままになります。

発注前に必ず入荷予定分を引きます。遅い商品を二重発注するのは、3 年分ストックを抱える道です。

仕入先のパック単位に合わせ、どちらに丸めたかを言う。すべての提案について金額を表示する。店主は個数でなく、お金について決めています。

ステップ 5 — 動きのない商品を扱う

売速 0 と非常に遅い商品は別のリストで別の目的があります。発注候補には絶対になりません。

  • 売速 0 — 28 日間で売上 0。資金が滞った遅動商品として報告。これらの日数を計算してはいけません — 売上がないので欠品しません。数字はエラーか無意味です。唯一の例外は、店主が季節指定した商品。これは破棄リストではなく日付付き監視リストに入ります。
  • 過剰在庫 — 120 日以上分の在庫。超過分の個数と金額を報告。
  • デッドストック — 90 日間の動きなし。破棄、セット販売、割引を提案。

これらに滞った現金を合計する。この数字は報告書全体で最も意外な、そして最も役立つ数字であることが多い。

ステップ 6 — 季節調整は履歴で正当化できる場合だけ

1 年以上の履歴があれば、来期を去年の同期と比べ調整します。

1 年未満なら、そう言い、調整しない。 9 か月のデータでつくった季節倍率は仮説です。店主に聞く — 短い履歴より季節を知っています。両方のやり方は reference/seasonality.md を参照。

ステップ 7 — 買い付けリストを示す

総金額と欠品寸前の商品数で始める。その後:今すぐ発注、近いうちに発注、遅動商品、判断材料が不足した商品。

すべての行に数字を。売速、在庫日数、納期、数量、原価。理由が見える店主は 1 分で承認します。見えない店主は全部を手で計算し直す。

買い付けリストを HTML アーティファクト(共通スタイル ../../shared/artifact-style.md 使用)でレンダリング:欠品日順に並べた表、等幅フォント(数字用)、ステータスラベル(今すぐ発注 / 近いうちに発注 / 問題なし / 発注限界超過)、数量と金額合計をまとめた発注パネル、遅動商品セクション(滞った現金付き)。チャット要約は残す — アーティファクトは全体像で、唯一の情報源ではない。

ステップ 8 — 発注書とベンダー(仕入先)メールを起草し、承認を得る

発注書と仕入先メールは店主の名義です。明示的な承認を待つ。

ベンダー、行アイテム、合計を述べてから聞く。ベンダーメールを店主の文体で起草(共通音声プロフィール 参照)。プロフィールがなければ、そのファイルの「サンプルがない場合」指示に従う — 既に仕入先に送った 3 つのメールを求める。そうしたくなければ、平易で中立的に書き、「あなたの文体ではない」と言う。仕入先関係に人格を創造しない。

Google Calendar がつながれば、在庫補充の決定を繰り返し予約するオプションを提示 — 突発対応より定期リズムが効く。承認済み発注書をここに保存 — このスキルが所有。QuickBooks または NetSuite がつながれば、ap-processor(支払い処理)に各発注の符号メモを手渡す(仕入先、発注番号、合計、予定日、勘定、分類、仕事)。請求が来たら実レコードに 3 つ照合します。ap-processor は発注を読みます。作りません。

終わりの提案

決めたことを 1 行で:総購入額と欠品寸前の商品。その後、最も関連のある次のステップを正確なトリガー句で:「発注」(/restock)店主が発注書最後まで起草・送信したい時。ルーターテーブルから最大 2 つまで。「現金予測」(cash-flow-snapshot)や「請求書を払う」(/pay-the-bills)など。最多 3 つ、この回で店主がすでに断ったものは繰り返さない。

してはいけないこと

  • 売速、納期、欠品日を作り出さない。 履歴不足は SKU ごと報告。平滑化しない。
  • 欠品期間を 0 需要として扱わない。 抑制された需要で、下流すべてを歪めます。
  • 売速 0 の商品を発注すすめない。 売上なしは買うの中止、もっと買うではない。
  • 入荷予定分を引かずに発注数を決めない。
  • 1 年未満で季節調整しない。 店主に聞く。
  • 承認なしに発注書やメール送らない。 どちらもお金か信用を使います。
  • 金額なしで個数を報告しない。 店主はお金で考えます。

リファレンスファイル

  • reference/data_sources.md — Shopify、Square、NetSuite、CSV 形式、必須フィールド
  • reference/velocity_and_reorder.md — 7/28 日計算、ズレ対応、発注サイズ決定
  • reference/seasonality.md — 調整する時、聞く時、何をしたかの言い方
  • reference/po_drafting.md — 発注書構成、メール起草
  • reference/gotchas.md — 売上 1 位を欠品させたり現金を積ませたりする間違い

リストにないツールを使う場合

このスキルに名前がある コネクタは検証済みのパスで、壁ではありません。店主がこのフローを未接続・未リストのツールで動かしたければ、build-connector を提示 — コネクタディレクトリを先に確認し、Zapier 経由で接続。生 API に手で組みません。接続できたら、そのツールはこのスキルに他の任意コネクタと同じく加わり、同じ承認ゲートを通ります。

原文(English)を表示

Inventory Planner

Buy what sells, before it runs out, and stop buying what doesn't.

Stock is cash the owner already spent. Two things go wrong: running out of the item customers came for, and sitting on a pallet of something nobody wants. Both are visible in the sales history well before they become a problem, which is what this skill reads for.

Step 1 — Get sales and stock

Preferred: Shopify for sales and inventory levels. Square and NetSuite work the same way.

Fallback, fully supported: a CSV of sales history plus a stock-on-hand count. Two files, or one with both. This path works with zero connectors and gives the same output. Many businesses count on a clipboard, and that is a legitimate input.

You need, per item: SKU, name, units sold by date, current stock on hand, unit cost, unit price, vendor, and lead time if known. Missing lead time is asked for once and remembered — see reference/data_sources.md.

Say what the count is as of. A stock figure two weeks old produces a stockout date two weeks wrong.

Step 2 — Compute velocity, both windows

For every item, compute:

  • 7-day velocity — units per day over the last week. Catches what is happening now.
  • 28-day velocity — units per day over four weeks. The stable baseline.

Both matter, and disagreement between them is information. An item selling three times its 28-day rate this week is either trending or had one bulk order, and those need different responses. reference/velocity_and_reorder.md covers how to tell them apart.

Exclude one-off distortions from the baseline where you can identify them: a single wholesale order, a returned batch, a stockout period where the item could not sell. A period of zero sales because there was no stock is not zero demand, and treating it as such is how an item gets under-ordered forever.

Step 3 — Project stockout dates, conservatively

Stockout date is stock on hand divided by the daily velocity you trust least — the higher of the two windows. Being early is cheap; being late loses the sale.

Then compare against lead time. The number that matters is not when it runs out, it is whether there is still time to order:

  • Past the point of no return — lead time exceeds days of cover. Already going to stock out. Say so plainly.
  • Order now — cover is within lead time plus a safety buffer.
  • Order soon — comfortable, but on the next cycle.
  • Fine — no action.

Never state a stockout date for an item with no reliable velocity. New items with two weeks of history and items whose sales were interrupted get flagged as "not enough history," by name.

Step 4 — Size the reorder

Default target is 60 days of cover plus the lead time, sized on the 28-day rate — not on the faster of the two. The stock has to last from the day it lands until the next order lands, so leaving the lead time out runs the item short by exactly that many days every cycle. Then adjust for pack size, minimum order quantity, and what is already on order.

The two rates do different jobs and both get named on the line: the higher one says when it runs out, the 28-day one says how much to buy. Sizing a 60-day order off a one-week spike is how cash ends up in a pallet.

Never size a reorder without subtracting inbound stock. Double-ordering a slow item is how a business ends up with three years of it.

Round to the vendor's pack size and say which direction you rounded. Show the dollar cost of every recommendation — the owner is deciding about cash, not units.

Step 5 — Handle the items that are not moving

Zero-velocity and very slow items are a separate list with a separate purpose. They are never reorder candidates.

  • Zero velocity — no units in 28 days. Report as a slow mover with the cash tied up in it. Never compute days of cover for these — nothing is selling, so nothing is running out, and the number is either an error or nonsense. The one exception is an item inside a season the owner has named, which goes on a dated watch list instead of the clear-out list.
  • Overstock — more than 120 days of cover. Report the excess units and the dollars.
  • Dead stock — no movement in 90 days. Suggest clearing, bundling, or discounting.

Total the cash sitting in these. That figure is usually the most surprising number in the whole report and often the most useful one.

Step 6 — Apply seasonality only where history supports it

With at least a year of history, compare the coming period against the same period last year and adjust.

With less than a year, say so and do not adjust. A seasonal multiplier invented from nine months of data is a guess wearing a suit. Ask the owner instead — they know their season better than a short history does. reference/seasonality.md covers both paths.

Step 7 — Present the buy list

Lead with the total dollar amount and the count of items about to stock out. Then: order now, order soon, slow movers, and anything with too little history to judge.

Every line carries the numbers behind it — velocity, days of cover, lead time, quantity, cost. An owner who can see the reasoning approves in a minute; one who cannot rebuilds the whole thing by hand.

Render the buy list as an HTML artifact using the house artifact style (../../shared/artifact-style.md): a stockout table sorted by stockout date with mono tabular-nums numerals, urgency status pills (order now / order soon / fine / past the point of no return), a reorder panel with quantities and dollar totals, and a slow-movers section with the cash tied up in it. The chat summary stays — the artifact is the full picture, not the only one.

Step 8 — Draft POs and vendor emails, with approval

Purchase orders commit money and vendor emails go out under the owner's name, so both wait for an explicit yes.

State the vendor, the line items, and the total before asking. Draft the vendor email in the owner's voice per the shared voice profile. If no profile exists yet, follow that file's "When there is no sample" instruction — ask for three emails they have already sent a supplier. If they would rather not, write the email plain and neutral and say it is not in their voice. Never invent a personality for someone's vendor relationship.

With Google Calendar connected, offer a recurring block for the restock decision — this works far better as a rhythm than as a fire drill. Keep the approved PO document here — this skill owns it. With QuickBooks or NetSuite connected, hand ap-processor the coded memo for each one (vendor, PO number, total, expected date, and the account, class, and job), so the bill three-way-matches against a real record when it arrives. ap-processor reads POs; it does not create them.

Closing offer

Close with one line on what was decided — the total buy and the items about to run out. Then offer the most relevant next step with its exact trigger phrase: "reorder" (/restock) when the owner wants the POs drafted and sent end to end. Up to two more from the router's table, such as "cash forecast" (cash-flow-snapshot) or "pay the bills" (/pay-the-bills). Three offers at most, and never repeat one the owner already declined this session.

What not to do

  • Do not invent a velocity, a lead time, or a stockout date. Too little history is reported by SKU, not smoothed over.
  • Do not treat an out-of-stock period as zero demand. It is suppressed demand and it biases everything downstream.
  • Do not recommend reordering a zero-velocity item. No sales means stop buying, not buy more.
  • Do not size a reorder without subtracting what is already inbound.
  • Do not apply seasonality without a year of history. Ask the owner instead.
  • Do not send a PO or a vendor email without approval. Both spend money or spend goodwill.
  • Do not report units without dollars. The owner thinks in cash.

Reference files

  • reference/data_sources.md — Shopify, Square, NetSuite, and the CSV path, with required fields
  • reference/velocity_and_reorder.md — the 7/28-day math, distortion handling, and reorder sizing
  • reference/seasonality.md — when to adjust, when to ask, and how to say which you did
  • reference/po_drafting.md — purchase order structure and vendor email drafting
  • reference/gotchas.md — the mistakes that stock out a bestseller or bury cash in a pallet

Using a tool that isn't listed

The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。