anthropics/cash-flow-snapshot
> Reads AR/AP, historical cash timing, and known fixed costs from QuickBooks, PayPal, Stripe, or Square — 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.
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill cash-flow-snapshot
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 AR/AP and fixed costs from connected sources, calculates expected
inflows and outflows across 30, 60, and 90-day windows, applies confidence
bands based on each customer's historical payment variance, and flags specific
risks by name.
Check which connectors are live. Try in this order:
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.
From QuickBooks:
From PayPal / Stripe / Square:
average and variance payment delay
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:
their $8,400 invoice out of the 30-day window into day 48."
April 14: $19,200. Shortfall risk: $2,800."
band set to default ±30%."
recurring cost data. Confidence bands are wider than normal."
Limit to the top 5 risks by severity (largest dollar impact first).
Chat summary (always):
Cash Flow Snapshot — [date range]
Source(s): [connectors used]
Expected Low High
30-day net: $X,XXX $X,XXX $X,XXX
60-day net: $X,XXX $X,XXX $X,XXX
90-day net: $X,XXX $X,XXX $X,XXX
⚠ Risks flagged: [count]
• [risk 1]
• [risk 2]
...
XLSX workbook (always):
Read xlsx/SKILL.md before generating. Produce a workbook with three sheets:
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.
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.
Save as cash-flow-snapshot-[YYYY-MM-DD].xlsx.
No destructive actions — this skill is read-only. No approval gate required
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."
| 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 |
Take anthropics/cash-flow-snapshot from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.