Skip to content
Business
Skill

/company-cfo

Monthly CFO workflow for a company or agency — pull raw data from bank + payment processor + payroll + expense management, categorize and reconcile, compute end-of-month cash via transaction-sum method, update a scenario projector for forward forecasting, write the monthly

BOOST
From plugin
makerskills
86422 skills
Install
$ npx -y skills add coreyhaines31/makerskills --skill company-cfo --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/company-cfo

Context preview

The summary Claude sees to decide when to auto-load this skill.

Monthly CFO workflow for a company or agency — pull raw data from bank + payment processor + payroll + expense management, categorize and reconcile, compute end-of-month cash via transaction-sum method, update a scenario projector for forward forecasting, write the monthly

SKILL.md

company-cfo.SKILL.md
name: company-cfo
description: Monthly CFO workflow for a company or agency — pull raw data from bank + payment processor + payroll + expense management, categorize and reconcile, compute end-of-month cash via transaction-sum method, update a scenario projector for forward forecasting, write the monthly snapshot report, surface decisions to leadership. Modes — monthly (default; the standing report), weekly (thin cash pulse), scenario (ad-hoc modeling in the projector), pickup (resume where the prior run left off). Anonymized team-scope sibling to personal-cfo (which handles personal household finances). Composes with company-brain (report gets stored + wiki-indexed there), toolify (wire company-specific data sources), loopify (schedule the monthly + weekly runs). Triggers on "/company-cfo," "/cfo," "monthly cash report," "do the CFO snapshot," "CFO monthly," "let's run CFO," "cash projection," "runway forecast," "monthly financials," "cash pulse."
metadata:
  version: 0.1.2

/company-cfo — Monthly company CFO workflow

The standing analysis leadership uses to make distribution / cuts / hiring / runway decisions. Primary cadence is **monthly** (run on the 1st for the closed prior month). Weekly and scenario modes cover the in-between.

Anonymized team-scope sibling to `personal-cfo` (households). Same discipline (transaction-sum EOM, categorization traps, scenario modeling) applied to company books.

Step 0 — Load company config + prior run

Before starting work, read these in order:

1. **The config doc in `${COMPANY_CFO_ROOT:-$HOME/code/company-cfo}/`** (`CLAUDE.md` or `AGENTS.md`, whichever exists) — your company's specific methodology, data source map, categorization rules, distribution mechanics. **This is the source of truth for HOW your company computes things.** Don't invent your own methodology. 2. **The most recent report** in `${COMPANY_CFO_ROOT}/reports/monthly/` — last month's snapshot. Tells you what leadership decided + what was open. 3. **The most recent `*-followup.md`** in that folder (if one exists) — supplementary decisions, scenario analysis. 4. **Any relevant memory notes** in your agent's memory, or `${MAKERSKILLS_MEMORY:-${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/memory}/` if it has none — running context: known anomalies, leadership constraints, current churn state. 5. **`git log --oneline -10`** in `${COMPANY_CFO_ROOT}` — what's shipped since the last run.

If the `COMPANY_CFO_ROOT` dir doesn't exist yet: first-run walkthrough asks the user to `mkdir` it, seed an `AGENTS.md` from `references/company-config-template.md` (symlink `CLAUDE.md` to it for Claude Code), and set the env var.

Step 1 — Parse mode

| Invocation | Mode | Cadence | |---|---|---| | `/company-cfo monthly` (default) | **monthly** | Once per month on the 1st for the closed prior month | | `/company-cfo weekly` | **weekly** | Thin cash pulse — current cash + next 2 weeks of expected flows | | `/company-cfo scenario <question>` | **scenario** | Ad-hoc modeling in the projector | | `/company-cfo pickup` | **pickup** | Resume where the prior run left off (checks git log + last report + open items) |

Below sections walk through **monthly** in detail. Weekly + scenario are summarized at the end.

---

Monthly workflow

Ask the user: **Which month are we reporting on?** (Default: prior calendar month.)

Then walk through these phases. Pause and confirm before moving to the next.

Phase 1 — Pull raw data

For the target month, pull raw data from each source. Standard source categories (each company's actual tools live in its config doc):

| Source category | What it gives | Common tools | |---|---|---| | **Bank / cash accounts** | Cash truth, internal vs external transfers, distribution recipients | Mercury CLI, Plaid, direct bank export | | **Payment processor** | Revenue, subscriptions, churn, payout timing | Stripe API, Paddle, LemonSqueezy | | **Payroll / contractors** | W-2 payroll, contractor pay | Plane, Deel, Gusto, Rippling | | **Expense management** | Reimbursements, corporate cards | Ramp, Brex, Divvy | | **Alternative revenue** | Non-primary billing sources | Direct invoice tools, alternative payment platforms |

Save all pulls to `${COMPANY_CFO_ROOT}/data/YYYY-MM/<source>-*.json[l]` (gitignored — raw data doesn't get committed).

Also pull the **current cash balance** from the bank source for the "today" starting-cash figure.

**If a source isn't wired yet:** use `/toolify <source>` to wire it up before running the CFO workflow. First-time integration is a one-time cost.

Phase 2 — Categorize and reconcile

Bucket all cash-account outflows into the categories your company uses. See `references/categorization.md` for a starter category set and the discipline of maintaining categorization.

**Universal traps to check** (see `references/traps.md` for full list):

  • **Cash-vs-credit double-count** — if the bank shows a "credit card autopay" outflow AND the credit card account shows individual charges, don't count both. Filter to cash accounts only OR treat the CC as a debt account.
  • **Internal transfers** — Checking ↔ Savings transfers net to zero. Exclude them (usually via a `kind=internalTransfer` filter or account-pair match).
  • **Currency mismatches** — contractor payment tools often return `destination_amount` in the worker's payout currency. Always use `source_amount` (or equivalent) for USD/base-currency cost analysis.
  • **Distribution counting** — if leadership has N partners who should get a monthly distribution, verify N distributions exist. If N-1, flag the missing partner — often one is deferring their draw to balance cash.

Cross-checks before writing the report:

  • Total payroll debits in bank ≈ payroll-tool API total + fees (within a small residual for held deductions)
  • Payment processor payouts arriving in the month ≈ bank inflows from that processor (within timing lag)
  • Expense-management outflows in bank ≈ approved expenses in expense-mgmt t
Read more
Ships withmakerskills

AI agent skills for the personal operator's craft. Decisions, research, second-brain workflows, content rotation, scenario modeling, CFO cadence, domain hunts, and the meta-skills to author more. Built for founders and indie operators.

Get the whole plugin

Other skills on makerskills.