売掛金・買掛金(営業上の売上・支払い)、過去のキャッシュフロー(資金の流れ)、固定費などの情報を、会計ソフト(MYOB、NetSuite、QuickBooks、Xero、Zoho Books)や決済サービス(PayPal、Square、Stripe)、またはCSVファイルから読み込みます。その後、30日・60日・90日先までの資金繰り予測を、信頼度を示す変動幅と注意が必要なリスク項目を付けて作成します。チャットでの要約説明と、ダウンロード可能なExcelファイルを提供します。 次のような場合に使用: ユーザーが「キャッシュフローを予測してほしい」「給与を支払える見込みはあるか」といった質問をしたり、「事業継続期間」や「資金難」といった話題を出したりしたとき。会計ソフトなどの連携が設定されていない場合は、CSVファイルのアップロードで対応します。
Reads AR/AP, historical cash timing, and known fixed costs from the ledger (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books) or from PayPal, Square, or Stripe — or a CSV upload — and produces a 30/60/90-day cash flow forecast with percentage-variance confidence bands and named risk flags. Delivers a chat summary and a downloadable XLSX. Use when the user asks "forecast my cash flow," "will I make payroll," mentions "runway," or says "cash crunch." Falls back to CSV upload when no connector is live.
30日・60日・90日間のキャッシュフロー予測(現金流出入予測)を作成します。信頼度を示す幅付き範囲と、名前を付けた注意が必要な項目を含みます。チャットの要約と、ダウンロード可能なExcelファイルの2つの形式で結果をお届けします。
クイックスタート
「来月は給与を払えるか?」
Claudeが接続されたデータソースから現在の銀行残高、売掛金(応収账)・買掛金(応払账)、固定費を取得します。その後、30日・60日・90日間の各期間で見込まれる入金と支出を計算し、顧客ごとの支払い遅延のばらつきに基づいて信頼度範囲を適用し、具体的なリスク項目に名前を付けます。
接続されているコネクタを確認してから、すべてを一括で取得します:
接続されたコネクタがなく、ファイルも添付されていない場合は、データソースを接続するか、CSVをアップロードするよう依頼してください。出力では使用したソースを記載してください — これが信頼度範囲の幅に影響します。
開始時の現金残高は必ず確認します — 「給与は払えるか」という質問は、差額ではなく残高についてです。ステップ2で取得するか、「事業用口座の現在の残高は?日付は?」と質問してください。推測しないでください。 誰も分からない場合は、出力の見出しを「開始残高なし — 変動額のみ」とし、リスク項目から現金保有額を除外してください。
帳簿から:
Gustoが接続されている場合:
PayPal・Stripe・Square から:
CSVアップロードから:
売掛金の顧客ごと(またはCSVからの収入源ごと)に以下を計算します:
顧客の支払い記録が3件未満の場合は、集団平均を推定値とし、デフォルトの信頼度範囲を ±30% で設定してください。十分な履歴があるCSVデータ(ソースあたり3件以上の支払い)で実行する場合は、実際の支払いのばらつきから範囲を計算し、±30% を仮定しないでください。
3つの期間ウィンドウを作成します:0~30日、31~60日、61~90日。
各ウィンドウについて以下を計算します:
| 行項目 | 計算方法 |
|---|---|
| 見込み入金 | ウィンドウ内の期日売掛金を平均支払い遅延日数で調整 |
| 見込み支出 | ウィンドウ内の期日買掛金 + 固定費 |
| 純現金ポジション | 入金 − 支出 |
| 信頼度範囲 | 見込み入金に対する加重平均支払いばらつき(パーセント) |
信頼度範囲の計算式:
band_pct = 加重平均_標準偏差_日数 / 平均_支払い遅延_日数
low = 純現金 × (1 − band_pct)
high = 純現金 × (1 + band_pct)
band_pct は小数点以下第1位に四捨五入。±50% でキャップ — より高いばらつきはデータが不足していることを示し、代わりにフラグを立てます(ステップ5を参照)。
低い見積もり(信頼度範囲の下限)が負に転じたり、資金が逼迫したりする条件をスキャンします。見つかったリスクごとに1行のフラグを作成します:
重大度の上位5件(金額が大きい順)に限定します。
チャット要約(常に)。マークダウンテーブルを使用します。コード形式ではなくテーブルでレンダリング:
予測テーブルをマークダウン形式で表示。金額には通貨コードを付け、記号だけを使用しないでください:
| 期間 | 見込み値 | 下限 | 上限 |
|---|---|---|---|
| 30日間の変動 | AUD X,XXX | AUD X,XXX | AUD X,XXX |
| 60日間の変動 | AUD X,XXX | AUD X,XXX | AUD X,XXX |
| 90日間の変動 | AUD X,XXX | AUD X,XXX | AUD X,XXX |
その後、「⚠ リスク:<件数>件」の見出しの下に箇条書きでリスクを列挙します。
Excelファイル(常に):まずxlsx/SKILL.mdをお読みいただいてから、3つのシートを作成します:
サマリー — 30日・60日・90日間の予測テーブルと信頼度範囲。各ウィンドウ行の下に、その窓の入金(緑)と支出(赤)を構成する個別取引を展開した副行を表示。サマリーシートから離れることなく計算内容を検証できます。
詳細 — ウィンドウごとにグループ化され、各グループ内は日付順。実行中の純現金列(ウィンドウ内の累計入金マイナス支出)と、各ウィンドウ下部の小計行(入金合計、支出合計、純現金)を含めます。過去の取引は別セクションの下部で淡色表示。3つのウィンドウすべてに行を表示してください。空のウィンドウには「このウィンドウに取引なし」プレースホルダー行を表示。
リスク — 抽出されたリスク項目と金額的影響、影響を受けるウィンドウ。
ファイル名:cash-flow-snapshot-[YYYY-MM-DD].xlsx
予測ページ(常に、チャット要約の横に表示 — 代わりではなく)。オーナーの保存された出力設定に従って配信します。## 事業コンテキストブロックの出力設定を確認:
ビジュアルアーティファクト(デフォルト):完全な予測をハウススタイルのHTMLページとしてレンダリング。30日・60日・90日間の変動は統計タイル(信頼度範囲をコンテキスト行として表示)。取引詳細はテーブル(金額は右揃え)。各リスク項目にステータスピル — 赤(資金不足の危険性)、黄(支払い遅延、データ不足)。ヘッダーパネルにデータソースと開始残高。
docx・md・Notion・Canvaの設定:同じコンテンツをその形式で配信 — Word、Markdown、Notion(コネクタ経由でページ作成、上書き不可)、Canva(毎回新規デザイン、日付で名前付け。テーブルはリストに変換)。NotionやCanvaが接続されていない場合はビジュアルアーティファクトにフォールバック — その旨を記載。Excelファイルは常に添付。
このスキル向け:ビジュアルアーティファクトを使用 — 予測は一目で読め、頻繁に再実行されます。
実行結果を1行で説明:予測が構築され、リスク項目が名前付けされました。その後、最も関連の高い次のステップと、最大2つの代替案を提案します:
/plan-payrollを実行invoice-chaseを実行して回収を加速/close-monthを実行して次の予測をクリーンな帳簿で実行最大3つのオファー。このセッションでオーナーが辞退したオファーは繰り返さないでください。
このスキルは読み取り専用 — 予測生成前の承認ゲートはありません。
配信後、ユーザーに以下をリマインド:
「この予測は[記載されたソース]に基づいています。会計アドバイスの代替ではありません — 融資の意思決定の前に必ず会計士に確認してください」
完全なマッピングはreference/v2_sources.mdをお読みください:
Produces a 30/60/90-day cash flow forecast with percentage-variance confidence bands and named risk flags. Delivers a two-part output: a concise chat summary and a downloadable XLSX workbook.
Quick start
"Will I make payroll next month?"
Claude pulls the current bank balance, AR/AP, and fixed costs from connected sources, calculates expected inflows and outflows across 30, 60, and 90-day windows, applies confidence bands from each customer's payment variance, and flags specific risks by name.
Check which connectors are live. Pull from every one that is, in one batch:
../../shared/connector-neutrality.md); if two are connected, ask which is the source of record and take totals from that one onlylist-orders) as the inflow, plus payout timing. Shopify on its own is enough to run: for a commerce business it is often the largest inflow. The payout read may fail because the connector's scopes exclude Shopify Payments — then ask the owner for their payout schedule and model from that; never infer a lag (reference/v2_sources.md)If no connector is live and no file is attached, ask the user to either connect a source or upload a CSV (income/expense tabular data, any reasonable format). Note which sources were used in the output — this affects confidence band width.
Always establish the starting cash balance — "will I make payroll" is a question about the balance, not the net. Pull it in Step 2, or ask: "What's in the business account right now, and as of what date?" Never assume one. If nobody knows, head the output "no opening balance — net change only" and drop cash-on-hand from the risk flags.
From the ledger:
reference/v2_sources.md)From Gusto, when connected:
From PayPal / Stripe / Square:
From CSV upload:
For each AR customer (or income source from CSV), calculate:
If fewer than 3 payments exist for a customer, use the population mean as the point estimate and apply a ±30% variance band as the default. When running on CSV data with sufficient history (≥3 payments per source), compute the band from the actual payment variance — do not assume ±30%.
Produce three time windows: 0–30 days, 31–60 days, 61–90 days.
For each window, compute:
| Line | Method |
|---|---|
| Expected inflows | AR due in window, adjusted for mean payment lag |
| Expected outflows | AP due in window + fixed costs falling in window |
| Net cash position | Inflows − Outflows |
| Confidence band | ± weighted average payment variance as a % of expected inflows |
Confidence band formula:
band_pct = weighted_avg_stddev_days / avg_payment_lag_days
low = net_cash × (1 − band_pct)
high = net_cash × (1 + band_pct)
Round band_pct to one decimal place. Cap at ±50% — higher variance means the data is too thin to model; flag it instead (see Step 5).
Scan for conditions that push the low-band estimate negative or create a liquidity crunch. For each risk found, produce a one-line flag:
Limit to the top 5 risks by severity (largest dollar impact first).
Chat summary (always). Use a markdown table for the forecast, not a fenced code block — the chat surface renders markdown tables; a fenced block shows up as raw monospace text. Shape:
Then the forecast as a markdown table, amounts carrying the business's currency
code (../../shared/currency-and-locale.md), never a bare symbol:
| Window | Expected | Low | High |
|---|---|---|---|
| 30-day net | AUD X,XXX | AUD X,XXX | AUD X,XXX |
| 60-day net | AUD X,XXX | AUD X,XXX | AUD X,XXX |
| 90-day net | AUD X,XXX | AUD X,XXX | AUD X,XXX |
Then risks as a short bulleted list under "⚠ Risks flagged: <count>".
XLSX workbook (always): read xlsx/SKILL.md first, then produce three sheets:
Summary — the 30/60/90 forecast table with confidence bands. Beneath each window row, expand inline sub-rows showing the individual transactions that make up its inflows (green) and outflows (red). This makes the estimates auditable without leaving the Summary sheet.
Detail — all transactions grouped by window, sorted by date within each group. Include a running net column (cumulative inflows minus outflows within the window) and a subtotal row at the bottom of each window showing total inflows, total outflows, and net. Grey out past transactions in a separate section at the bottom for reference. Ensure all three windows have rows even if one is empty — show a "No transactions in this window" placeholder row.
Risks — the flagged risks with dollar impact and affected window.
Save as cash-flow-snapshot-[YYYY-MM-DD].xlsx.
The forecast page (always, alongside the chat summary — never instead of
it), delivered per the owner's stored output preference — never default to a
markdown file. Check the ## Business context block's Output preference
(shared style guide rule, ../../shared/artifact-style.md):
One line on what just happened: the forecast is built and the risks are named. Then offer the single most relevant next step, plus at most two others nearby:
/plan-payroll.invoice-chase to pull collections forward./close-month so next forecast runs on clean books.Max three offers, and never repeat an offer the owner declined this session.
This skill is read-only — no approval gate before generating the forecast.
Remind the user after delivery:
"This forecast is based on [sources listed]. It is not a substitute for accounting advice — verify with your bookkeeper before making financing decisions."
Read reference/v2_sources.md for the full mapping:
Nothing about the forecast logic changes. These are additional legs into the same model.
This skill is schedulable. The monthly preset is a cash heads-up before the month turns.
Offer it once, after a forecast the owner found useful:
Want this monthly, a few days before month end? That's when it's most useful,
and it's the same forecast you just got.
Scheduling is a property of this skill. There is no separate command for it.
QuickBooks summary fields lie. Read ../../shared/quickbooks-report-traps.md before quoting any total from a QuickBooks summary object: the AP aging summary nets vendor credits into its buckets and can show a negative overdue figure, and the P&L summary can report expenses as zero against real rows. Total the rows, or use the detail call.
| File | Load when |
|---|---|
reference/gotchas.md |
When a connector returns unexpected data or variance is extreme |
reference/examples/worked-example.md |
When modeling the output format for a new data shape |
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 による自動翻訳です。