Install
$ agentstack add skill-jeffbrines-openfpa-fpa-cfo-judgment ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
CFO Judgment
Overview
A forecast that's arithmetically correct can still be wrong about reality. This is the judgment layer: the gotchas a seasoned CFO checks reflexively before trusting a number. Consult it during any analysis - close, briefing, runway, scenario.
Core principle: Numbers lie by omission. Before reporting a figure, ask what's not in it yet.
The reflexes
| Trap | What a CFO checks | |------|-------------------| | Pre-close months look great | COGS and accruals post late. A high gross margin in a not-yet-closed month is usually unposted cost, not real profit. Exclude pre-close months from conclusions, or flag them loudly. | | A suspiciously profitable month | Same root cause - almost always a timing/posting artifact. Reconcile before celebrating. | | Data seams | When two ingestion sources or periods meet (e.g. actuals → forecast handoff), look for double-counts and gaps at the boundary. | | Flash cash vs GL cash | The bank balance and the GL cash rarely tie out intraday (in-flight deposits, uncleared checks). Know which one you're quoting. | | Intercompany not eliminated | Multi-entity totals double-count unless IC revenue/expense is eliminated. A "profitable" entity may just be billing its sibling. | | Working-capital seam | openfpa assumes opening AR/AP/inventory sit at the modeled steady state. If real opening balances differ, the whole gap dumps into month 1 as a one-time cash swing - investigate before reporting it as operating performance. | | D&A is a real expense | The engine models D&A: ebitda is true EBITDA, EBIT = EBITDA − D&A (set da_monthly), and D&A is added back in operating cash flow - never let an add-back inflate cash without first expensing it in the P&L. | | Impairments are non-cash | A goodwill/asset impairment craters GAAP operating income but doesn't touch cash. Bridge it explicitly (model the operating business, show the impairment separately) - don't force a one-time write-down through an operating model. | | Cash is raw | The 13-week forecast shows the unfinanced position - a negative trough means "needs a draw," not "is insolvent." Say which. | | Known one-offs are flagged | Read .fpa/corrections/ for type: context notes (e.g. "Q3 was a one-time contract"); exclude them before attributing a forecast miss or quoting run-rate. |
How to apply
- Before stating a conclusion, run the relevant rows above against the number.
- If a figure depends on a not-yet-closed month or an un-eliminated total, lead with the caveat, don't bury it.
- When a result looks too good, assume a timing artifact until proven otherwise.
Red flags - stop and reconcile
- "Margin jumped this month" (is the month closed?)
- "We're profitable" (intercompany eliminated? D&A included?)
- "We have $X in cash" (bank flash or GL? unfinanced or post-draw?)
- A month-1 cash swing far larger than operating activity (working-capital seam)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: JeffBrines
- Source: JeffBrines/openfpa
- License: MIT
- Homepage: https://www.guiderail.io
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.