coreyhaines31/personal-cfo
When you want to model personal financial scenarios — house purchase + rental income (ADU, bedroom rentals, house-hacking), renovation budgets, monthly cash flow forecasts, big-purchase decisions, savings/investment what-ifs. For personal life: a household (you + partner), household budgets, real-estate decisions. v0.1 ships with the house scenario template (purchase + rental scenarios) as the first use case. Architected so other personal-finance scenarios (refi, car, education, retirement, side income) slot in as additional templates. Outputs scenario comparison tables in markdown. Saves every scenario to ~/Documents/personal-cfo/ with an index at ~/.config/makerskills/personal-cfo/archive/ for revisit + comparison. Composes with decide (formalize the call after modeling), deep-research (rental comps, mortgage rates, market data), business-brainstorm (when the scenario is a small business / side hustle), second-brain (capture the analysis to outputs/). Triggers on \"/personal-cfo,\" \"model this scenario,\" \"house math,\" \"rental forecast,\" \"monthly cash flow,\" \"what if I rent out the ADU,\" \"compare these housing scenarios,\" \"should we buy this house,\" \"house-hack math,\" \"renovation budget.\
npx skills add https://github.com/coreyhaines31/makerskills --skill personal-cfo
This skill is for a household (you + partner): housing decisions, monthly cash flow, big purchases, scenario what-ifs. Pair it with a business-books CFO skill if you also run one for a company — the DNA is the same, the domain is different.
| Invocation | Type | What it models |
|---|---|---|
| /personal-cfo house (default for now) | house | Buy a house + rental income scenarios (ADU / bedrooms / combinations) + renovations + monthly cash flow |
| /personal-cfo refi | refi | Refinancing scenarios |
| /personal-cfo cash-flow | cash-flow | Generic monthly cash flow (income, expenses, savings rate) |
| /personal-cfo big-purchase | big-purchase | Should we buy X (car, education, equipment) — cash vs finance vs lease comparisons |
| /personal-cfo side-income | side-income | Adding a side income stream — break-even, tax implications |
| /personal-cfo savings-what-if | savings-what-if | What if we put $X into Y for N years — index funds, real estate, etc. |
For v0.1, only the house template is fleshed out. Others are sketched in references/templates/ as stubs.
Ask in a structured batch. For house mode, see references/templates/house.md for the full input questionnaire. Core fields:
Property
Renovations / repairs
Rental scenarios (for the house mode)
Personal
If anything's fuzzy, ask. Don't proceed with placeholder numbers — financial models with wrong inputs are dangerous.
For the house mode, default scenarios to compare:
| Scenario | Description |
|---|---|
| Baseline | Own + live in, no rental income |
| A: ADU only | Rent the ADU, live in main house |
| B: 1 bedroom only | House-hack 1 bedroom, keep ADU empty (or for guests) |
| C: 2 bedrooms only | House-hack 2 bedrooms, ADU empty |
| D: ADU + 1 bedroom | Both ADU and 1 bedroom rented |
| E: ADU + 2 bedrooms | Maximum rental |
| F: ADU + bedrooms (year 2+) | Year 1: just ADU while renovating. Year 2+: add bedrooms after partner's comfort |
Let the user customize the scenario list — every house is different.
For each scenario, calculate:
Monthly
references/calculators.md for the formulaAnnual
Long-term
Output to ~/Documents/personal-cfo/<scenario-slug>-<YYYY-MM-DD>/:
inputs.yaml — all the input numbers (so the analysis is rerunnable + auditable)report.md — the full analysis with assumptions called outcomparison.md — side-by-side scenario table (the headline output)comparison.md template# <Property nickname> — scenario comparison
**Date:** YYYY-MM-DD
**Property:** <address or nickname>
**Time horizon:** 10 years
**Key assumptions:** 3%/yr appreciation, 7% S&P alt return, 6% vacancy
| Scenario | Net monthly cost | Annual cost | 10-yr total | Equity @ 10yr | Notes |
|---|---:|---:|---:|---:|---|
| Baseline | $X,XXX | $XX,XXX | $XXX,XXX | $XXX,XXX | No rental income |
| A: ADU | $X,XXX | $XX,XXX | $XXX,XXX | $XXX,XXX | $X,XXX/mo ADU rent |
| B: 1 BR | … | … | … | … | … |
| C: 2 BR | … | … | … | … | … |
| D: ADU + 1 BR | … | … | … | … | … |
| E: ADU + 2 BR | … | … | … | … | … |
## Headline takeaway
<1–2 sentences: which scenario wins on cash flow, which wins on lifestyle, where the inflection points are>
## Sensitivity analysis
- If rates rise 1%: <impact>
- If ADU rent comes in 20% lower: <impact>
- If renovations overrun 30%: <impact>
- If vacancy doubles to 12%: <impact>
## Open questions
- <what would change the recommendation>
- <what to research next — composes with /deep-research>
Save the scenario folder so future revisits work. The archive index lives in ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/personal-cfo/archive/ (create the directory if missing). Never write archives inside the skill's own folder — skill installs and upgrades re-sync from source and wipe anything saved there. Migration: if this skill's folder contains an old references/scenarios-archive/ with user entries, move those files into the archive directory first.
Append a one-liner to <archive dir>/INDEX.md (create if missing):
- 2026-06-26 — [<property nickname>](~/Documents/personal-cfo/<slug>-2026-06-26/) — <type> — <headline takeaway>
This compounds — when you're considering Property #2 a year later, you can reuse the model and grep past analyses for patterns.
/deep-research on rental comps for the area to firm up the ADU and bedroom rent assumptions?"*/decide once the scenarios land?"*second-brain raw/ as note-house-<slug>.md?"*decide — once scenarios are modeled, the buy / don't / negotiate decision goes through /decide. Cash flow analysis is input, not the decision itself.deep-research — for inputs that need market data: rental comps, mortgage rate trends, neighborhood trajectory, school ratings, comparable sales.business-brainstorm — if the scenario tips into "this is a business" (e.g., short-term rental, multi-unit purchase, scaling to N properties), route there to pressure-test the business angle.second-brain — capture analyses to raw/note-house-<slug>.md so they live in the personal wiki and can be referenced later./decide makes the call.refi.md — refinance scenarioscash-flow.md — generic monthly budgetbig-purchase.md — cash vs finance vs lease for big-ticket itemsside-income.md — adding a side income streamsavings-what-if.md — investment what-ifsv0.1 ships only house.md fleshed out. Add others when the use case is real.
Take coreyhaines31/personal-cfo 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.