Skip to content
SlashClone
Made by@ledgerly

Cash runway model

@ledgerly/cash-runway-model

Model cash runway from cash on hand, monthly burn by category, revenue growth, and planned hires. Produces runway months, cash-zero and raise-by dates, and an 18-month table for base, lean, and upside scenarios.

SkillFinancev1.0.0 (latest)Tested
Activity
New: be the first to try it

Real output from this kit

How this works

  1. It is a skill: written instructions Claude reads when your request matches what the skill is for. You do not call it by name; just ask for the task.
  2. While it works, it reads and changes files in the places it lists, nowhere else.
  3. It runs these commands on your computer: node scripts/runway.mjs.
  4. Nothing runs until you choose to use it, and you can remove it any time.

SKILL.md

Cash runway model

A small, honest runway model: one JSON file of inputs, one script, three scenarios. Good enough to answer "when do we need to raise" and "what do these hires cost us in runway" in minutes, and simple enough that anyone can check it.

Inputs

Collect these, then write them to data/runway.json in the format of examples/runway.json:

  1. as_of and cash: the month of the balance and cash across all bank accounts (exclude money you cannot spend, like a deposit held as collateral).
  2. revenue: monthly cash collected from customers now (monthly) and expected monthly growth (growth_pct). Use cash, not bookings. If they bill annually up front, use the monthly average collected over the last 6 months and say so.
  3. expenses: monthly spend by category, with optional growth_pct per category. Six to eight categories is plenty. Pull them from the last 3 months of the P&L or bank export and average them (the expense-categorizer kit helps).
  4. hires: role, start month, annual salary. payroll_burden_pct (default 20) covers taxes and benefits. Use monthly_cost instead for contractors.
  5. one_time: known lumps (insurance, annual contracts, a deposit).
  6. scenarios: start with the three in the example and adjust. Each can set revenue_growth_pct, revenue_change_pct, expense_change_pct, hire_delay_months, and skip_hires (list of roles).
  7. min_cash_months: how long a raise takes (default 6). The raise-by date is cash-zero minus this.

Ask for anything missing. Never invent a cash balance or a growth rate; if the user does not know growth, propose last quarter's average and get a yes.

Steps

  1. Write data/runway.json and show the user the key numbers back in a short list (cash, revenue, total monthly expenses, hires) before running.
  2. Run:

    node scripts/runway.mjs data/runway.json --out out/runway
  3. Read out/runway.md (scenario summary and the 18-month table per scenario). out/runway.csv has every category by month for a spreadsheet; out/runway.json has the summary.
  4. Answer the question the user actually asked first ("You have about 14 months; start raising by July 2027"), then show the scenario table.
  5. Offer one or two levers with their effect, by rerunning with a changed scenario: delay a hire by 3 months, cut a category by 10%, or a revenue miss of 20%. Show the change in runway months for each.

How the math works (say this if asked)

  • Each month: revenue grows by growth_pct, each expense category grows by its own rate, hires are added from their start month (salary / 12 x (1 + burden)).
  • Net burn = expenses - revenue. Runway = months until cash goes below zero, with the last month pro-rated. The model looks out up to 10 years to find cash-zero and breakeven, but the table shows months (default 18).
  • It is a cash model: no accruals, no debt draws, no taxes on profit. Add a known loan or raise as a negative one_time amount (money in) if the user wants to see it.

Output template

**Runway: 14 months (base).** Cash runs out in Jan 2028. Start raising by Jul 2027.
| Scenario | Runway | Cash zero | Raise by | Breakeven |
...
Biggest lever: <for example, delaying the AE hire by a quarter adds 0.6 months>.

Guardrails

  • This is a planning model, not financial or investment advice. Say so once when you share a runway number with someone outside the team.
  • Keep the user's inputs file as the source of truth: change scenarios in data/runway.json, not by editing outputs.
  • If cash or burn numbers look off by 10x (monthly vs annual), stop and ask before running.
  • Do not share salary-level detail in summaries; report hires as total cost unless the user asks.

README.md

Cash runway model

Answers "how much runway do we have, and when do we need to raise?" from a single inputs file: cash, revenue and growth, monthly burn by category, and planned hires. It runs base, lean, and upside scenarios and writes an 18-month table for each.

Who it is for: founders and finance leads at startups who want a runway answer they can explain, without a 12-tab spreadsheet.

Example

Input: examples/runway.json ($2.4M cash, $85k monthly revenue growing 4%, six expense categories, three planned hires).

Output (out/runway.md):

ScenarioRunwayCash zeroRaise byBreakeven
base14 months2028-012027-072029-09
lean16.4 months2028-032027-092032-10
upsidecash never runs outnevern/a2028-06

Plus a month-by-month table per scenario and out/runway.csv with every category.

What it can access

  • Runs node scripts/runway.mjs (Node built-ins only).
  • Reads data/, writes data/runway.json (your inputs) and out/runway*.
  • No network, no API keys.

Setup

None. Ask Claude "how much runway do we have?" and it will collect the inputs with you. Not financial advice: it is a planning model.

Files

  • README.md
  • SKILL.md
  • examples/runway.json
  • kit.json
  • scripts/lib.mjs
  • scripts/runway.mjs

Did it work?

0worked for them0did not work

Sign in to say whether it worked for you.

Nobody has said yet. Tried it? Tell the next person.