personal-cfo
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese/personal-cfo — Personal financial scenario modeling
/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.
本技能适用于家庭(你+伴侣):住房决策、月度现金流、大额采购、假设场景分析。如果你还为公司使用商务书籍CFO技能,二者核心逻辑相同,只是适用领域不同。
Step 1 — Pick the scenario type
步骤1 — 选择场景类型
| Invocation | Type | What it models |
|---|---|---|
| house | Buy a house + rental income scenarios (ADU / bedrooms / combinations) + renovations + monthly cash flow |
| refi | Refinancing scenarios |
| cash-flow | Generic monthly cash flow (income, expenses, savings rate) |
| big-purchase | Should we buy X (car, education, equipment) — cash vs finance vs lease comparisons |
| side-income | Adding a side income stream — break-even, tax implications |
| 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 as stubs.
references/templates/| 调用指令 | 类型 | 建模内容 |
|---|---|---|
| house | 购房+租赁收入场景(ADU/卧室/组合形式)+装修+月度现金流 |
| refi | 再融资场景 |
| cash-flow | 通用月度现金流(收入、支出、储蓄率) |
| big-purchase | 是否购买X(汽车、教育、设备)——全款vs贷款vs租赁对比 |
| side-income | 新增副业收入流——收支平衡点、税务影响 |
| savings-what-if | 如果我们在N年内将$X投入Y会怎样——指数基金、房地产等 |
v0.1版本仅完善了house模板。其他模板作为存根文件放在中。
references/templates/Step 2 — Gather inputs
步骤2 — 收集输入信息
Ask in a structured batch. For house mode, see for the full input questionnaire. Core fields:
references/templates/house.mdProperty
- 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.
结构化批量询问。房屋模式下,完整的输入问卷请查看。核心字段:
references/templates/house.md房产信息
- 购房总价
- 首付(百分比或金额)
- 抵押贷款利率+期限(年)
- 房产税(年度)
- 物业费(月度,如有)
- 房屋保险(月度)
- 成交费用(预估)
装修/维修
- 入住首日装修(分项预估——厨房、浴室、ADU扩建等)
- 第一年预计维修费用
- 年度维护预算(经验法则:购房总价的1%)
租赁场景(房屋模式下)
- ADU月度租金预估+空置率假设(通常:5–8%)
- 卧室1月度租金+空置率
- 卧室2月度租金+空置率
- 水电费分摊假设(谁支付哪些费用)
- 物业管理费(如果不自管)
个人信息
- 当前月度住房成本(租金或现有抵押贷款)
- 家庭总收入
- 边际税率(用于抵押贷款利息+租赁收入计算)
- 分析时间跨度(通常:5年、10年、30年)
如有信息模糊,需进一步询问。不要使用占位符数字——输入错误的财务模型风险极高。
Step 3 — Build the scenarios
步骤3 — 创建场景
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.
房屋模式下,默认对比场景:
| 场景 | 描述 |
|---|---|
| 基准场景 | 自住,无租赁收入 |
| A: 仅ADU出租 | 出租ADU,自住主屋 |
| B: 仅1间卧室出租 | 共享1间卧室,ADU空置(或用于接待客人) |
| C: 仅2间卧室出租 | 共享2间卧室,ADU空置 |
| D: ADU+1间卧室出租 | ADU和1间卧室均出租 |
| E: ADU+2间卧室出租 | 最大化租赁收入 |
| F: ADU+卧室(第2年及以后) | 第1年:仅出租ADU,同时进行装修。第2年及以后:伴侣适应后新增卧室出租 |
允许用户自定义场景列表——每套房屋情况都不同。
Step 4 — Run the math
步骤4 — 计算分析
For each scenario, calculate:
Monthly
- Mortgage payment (P&I) — see for the formula
references/calculators.md -
- 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)
针对每个场景,计算以下内容:
月度数据
- 抵押贷款月供(本金+利息)——公式请查看
references/calculators.md -
- 房产税/12
-
- 物业费+保险+水电费(业主支付部分)
- − 总租赁收入(房间+ADU)
- × (1 − 空置率) 得出实际租赁收入
- − 物业管理费(如适用)
- = 月度住房净成本(负数表示正现金流)
年度数据
- 12个月数据总和
-
- 一次性装修成本(按时间跨度摊销)
- − 节税额(抵押贷款利息扣除+出租部分折旧)
长期数据
- 资产积累(抵押贷款偿还+增值假设——默认每年3%)
- 第5/10/30年的总持有成本
- 投入资金的回报率vs替代方案(如:标普500指数实际回报率7%)
Step 5 — Output the comparison table
步骤5 — 输出对比表格
Output to :
~/Documents/personal-cfo/<scenario-slug>-<YYYY-MM-DD>/- — all the input numbers (so the analysis is rerunnable + auditable)
inputs.yaml - — the full analysis with assumptions called out
report.md - — side-by-side scenario table (the headline output)
comparison.md
输出至:
~/Documents/personal-cfo/<scenario-slug>-<YYYY-MM-DD>/- — 所有输入数据(确保分析可重复、可审计)
inputs.yaml - — 完整分析报告,列明假设条件
report.md - — 场景并排对比表格(核心输出)
comparison.md
comparison.md
template
comparison.mdcomparison.md
模板
comparison.mdmarkdown
undefinedmarkdown
undefined<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 | … | … | … | … | … |
日期: YYYY-MM-DD
房产: <地址或昵称>
时间跨度: 10年
核心假设: 年增值3%,标普替代回报率7%,空置率6%
| 场景 | 月度净成本 | 年度成本 | 10年总成本 | 10年资产净值 | 备注 |
|---|---|---|---|---|---|
| 基准场景 | $X,XXX | $XX,XXX | $XXX,XXX | $XXX,XXX | 无租赁收入 |
| A: ADU出租 | $X,XXX | $XX,XXX | $XXX,XXX | $XXX,XXX | ADU月租金$X,XXX |
| B: 1间卧室出租 | … | … | … | … | … |
| C: 2间卧室出租 | … | … | … | … | … |
| D: ADU+1间卧室出租 | … | … | … | … | … |
| E: ADU+2间卧室出租 | … | … | … | … | … |
Headline takeaway
核心结论
<1–2 sentences: which scenario wins on cash flow, which wins on lifestyle, where the inflection points are>
<1-2句话:哪个场景现金流最优,哪个场景生活方式最优,转折点在哪里>
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>
- 如果利率上升1%:<影响>
- 如果ADU租金低20%:<影响>
- 如果装修超支30%:<影响>
- 如果空置率翻倍至12%:<影响>
Open questions
待解决问题
- <what would change the recommendation>
- <what to research next — composes with /deep-research>
undefined- <哪些因素会改变推荐结论>
- <下一步需调研内容——可与/deep-research组合使用>
undefinedStep 6 — Archive
步骤6 — 归档
Save the scenario folder so future revisits work. The archive index lives in (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 with user entries, move those files into the archive directory first.
${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/personal-cfo/archive/references/scenarios-archive/Append a one-liner to (create if missing):
<archive dir>/INDEX.mdmarkdown
- 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.
保存场景文件夹,方便后续查看。归档索引位于(如目录不存在则创建)。切勿将归档内容保存至技能自身文件夹内——技能安装和升级会从源同步并清除其中保存的所有内容。**迁移说明:**如果本技能文件夹包含旧的目录及用户数据,请先将这些文件移至归档目录。
${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/personal-cfo/archive/references/scenarios-archive/在(如不存在则创建)中添加一行记录:
<archive dir>/INDEX.mdmarkdown
- 2026-06-26 — [<房产昵称>](~/Documents/personal-cfo/<slug>-2026-06-26/) — <类型> — <核心结论>这样会逐步积累——当你一年后考虑第二套房产时,可以复用模型并搜索过往分析以寻找规律。
Step 7 — Surface + offer follow-ups
步骤7 — 展示结果并提供后续选项
- Show the comparison table in chat
- Tell the user the workdir path
- Offer:
- "Want to run on rental comps for the area to firm up the ADU and bedroom rent assumptions?"
/deep-research - "Want to formalize the buy/don't-buy decision through once the scenarios land?"
/decide - "Want to capture this analysis to as
second-brain raw/?"note-house-<slug>.md - "Want me to revisit in 30 days as more info comes in (loan rate locked, inspection done, etc.)?"
- "Want to run
- 在聊天中展示对比表格
- 告知用户工作目录路径
- 提供以下选项:
- "是否要运行调研该区域的租赁参考价,以确定ADU和卧室租金的合理假设?"
/deep-research - "场景建模完成后,是否要通过正式确定购买/不购买的决策?"
/decide - "是否要将此分析结果保存至,命名为
second-brain raw/?"note-house-<slug>.md - "是否要在30天后重新查看,获取更多信息(锁定贷款利率、完成房屋检查等)?"
- "是否要运行
Composes with
可组合使用的技能
- — once scenarios are modeled, the buy / don't / negotiate decision goes through
decide. Cash flow analysis is input, not the decision itself./decide - — for inputs that need market data: rental comps, mortgage rate trends, neighborhood trajectory, school ratings, comparable sales.
deep-research - — 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.
business-brainstorm - — capture analyses to
second-brainso they live in the personal wiki and can be referenced later.raw/note-house-<slug>.md
- — 场景建模完成后,购买/不购买/谈判决策通过
decide执行。现金流分析是输入,而非决策本身。/decide - — 用于获取需要市场数据的输入项:租赁参考价、抵押贷款利率趋势、社区发展前景、学校评级、可比房产售价。
deep-research - — 如果场景涉及“商业性质”(如短租、多单元购房、扩展至N套房产),可转至该技能测试商业可行性。
business-brainstorm - — 将分析结果保存至
second-brain,使其存入个人知识库,方便后续参考。raw/note-house-<slug>.md
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. makes the call.
/decide
- 默认采用保守假设。默认更高的空置率(8%而非5%)、更低的增值率(3%而非6%)、装修预估预留20%缓冲。对房地产过于乐观是最可靠的亏钱方式。
- 展示敏感性,而非仅单点估算。只有在一切顺利时才盈利的场景并非真正的盈利场景。
- 生活方式是真实变量。“与2个室友同住”在财务上可能最优,但可能严重影响生活质量。即使无法量化,也要在报告中注明这些权衡。
- 税务计算仅为起点,并非权威结论。本技能仅做估算;具体需由会计师核实。请在报告中注明这一点。
- 决策不在此完成——仅提供决策输入。本技能生成模型,做出决策。
/decide
Future templates (sketched in references/templates/)
未来模板(已在references/templates/中草拟)
- — refinance scenarios
refi.md - — generic monthly budget
cash-flow.md - — cash vs finance vs lease for big-ticket items
big-purchase.md - — adding a side income stream
side-income.md - — investment what-ifs
savings-what-if.md
v0.1 ships only fleshed out. Add others when the use case is real.
house.md- — 再融资场景
refi.md - — 通用月度预算
cash-flow.md - — 大额物品的全款vs贷款vs租赁对比
big-purchase.md - — 新增副业收入流
side-income.md - — 投资假设分析
savings-what-if.md
v0.1版本仅完善了模板。当有实际需求时再添加其他模板。
house.md