personal-cfo

個人の財務シナリオをモデル化したい場合 — 住宅購入+賃貸収入(ADU、寝室賃貸、住宅ハッキング)、リノベーション予算、月々キャッシュフロー予測、大きな購入の意思決定、貯蓄や投資の「もしも」などです。

@coreyhaines31MIT更新 2026-08-22v0.1.0直近30日 2 回
コンテキストを 2,212 トークン使用しますコンテキストを 2.2k トークン 使用します

/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

InvocationTypeWhat it models
/personal-cfo house (default for now)houseBuy a house + rental income scenarios (ADU / bedrooms / combinations) + renovations + monthly cash flow
/personal-cfo refirefiRefinancing scenarios
/personal-cfo cash-flowcash-flowGeneric monthly cash flow (income, expenses, savings rate)
/personal-cfo big-purchasebig-purchaseShould we buy X (car, education, equipment) — cash vs finance vs lease comparisons
/personal-cfo side-incomeside-incomeAdding a side income stream — break-even, tax implications
/personal-cfo savings-what-ifsavings-what-ifWhat 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:

ScenarioDescription
BaselineOwn + live in, no rental income
A: ADU onlyRent the ADU, live in main house
B: 1 bedroom onlyHouse-hack 1 bedroom, keep ADU empty (or for guests)
C: 2 bedrooms onlyHouse-hack 2 bedrooms, ADU empty
D: ADU + 1 bedroomBoth ADU and 1 bedroom rented
E: ADU + 2 bedroomsMaximum 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.