/personal-cfo — Personal financial scenario modeling skill

When you want to model personal financial scenarios — house purchase + rental income (ADU, bedroom rentals, house-hacking), renovation budgets, monthly cash flow, big-purchase decisions, savings/investment what-ifs for a household.

by coreyhaines31·MIT license·★ 855 Stars on the repo·GitHub ↗

Use now

Inside this skill

SKILL.md · the author's own words
# /personal-cfo — Personal financial scenario modeling

This skill is for a household (you + partner): housing decisions, monthly cash flow, big purchases, scenario what-ifs. Pair it with a busin…

## Step 1 — Pick the scenario type

| Invocation | Type | What it models |
|---|---|---|
| `/personal-cfo house` (default for now) | **house** | Buy a house + rental income scenarios (ADU / bedrooms / combinations) + renovations…
| `/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.

Word-for-word excerpt, not a result. Read the full SKILL.md ↓

Files of /personal-cfo — Personal financial scenario modeling

coreyhaines31/main1 file shown
SKILL.md
Show the full text183 lines

/personal-cfo — Personal financial scenario modeling

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.

Step 1 — Pick the scenario type

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.

Step 2 — Gather inputs

Ask in a structured batch. For house mode, see references/templates/house.md for the full input questionnaire. Core fields:

Property

  • Purchase price
  • Down payment (% or $)
  • Mortgage rate + term (years)
  • Property taxes (annual)
  • HOA (monthly, if any)
  • Homeowner's insurance (monthly)
  • Closing costs (estimate)

Renovations / repairs

  • Day-1 renovations (line items with estimates — kitchen, bath, ADU buildout, etc.)
  • Year-1 expected repairs
  • Annual maintenance budget (rule of thumb: 1% of purchase price)

Rental scenarios (for the house mode)

  • ADU monthly rent estimate + vacancy assumption (typical: 5–8%)
  • Bedroom 1 monthly rent + vacancy
  • Bedroom 2 monthly rent + vacancy
  • Utilities split assumption (who pays what)
  • Property management cost (if not self-managing)

Personal

  • Current monthly housing cost (rent or current mortgage)
  • Combined household income
  • Marginal tax bracket (for mortgage interest + rental income calcs)
  • Time horizon for the analysis (typical: 5 yr, 10 yr, 30 yr)

If anything's fuzzy, ask. Don't proceed with placeholder numbers — financial models with wrong inputs are dangerous.

Step 3 — Build the scenarios

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.

Step 4 — Run the math

For each scenario, calculate:

Monthly

  • Mortgage payment (P&I) — see references/calculators.md for the formula
    • Property tax / 12
    • HOA + Insurance + Utilities (owner-paid portion)
  • − Gross rental income (rooms + ADU)
  • × (1 − vacancy rate) for effective rental income
  • − Property management fee (if applicable)
  • = Net monthly housing cost (negative = positive cash flow)

Annual

  • Sum of 12 months
    • One-time renovation costs (amortized over time horizon)
  • − Tax savings (mortgage interest deduction + depreciation on rented portion)

Long-term

  • Equity build-up (mortgage paydown + appreciation assumption — default 3%/yr)
  • Total cost of ownership at year 5 / 10 / 30
  • Return on cash invested vs. alternative (e.g., S&P 500 at 7% real return)

Step 5 — Output the comparison table

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 out
  • comparison.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>

Step 6 — Archive

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.

Step 7 — Surface + offer follow-ups

  • Show the comparison table in chat
  • Tell the user the workdir path
  • Offer:
    • "Want to run /deep-research on rental comps for the area to firm up the ADU and bedroom rent assumptions?"
    • "Want to formalize the buy/don't-buy decision through /decide once the scenarios land?"
    • "Want to capture this analysis to second-brain raw/ as note-house-<slug>.md?"
    • "Want me to revisit in 30 days as more info comes in (loan rate locked, inspection done, etc.)?"

Composes with

  • 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.

Notes on quality

  • Conservative assumptions by default. Default to higher vacancy (8% not 5%), lower appreciation (3% not 6%), 20% buffer on renovation estimates. Real estate optimism is the most reliable way to lose money.
  • Surface the sensitivity, not just the point estimate. A scenario that's positive only if everything goes right isn't actually positive.
  • Lifestyle is a real variable. "Living with 2 roommates" can be financially optimal AND a quality-of-life disaster. Note these tradeoffs in the report, even if they aren't quantified.
  • Tax calcs are starting points, not authoritative. This skill estimates; an accountant verifies. Flag this in the report.
  • The decision isn't here — the inputs to the decision are. This skill produces the model. /decide makes the call.

Future templates (sketched in references/templates/)

  • refi.md — refinance scenarios
  • cash-flow.md — generic monthly budget
  • big-purchase.md — cash vs finance vs lease for big-ticket items
  • side-income.md — adding a side income stream
  • savings-what-if.md — investment what-ifs

v0.1 ships only house.md fleshed out. Add others when the use case is real.

1---
2name: personal-cfo
3description: "When you want to model personal financial scenarios — house purchase + rental income (ADU, bedroom rentals, house-hacking), renovation budgets, monthly cash flow, big-purchase decisions, savings/investment what-ifs for a household. Ships with a house scenario template; other scenarios (refi, car, education, retirement, side income) slot in as templates. Outputs markdown scenario comparison tables. Saves scenarios to ~/Documents/personal-cfo/ with an index in ~/.config/makerskills/personal-cfo/archive/. Composes with decide, deep-research (rental comps, rates), business-brainstorm, second-brain. 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.\""
4metadata:
5 version: 0.2.1
6---
7 
8# /personal-cfo — Personal financial scenario modeling
9 
10This 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.
11 
12## Step 1 — Pick the scenario type
13 
14| Invocation | Type | What it models |
15|---|---|---|
16| `/personal-cfo house` (default for now) | **house** | Buy a house + rental income scenarios (ADU / bedrooms / combinations) + renovations + monthly cash flow |
17| `/personal-cfo refi` | **refi** | Refinancing scenarios |
18| `/personal-cfo cash-flow` | **cash-flow** | Generic monthly cash flow (income, expenses, savings rate) |
19| `/personal-cfo big-purchase` | **big-purchase** | Should we buy X (car, education, equipment) — cash vs finance vs lease comparisons |
20| `/personal-cfo side-income` | **side-income** | Adding a side income stream — break-even, tax implications |
21| `/personal-cfo savings-what-if` | **savings-what-if** | What if we put $X into Y for N years — index funds, real estate, etc. |
22 
23For v0.1, only the **house** template is fleshed out. Others are sketched in `references/templates/` as stubs.
24 
25## Step 2 — Gather inputs
26 
27Ask in a structured batch. For house mode, see `references/templates/house.md` for the full input questionnaire. Core fields:
28 
29**Property**
30- Purchase price
31- Down payment (% or $)
32- Mortgage rate + term (years)
33- Property taxes (annual)
34- HOA (monthly, if any)
35- Homeowner's insurance (monthly)
36- Closing costs (estimate)
37 
38**Renovations / repairs**
39- Day-1 renovations (line items with estimates — kitchen, bath, ADU buildout, etc.)
40- Year-1 expected repairs
41- Annual maintenance budget (rule of thumb: 1% of purchase price)
42 
43**Rental scenarios** (for the house mode)
44- ADU monthly rent estimate + vacancy assumption (typical: 5–8%)
45- Bedroom 1 monthly rent + vacancy
46- Bedroom 2 monthly rent + vacancy
47- Utilities split assumption (who pays what)
48- Property management cost (if not self-managing)
49 
50**Personal**
51- Current monthly housing cost (rent or current mortgage)
52- Combined household income
53- Marginal tax bracket (for mortgage interest + rental income calcs)
54- Time horizon for the analysis (typical: 5 yr, 10 yr, 30 yr)
55 
56If anything's fuzzy, ask. Don't proceed with placeholder numbers — financial models with wrong inputs are dangerous.
57 
58## Step 3 — Build the scenarios
59 
60For the house mode, default scenarios to compare:
61 
62| Scenario | Description |
63|---|---|
64| **Baseline** | Own + live in, no rental income |
65| **A: ADU only** | Rent the ADU, live in main house |
66| **B: 1 bedroom only** | House-hack 1 bedroom, keep ADU empty (or for guests) |
67| **C: 2 bedrooms only** | House-hack 2 bedrooms, ADU empty |
68| **D: ADU + 1 bedroom** | Both ADU and 1 bedroom rented |
69| **E: ADU + 2 bedrooms** | Maximum rental |
70| **F: ADU + bedrooms (year 2+)** | Year 1: just ADU while renovating. Year 2+: add bedrooms after partner's comfort |
71 
72Let the user customize the scenario list — every house is different.
73 
74## Step 4 — Run the math
75 
76For each scenario, calculate:
77 
78**Monthly**
79- Mortgage payment (P&I) — see `references/calculators.md` for the formula
80- + Property tax / 12
81- + HOA + Insurance + Utilities (owner-paid portion)
82- − Gross rental income (rooms + ADU)
83- × (1 − vacancy rate) for effective rental income
84- − Property management fee (if applicable)
85- = **Net monthly housing cost** (negative = positive cash flow)
86 
87**Annual**
88- Sum of 12 months
89- + One-time renovation costs (amortized over time horizon)
90- − Tax savings (mortgage interest deduction + depreciation on rented portion)
91 
92**Long-term**
93- Equity build-up (mortgage paydown + appreciation assumption — default 3%/yr)
94- Total cost of ownership at year 5 / 10 / 30
95- Return on cash invested vs. alternative (e.g., S&P 500 at 7% real return)
96 
97## Step 5 — Output the comparison table
98 
99Output to `~/Documents/personal-cfo/<scenario-slug>-<YYYY-MM-DD>/`:
100- `inputs.yaml` — all the input numbers (so the analysis is rerunnable + auditable)
101- `report.md` — the full analysis with assumptions called out
102- `comparison.md` — side-by-side scenario table (the headline output)
103 
104### `comparison.md` template
105 
106```markdown
107# <Property nickname> — scenario comparison
108 
109**Date:** YYYY-MM-DD
110**Property:** <address or nickname>
111**Time horizon:** 10 years
112**Key assumptions:** 3%/yr appreciation, 7% S&P alt return, 6% vacancy
113 
114| Scenario | Net monthly cost | Annual cost | 10-yr total | Equity @ 10yr | Notes |
115|---|---:|---:|---:|---:|---|
116| Baseline | $X,XXX | $XX,XXX | $XXX,XXX | $XXX,XXX | No rental income |
117| A: ADU | $X,XXX | $XX,XXX | $XXX,XXX | $XXX,XXX | $X,XXX/mo ADU rent |
118| B: 1 BR | … | … | … | … | … |
119| C: 2 BR | … | … | … | … | … |
120| D: ADU + 1 BR | … | … | … | … | … |
121| E: ADU + 2 BR | … | … | … | … | … |
122 
123## Headline takeaway
124<1–2 sentences: which scenario wins on cash flow, which wins on lifestyle, where the inflection points are>
125 
126## Sensitivity analysis
127- If rates rise 1%: <impact>
128- If ADU rent comes in 20% lower: <impact>
129- If renovations overrun 30%: <impact>
130- If vacancy doubles to 12%: <impact>
131 
132## Open questions
133- <what would change the recommendation>
134- <what to research next — composes with /deep-research>
135```
136 
137## Step 6 — Archive
138 
139Save 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.
140 
141Append a one-liner to `<archive dir>/INDEX.md` (create if missing):
142 
143```markdown
144- 2026-06-26 — [<property nickname>](~/Documents/personal-cfo/<slug>-2026-06-26/) — <type> — <headline takeaway>
145```
146 
147This compounds — when you're considering Property #2 a year later, you can reuse the model and grep past analyses for patterns.
148 
149## Step 7 — Surface + offer follow-ups
150 
151- Show the comparison table in chat
152- Tell the user the workdir path
153- Offer:
154 - *"Want to run `/deep-research` on rental comps for the area to firm up the ADU and bedroom rent assumptions?"*
155 - *"Want to formalize the buy/don't-buy decision through `/decide` once the scenarios land?"*
156 - *"Want to capture this analysis to `second-brain raw/` as `note-house-<slug>.md`?"*
157 - *"Want me to revisit in 30 days as more info comes in (loan rate locked, inspection done, etc.)?"*
158 
159## Composes with
160 
161- **`decide`** — once scenarios are modeled, the buy / don't / negotiate decision goes through `/decide`. Cash flow analysis is input, not the decision itself.
162- **`deep-research`** — for inputs that need market data: rental comps, mortgage rate trends, neighborhood trajectory, school ratings, comparable sales.
163- **`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.
164- **`second-brain`** — capture analyses to `raw/note-house-<slug>.md` so they live in the personal wiki and can be referenced later.
165 
166## Notes on quality
167 
168- **Conservative assumptions by default.** Default to higher vacancy (8% not 5%), lower appreciation (3% not 6%), 20% buffer on renovation estimates. Real estate optimism is the most reliable way to lose money.
169- **Surface the sensitivity, not just the point estimate.** A scenario that's positive only if everything goes right isn't actually positive.
170- **Lifestyle is a real variable.** "Living with 2 roommates" can be financially optimal AND a quality-of-life disaster. Note these tradeoffs in the report, even if they aren't quantified.
171- **Tax calcs are starting points, not authoritative.** This skill estimates; an accountant verifies. Flag this in the report.
172- **The decision isn't here — the inputs to the decision are.** This skill produces the model. `/decide` makes the call.
173 
174## Future templates (sketched in references/templates/)
175 
176- `refi.md` — refinance scenarios
177- `cash-flow.md` — generic monthly budget
178- `big-purchase.md` — cash vs finance vs lease for big-ticket items
179- `side-income.md` — adding a side income stream
180- `savings-what-if.md` — investment what-ifs
181 
182v0.1 ships only `house.md` fleshed out. Add others when the use case is real.
183 

