futurefin-fire-domain-reference

Documents the FIRE and retirement-projection math as implemented in the FutureFin codebase.

1|Updated May 2, 2026
One-click install
npx skills add https://github.com/maxlainz/FutureFin --skill futurefin-fire-domain-reference-maxlainz
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: futurefin-fire-domain-reference
Source: https://github.com/maxlainz/FutureFin/tree/main/.claude/skills/futurefin-fire-domain-reference
Command: npx skills add https://github.com/maxlainz/FutureFin --skill futurefin-fire-domain-reference-maxlainz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineers editing FutureFin's projection engine, FIRE target computation, or retirement UI need to know exactly how the math is implemented today — not textbook FIRE theory — to avoid reintroducing historical bugs like the client/server target divergence or the off-by-one inflation trigger. ## Core Features & Use Cases - Canonical formulas: Documents the three FIRE number modes (manual, annual_expense, current_income), the closed-form capital-gains tax gross-up, the nominal-vs-real inflation model, and the moving monthly target with debt term. - Implementation contracts: Covers the allocation cascade, retirement drawdown/drain order, runway KPI with SWR threshold, savings_source transaction-derived modes, and the fire-parity.json client/server fixture. - Use Case: Before editing crates/engine/src/projection.rs or apps/web/src/lib/fire.ts, load this reference to verify why the target grows with inflation, why jubilación moved, or whether a number is in today-euros. ## Quick Start Load the futurefin-fire-domain-reference skill to explain why the FIRE target grows with inflation before I modify the projection handler.

Frequently Asked Questions about futurefin-fire-domain-reference

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How is the FIRE number calculated in FutureFin?▼

The FIRE number equals the grossed-up annual need divided by the safe withdrawal rate, plus a debt term. The need comes from one of three modes: manual amount, annual retirement expense minus persistent income, or current income replacement, each inflated per month.

How does the capital-gains tax gross-up work for retirement withdrawals?▼

The gross-up converts the net annual amount needed into a larger gross withdrawal using a closed-form walk through Spanish IRPF brackets, scaled by the taxable gain ratio. It replaced a 90-iteration binary search with identical results within 0.01 euros.

Why does the FIRE target grow over time in the projection?▼

The target grows because the base amount is multiplied by an inflation factor each month, while a decaying debt term is added. With zero inflation and live debt the target strictly decreases, so it is no longer monotonic.

Does the web preview match the server FIRE calculation?▼

Yes, parity is enforced through the shared fire-parity.json fixture and the same closed-form gross-up on both sides. In transaction-derived savings modes the preview must consume the summary's effective equivalents rather than recomputing from the budget.

When should I not use this domain reference?▼

Do not use it as a bug triage runbook, to change the economic model, or for environment and configuration questions. Those belong to the debugging playbook, change-control, and config-and-flags skills respectively.