実際の売上データからどの商品をいつ発注するかを判断します。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."
売れるものを、なくなる前に買う。売れないものは買わない。
在庫は店主がすでに使ったお金です。二つの失敗が起こります。お客さんが欲しい商品がなくなること、と誰も欲しくない商品が積まれたままになることです。どちらも販売履歴に、問題が起こるずっと前から現れます。このスキルはそこを読みます。
推奨: Shopify で売上と在庫数。Square と NetSuite も同じように使えます。
代替案(完全対応): 売上の履歴と現在の在庫数を CSV ファイルで入力。2 つのファイルでも、1 つにまとめてもかまいません。この方法はコネクタ(外部ツール連携機能)不要で、同じ結果が得られます。多くの事業所は手書きで数えていますが、それは正当な入力方法です。
商品ごとに必要な情報: SKU(商品識別番号)、商品名、日ごとの販売数、現在の在庫数、原価、販売価格、仕入先、納期(わかれば)。納期がなければ一度だけ聞いて記憶します(reference/data_sources.md を参照)。
在庫数が何日時点のものかを明記してください。 2 週間前の在庫数を使うと、欠品日予測も 2 週間ずれます。
商品ごとに計算します:
どちらも大切です。この 2 つがズレていることも情報です。ある商品が 28 日間の売速の 3 倍で売れているなら、ブームか大口注文どちらかで、対応が違います。見分け方は reference/velocity_and_reorder.md を参照。
基準値から、特殊な1回限りのズレは除きます。大口取引、返品、欠品中は除外してください。在庫がないから売上がないのは、需要がないのではなく、需要が押さえられているのです。 これを 0 需要として扱うと、その商品は永遠に少なく発注され続けます。
欠品日は「現在在庫 ÷ 信頼できない方の売速(2 つの期間のうち高い方)」です。早め予測は安い。遅すぎると売上を失う。
次に納期と比べます。重要な数字は「いつなくなるか」ではなく、「発注する時間が残っているか」です:
売速が信頼できない商品について、欠品日を述べてはいけません。 履歴 2 週間の新商品や、販売が中断された商品は「履歴不足」と商品名で警告する。
デフォルト目標は 60 日分の在庫プラス納期分。ただし 28 日間の売速で計算する。7 日間の売速ではなく。 到着した日から次の発注品が来る日まで持たせるので、納期を入れないと毎サイクル正確に納期日数だけ不足します。次に仕入規格(パック単位)、最小注文数、すでに発注済みの数を調整。
2 つの売速は別の役割をします。高い方は「いつなくなるか」、28 日間のは「いくら買うか」。1 週間のスパイク(一時的な急上昇)で 60 日分の発注を決めると、お金が積まれたままになります。
発注前に必ず入荷予定分を引きます。遅い商品を二重発注するのは、3 年分ストックを抱える道です。
仕入先のパック単位に合わせ、どちらに丸めたかを言う。すべての提案について金額を表示する。店主は個数でなく、お金について決めています。
売速 0 と非常に遅い商品は別のリストで別の目的があります。発注候補には絶対になりません。
これらに滞った現金を合計する。この数字は報告書全体で最も意外な、そして最も役立つ数字であることが多い。
1 年以上の履歴があれば、来期を去年の同期と比べ調整します。
1 年未満なら、そう言い、調整しない。 9 か月のデータでつくった季節倍率は仮説です。店主に聞く — 短い履歴より季節を知っています。両方のやり方は reference/seasonality.md を参照。
総金額と欠品寸前の商品数で始める。その後:今すぐ発注、近いうちに発注、遅動商品、判断材料が不足した商品。
すべての行に数字を。売速、在庫日数、納期、数量、原価。理由が見える店主は 1 分で承認します。見えない店主は全部を手で計算し直す。
買い付けリストを HTML アーティファクト(共通スタイル ../../shared/artifact-style.md 使用)でレンダリング:欠品日順に並べた表、等幅フォント(数字用)、ステータスラベル(今すぐ発注 / 近いうちに発注 / 問題なし / 発注限界超過)、数量と金額合計をまとめた発注パネル、遅動商品セクション(滞った現金付き)。チャット要約は残す — アーティファクトは全体像で、唯一の情報源ではない。
発注書と仕入先メールは店主の名義です。明示的な承認を待つ。
ベンダー、行アイテム、合計を述べてから聞く。ベンダーメールを店主の文体で起草(共通音声プロフィール 参照)。プロフィールがなければ、そのファイルの「サンプルがない場合」指示に従う — 既に仕入先に送った 3 つのメールを求める。そうしたくなければ、平易で中立的に書き、「あなたの文体ではない」と言う。仕入先関係に人格を創造しない。
Google Calendar がつながれば、在庫補充の決定を繰り返し予約するオプションを提示 — 突発対応より定期リズムが効く。承認済み発注書をここに保存 — このスキルが所有。QuickBooks または NetSuite がつながれば、ap-processor(支払い処理)に各発注の符号メモを手渡す(仕入先、発注番号、合計、予定日、勘定、分類、仕事)。請求が来たら実レコードに 3 つ照合します。ap-processor は発注を読みます。作りません。
決めたことを 1 行で:総購入額と欠品寸前の商品。その後、最も関連のある次のステップを正確なトリガー句で:「発注」(/restock)店主が発注書最後まで起草・送信したい時。ルーターテーブルから最大 2 つまで。「現金予測」(cash-flow-snapshot)や「請求書を払う」(/pay-the-bills)など。最多 3 つ、この回で店主がすでに断ったものは繰り返さない。
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 に手で組みません。接続できたら、そのツールはこのスキルに他の任意コネクタと同じく加わり、同じ承認ゲートを通ります。
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.
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.
For every item, compute:
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.
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:
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.
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.
Zero-velocity and very slow items are a separate list with a separate purpose. They are never reorder candidates.
Total the cash sitting in these. That figure is usually the most surprising number in the whole report and often the most useful one.
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.
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.
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.
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.
reference/data_sources.md — Shopify, Square, NetSuite, and the CSV path, with required fieldsreference/velocity_and_reorder.md — the 7/28-day math, distortion handling, and reorder sizingreference/seasonality.md — when to adjust, when to ask, and how to say which you didreference/po_drafting.md — purchase order structure and vendor email draftingreference/gotchas.md — the mistakes that stock out a bestseller or bury cash in a palletThe 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 による自動翻訳です。