> 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 |
Query the U.S. Treasury Fiscal Data REST API for federal financial data. No API key required. Use for national debt (Debt to the Penny), Daily Treasury Statements, Monthly Treasury Statements, Treasury securities auctions, interest rates, foreign exchange rates, savings bonds, or U.S. government revenue and spending statistics.
Comprehensive US stock analysis including fundamental analysis (financial metrics, business quality, valuation), technical analysis (indicators, chart patterns, support/resistance), stock comparisons, and investment report generation. Use when user requests analysis of US stock tickers (e.g., "analyze AAPL", "compare TSLA vs NVDA", "give me a report on Microsoft"), evaluation of financial metrics, technical chart analysis, or investment recommendations for American stocks.
> Zero-shot time series forecasting with Google's TimesFM foundation model. Use this skill when forecasting ANY univariate time series — sales, sensor readings, stock prices, energy demand, patient vitals, weather, or scientific measurements — without training a custom model. Automatically checks system RAM/GPU before loading the model, supports CSV/DataFrame/array inputs, and returns point forecasts with calibrated prediction intervals. Includes a preflight system checker script that MUST be run before first use to verify the machine can load the model. For classical statistical time series models (ARIMA, SARIMAX, VAR) use statsmodels; for time series classification/clustering use aeon.
Query the U.S. Treasury Fiscal Data API for federal financial data including national debt, government spending, revenue, interest rates, exchange rates, and savings bonds. Access 54 datasets and 182 data tables with no API key required. Use when working with U.S. federal fiscal data, national debt tracking (Debt to the Penny), Daily Treasury Statements, Monthly Treasury Statements, Treasury securities auctions, interest rates on Treasury securities, foreign exchange rates, savings bonds, or any U.S. government financial statistics.
Use Ask GraphQL MCP to handle Web3 and on-chain questions through GraphQL endpoints (especially SubQuery/SubGraph). Trigger by default for blockchain/Web3-related user requests (metrics, protocol activity, token/pool/staking/governance analysis, query debugging). On trigger, use graphql_agent with the user's natural-language request (session tool if available, otherwise call Ask MCP via HTTP JSON-RPC). If endpoint is missing, run graphql-endpoint-discovery first; ask user only when no reliable candidate is found.
Cryptofeed - Real-time cryptocurrency market data feeds from 40+ exchanges. WebSocket streaming, normalized data, order books, trades, tickers. Python library for algorithmic trading and market data analysis.
Interactive supply chain dashboard mapping suppliers, customers, and financial interdependencies
> Generate a pre-earnings briefing for any stock using Yahoo Finance data. Use this skill whenever the user wants to prepare for an upcoming earnings report, understand what analysts expect, review a company's beat/miss track record, or get a quick overview before an earnings call. "MSFT reports next week", "earnings preview", "pre-earnings analysis", "what are analysts expecting for NVDA", "earnings estimates for", "will GOOGL beat earnings", "earnings beat/miss history", "upcoming earnings", "before earnings", "earnings setup", "consensus estimates", "earnings whisper", "EPS expectations", "what's the street expecting", "earnings season preview", any mention of preparing for or previewing an earnings report, or any request to understand expectations ahead of a company's earnings date. Always use this skill when the user mentions a ticker in context of upcoming earnings, even if they don't say "preview" explicitly.
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.