Discussion

Alternatives

Ad campaign analyzerAnalyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.Business & ops · MITFounder cfoYour CFO. Builds the unit economics of a business before money is spent: what one unit earns after its direct costs, the real profit margin at the planned volume, the break-even point in units a day, year 1 month by month, the cash needed before it pays for itself, how long the startup spend takes to earn back, and what happens if the price drops, sales come in low or costs rise. Every number traces to an input the user can check. Use when the user says "find the profit margins", "do the numbers", "is this profitable", "break-even", "unit economics", "how much do I need to start", or "run the CFO".Business & ops · MITStartup financial modelingBuild comprehensive 3-5 year financial models with revenue projections, cost structures, cash flow analysis, and scenario planning for early-stage startups. Use this skill when creating financial projections, calculating burn rate or runway, modeling fundraising scenarios, or preparing investor-ready financials for a seed or Series A raise.Business & ops · MITProject managerUse this agent when you need to establish project plans, track execution progress, manage risks, control budget/schedule, and coordinate stakeholders across complex initiatives. Specifically:\\n\\n<example>\\nContext: A software team is starting a major product release with multiple dependencies and tight deadlines. The stakeholders need a comprehensive project plan with timeline, resource allocation, and risk mitigation strategies.\\nuser: "We're launching a new payment processing platform in Q2. Can you help us plan the project, identify risks, and set up tracking?"\\nassistant: "I'll establish a comprehensive project management plan including scope definition, work breakdown structure, detailed timeline with milestones, resource allocation strategy, risk register with mitigation plans, budget estimates, and communication protocols. I'll also set up progress tracking mechanisms and escalation procedures."\\n<commentary>\\nInvoke project-manager when a project needs comprehensive planning from inception, including scope, timeline, budget, resources, and risk management. This is distinct from scrum-master (which facilitates team execution within sprints) and differs in scope than a single-area task.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: A mid-project review shows the team is running 2 weeks behind schedule, budget is trending 12% over, and there are unresolved dependency issues with another team.\\nuser: "Our project is sliding. We're behind schedule, over budget, and stuck waiting on another team. I need to understand what's happening and how to fix it."\\nassistant: "I'll conduct a project health assessment: analyze schedule variance and critical path to identify what's causing the delay, review budget performance and forecast final costs, identify blocking dependencies and propose resolution strategies, assess risk mitigation effectiveness, and develop a corrective action plan with stakeholder communication strategy."\\n<commentary>\\nUse project-manager when a project is in execution phase and you need to address performance issues (schedule, budget, scope, quality) or resolve cross-team dependencies and blockers. Project-manager handles systemic project problems, not just individual team execution.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: A project is nearing completion with deliverables ready for handoff. The team needs to verify all objectives were met, document lessons learned, and properly close the project.\\nuser: "We're wrapping up the mobile app redesign. Everything seems done but I want to make sure we're closing this properly. Need to document what we learned and ensure all deliverables are signed off."\\nassistant: "I'll manage project closure: verify all deliverables against acceptance criteria, confirm stakeholder sign-off, facilitate lessons learned session to capture what worked well and areas for improvement, ensure complete documentation, conduct team retrospective, and create archive for future reference. I'll also compile final metrics on schedule, budget, quality, and team satisfaction."\\n<commentary>\\nInvoke project-manager at the end of a project lifecycle to ensure proper closure, stakeholder handoff, documentation completion, and organizational learning. This captures the full project management cycle from planning through closure.\\n</commentary>\\n</example>Business & ops · MIT