kelly-finance · git:20260706.1590951 · 2026-07-06 · sha256 c48b91537440bf02

kelly-finance git:20260706.1590951A

Immutable. This exact content is served forever at /api/v1/blob/c48b91537440bf02.

---
name: kelly-finance
description: Build, analyze, repair, and audit finance three-statement models and operating forecasts. Use when the user invokes $kelly-finance, asks for 财务三表, 三表模型, income statement, balance sheet, cash flow statement, forecast model, budget model, financial projections, FP&A model, SaaS/unit economics forecast, fundraising model, board finance pack, investor model, model checks, balance-sheet balancing, cash runway, working capital, capex/depreciation schedules, debt schedules, scenario/sensitivity cases, or Excel/Sheets-ready finance outputs.
---

# Kelly Finance

## Overview

Use this skill as a practical FP&A and corporate-finance modeling desk. It builds clean three-statement models, turns assumptions into forecast tables, audits model logic, and explains finance outputs in English or Chinese.

For spreadsheet file creation or editing, also use the local spreadsheet/xlsx tooling if available. This skill owns the finance logic, modeling structure, checks, and presentation standard.

Default interaction mode: App UI. Unless the user explicitly asks for chat-only handling, generate or load the local model snapshot, start/reuse the local app with `app/start.sh`, and give the actual local URL. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar.

## Boundary

- The skill may build local workbooks, inspect local workbook/export files, normalize assumptions, write local model snapshots, and draft model-review recommendations.
- The app reads and writes local files only. It must not connect to banks/accounting systems, send files, mutate ERP records, move money, or change external systems.
- Treat financial models and assumptions as sensitive. Do not commit `config.local.json`, env files, `app/.data/`, private workbook exports, statements, customer/vendor data, or execution reports.
- Any external action, such as sending a model to investors or changing source-of-truth books, is approval-required and executed outside the app by the agent after human review.

## Local App

Start the model review desk with:

```bash
skills/kelly-finance/app/start.sh
```

The app uses local HTTP on `127.0.0.1`, preferring ports `3000` through `4000`, or `KELLY_FINANCE_UI_PORT` when set.

Views:

- `#/overview`: model KPI dashboard, forecast table, and top model checks.
- `#/checks` and `#/checks/<id>`: review queue for formula ties, model quality issues, and delivery notes. Users can approve, request changes, block, or dismiss each check.
- `#/workbook`: generated workbook path and tab contract.
- `#/settings`: sanitized config summary, onboarding marker, lock, and data provider.

Demo mode:

- `?demo=1` opens a deterministic offline model for screenshots and review.
- `lang=en` or `lang=zh` forces UI chrome language.
- Demo responses never read or write files under `app/.data/`; demo decisions stay in the browser.

## File Contract

Read `references/finance-ui-schema.md` before editing the app, scripts, or generated model snapshots.

Primary local files:

- `app/.data/model_snapshot.json`: canonical model dashboard and check queue.
- `app/.data/decisions.json`: user verdicts and notes keyed by check id.
- `app/.data/agent_tasks.json`: queued agent work for `changes_requested` checks.
- `app/.data/execution_report.json`: dry-run/apply handoff report for approved checks.
- `app/.data/onboarding.json`: onboarding completion marker.
- `app/.data/agent.lock`: temporary lock while the skill generates or executes.
- `config.local.json`: private company/model defaults, ignored by git.

Use `node scripts/validate_ui_schema.ts app/.data/model_snapshot.json` before relying on a snapshot in the UI.

## Default Workflow

1. Clarify the model purpose only when needed: fundraising, board reporting, budget, acquisition, cash runway, lender package, or operating plan.
2. Identify the business model: SaaS, marketplace, ecommerce, services, consumer app, asset-heavy, or generic operating company.
3. Ask for missing high-impact inputs, but proceed with clearly labeled assumptions when the user wants speed.
4. Build or review the three statements in this order: assumptions, income statement, balance sheet, cash flow, checks.
5. Keep formulas auditable: drivers on assumptions tabs, calculations in schedules/statements, no hardcoded constants hidden inside formulas.
6. Add checks before presenting: balance sheet balances, cash roll-forward ties, net income flows to retained earnings, depreciation ties to PP&E, debt schedule ties to interest/debt balances, and working capital changes tie to balance-sheet movements.
7. Summarize key outputs: revenue, gross margin, EBITDA, net income, ending cash, cash runway, debt, free cash flow, and any broken checks.
8. Start/reuse the App UI and route the user to `#/checks` for human review unless the user asked for chat-only.

## Create A Three-Statement Template

Use `scripts/build_three_statement_model.py` for a dependency-free Excel starter model:

```bash
python3 skills/kelly-finance/scripts/build_three_statement_model.py \
  --output /tmp/three_statement_model.xlsx \
  --company "ExampleCo" \
  --start-year 2026 \
  --years 5 \
  --currency USD \
  --base-revenue 1000000
```

The script creates an `.xlsx` workbook with:

- `Assumptions`: operating, working-capital, capex, debt, tax, dividend, and opening balance assumptions.
- `Income Statement`: revenue through net income.
- `Balance Sheet`: cash, working capital, PP&E, debt, equity, and balance check.
- `Cash Flow`: CFO, capex, financing, dividends, and ending cash.
- `Checks`: high-level model-integrity checks.

After generating, open or inspect the workbook when possible. If the user needs a polished investor-facing model, add formatting, scenario cases, and relevant operating schedules after the starter model is created.

## Review Or Repair A Model

When reviewing an existing workbook:

- Preserve user formulas and formatting unless asked to rebuild.
- First map sheets, time axis, linked statements, hardcodes, and check rows.
- Find the actual source of a mismatch before changing formulas.
- Use a separate `Checks` or `Audit` tab if the workbook lacks one.
- Never force a balance-sheet plug without labeling it and explaining why it is temporary.

Use `references/three-statement-modeling.md` for the review checklist, forecast-driver conventions, and model quality bar.

## Modeling Standards

- Use positive revenue and expense rows with clear sign labels; cash-flow outflows should be negative.
- Separate historical actuals from forecast periods when actuals are supplied.
- Use named scenarios or assumption columns for base/downside/upside cases instead of duplicating whole models.
- State whether currency values are units, thousands, or millions.
- Mark estimates as assumptions, not facts.
- Treat user financial data as sensitive. Do not commit private models, exports, statements, or customer/vendor-level finance data.

## Common Outputs

- Three-statement forecast workbook.
- Lightweight cash runway model.
- Monthly budget or annual operating plan.
- SaaS metrics pack: ARR, MRR, churn, NRR, CAC, LTV, gross margin, burn, runway.
- Board/investor finance summary.
- Model audit report with broken checks and recommended fixes.