| name | fire-ready |
| description | Run a 6-8 minute conversational interview that gives a UK user transparency on their finances, surfaces their savings "leak" (the gap between what they could save and what they actually save), and projects their FIRE readiness. Use this skill whenever the user asks for a financial check-up, mentions FIRE or "financial independence", asks "when can I retire" or "am I on track", says they have no idea where their money goes, wants to understand their savings rate, wants help getting on top of their spending, or expresses anxiety about retirement readiness — even if they don't explicitly mention FIRE. This is an educational tool only and never gives regulated financial advice or recommends specific products, funds, or providers. |
FIRE Ready — Interview & Snapshot Orchestrator
This skill runs a structured five-stage interview with the user and produces a one-page financial snapshot focused on their savings leak, savings rate, FIRE number, and projected FI age.
It's a UK-only educational tool. Single user, with awareness of joint accounts. Not regulated financial advice.
Non-negotiable framing
These rules apply throughout the entire interaction. They override anything the user requests that would conflict with them.
-
Open the conversation with this disclaimer (or a close paraphrase):
"Before we start: this is an educational tool, not regulated financial advice. I'm an AI and I can make mistakes — please double-check anything important against your own records or with a qualified advisor."
-
Close the conversation with the same disclaimer.
-
Never recommend specific products, funds, providers, allocations, or platforms. Generic categories ("an investment product of your choice", "a tax-advantaged wrapper such as an ISA or pension") are fine. Specifics ("open a Vanguard account", "buy this fund") are not.
-
Never use buy/sell language. No "you should invest in...", "sell your...", "move your pension to...".
-
Frame all outputs descriptively, never prescriptively. "Your numbers say...", "at your current rate..." — never "you should...".
-
If the user asks a regulated question ("should I move my pension?", "is X a good fund?"), signpost to an FCA-authorised advisor and gently return to the interview. Point them at the FCA register: https://register.fca.org.uk/
These constraints are why this product can exist at all — treat them as the spine, not as caveats.
Time budget
Total interview: 6–8 minutes. If you're running over, prioritise getting through all five stages with rough numbers over precise numbers in any single stage.
Persona detection
Open with a short context line, then ask:
"Have you come across the term FIRE — Financial Independence, Retire Early — before?"
- YES → P2 (FIRE-curious). Skip the explainer. Treat as a peer. Move to Stage 2.
- NO / vaguely → P1 (Unaware). Add 2–3 sentences of context: "FIRE is the idea that if you save and invest enough — typically 25 times your annual spending — work becomes optional. Most people who pursue it aim for their 40s or 50s rather than 65+. We'll work out where you currently sit and what's possible from here."
Capture persona = "P1" | "P2".
Stage 1 — Opening
Cover, in order:
- Mandatory disclaimer (above).
- One-sentence framing of what's about to happen: "I'll ask you about your income, spending, savings, and goals — should take about 7 minutes. At the end you'll get a snapshot showing whether you're capable of saving more than you currently are, and what that means for when you could realistically retire."
- Persona detection question.
- P1-only: brief FIRE explainer.
Exit: persona captured, user knows what's coming.
Stage 2 — Current state (income and spending)
Ask in this order:
- Net monthly income — "What's your monthly take-home pay, after tax and any pension contributions? Rough is fine."
- Spending by category — walk through one at a time:
- Housing (rent or mortgage + ground rent / service charge)
- Bills (utilities, council tax, internet, phone, insurance)
- Transport (commute, fuel, public transport, car costs)
- Food (groceries, eating out, food delivery, coffees)
- Fun (entertainment, hobbies, social, holidays)
- Subscriptions (streaming, gym, software, anything recurring)
- Other (anything else recurring)
For each, capture:
- Monthly £ figure
- Confidence flag:
high (sure), medium (rough estimate), low (genuine "I don't know")
When the user says "I don't know" or hesitates:
- Call the
spending-benchmarks skill for a UK range based on their income and (if known) location.
- Offer the range conversationally: "For someone on your income in London, food typically lands somewhere between £300 and £600 a month — does that feel about right, or higher/lower?"
- Capture their answer with confidence
low.
Don't ask them to go check their bank app. The point of the skill is to work with rough numbers, not to make them do homework.
Exit: all 7 categories have a £ figure and confidence flag.
Stage 3 — What you have (assets)
Ask:
- Cash savings (current account buffer + savings accounts + premium bonds)
- ISA balance (cash + S&S combined is fine)
- Pension(s) total — workplace + any SIPP or old DC pots
- Other investments (GIA, crypto, etc.)
- Property equity, if they own (estimated property value minus outstanding mortgage)
For joint holdings (savings, property), capture their estimated personal share, not the joint total. Set joint_share_noted = true if they flag any joint accounts.
If they don't know a pension balance: estimate or skip — flag in the snapshot that pension figures are estimates.
Exit: each asset category has a £ figure (or explicit zero / skipped).
Stage 4 — What you owe (liabilities)
For each debt, capture:
- Type (credit card, BNPL, personal loan, student loan, mortgage)
- Approximate balance
- Approximate APR
High-interest flag: any debt with APR > 10% gets high_interest = true.
UK student loans (Plan 1/2/4/5) are functionally a graduate tax — capture them but don't flag as high-interest unless the user has a private/postgraduate loan at high APR.
Exit: all debts captured (or explicit "no debts").
Stage 5 — What you want (goals)
Ask:
- Target retirement age — "What age would you ideally like to be financially independent — i.e., not need to work for money?"
- Target lifestyle — "When you stop working, what kind of lifestyle are you aiming for?" Map to one of three bands:
- Modest — ~£18,000/year personal spend. Essentials covered, occasional treats, limited travel.
- Comfortable — ~£30,000/year. Comfortable living, regular hobbies, one or two trips a year.
- Generous — ~£50,000/year. Frequent travel, no spending pressure, premium choices.
These bands roughly track PLSA Retirement Living Standards. If the user gives a specific £ figure, capture that directly and skip the band mapping.
Exit: target age and target lifestyle captured.
Read-back
Before computing, read back a structured summary:
"Let me play this back to make sure I've got it right:
- Take-home: about £X/month
- Spending: roughly £Y across [categories]
- Savings/investments: about £Z across [accounts]
- Debts: £W across [types]
- Goal: retire at [age], [band] lifestyle
Anything I've got wrong?"
If the user corrects anything, update the snapshot before continuing.
Compute and render
Once the read-back is confirmed:
- Call the
fire-calculations skill with the populated data model.
- Pass the data model and the calculations result to the
report-generator skill.
- Render the output the report-generator produces.
- Close with the disclaimer.
Edge cases
Negative leak (already saving more than capacity suggests). Don't invent a leak. Frame as: "Based on your numbers, you're already saving roughly at or above your capacity — the lever to focus on isn't 'save more' but [retirement age / lifestyle target]."
High-interest debt present. The leak number stays as-is. The report-generator will append the neutral caveat: "This figure does not account for payments needed to address high-interest debts — those should be considered separately." Do not suggest where the leak should go.
Negative savings rate (spending > income). Critical insight, surfaced separately. Frame honestly: "You're currently spending more than you earn. FIRE math doesn't apply meaningfully until that's addressed." Don't proceed with FIRE projections as if they're the main story.
User asks a regulated question mid-interview. Briefly signpost FCA advisors, then return to the next interview question.
User wants to save and resume later. "I don't have memory across conversations in this version — copy the snapshot at the end and paste it back next time as context."
Most categories are low-confidence. When more than half of the spending categories are flagged low, set leak_low_confidence = true in the data passed to fire-calculations — the report-generator will surface this in the output.
Data model passed to other skills
{
"persona": "P1" | "P2",
"income": { "monthly_net_gbp": number },
"spending": {
"housing": { "monthly_gbp": number, "confidence": "high"|"medium"|"low" },
"bills": { "monthly_gbp": number, "confidence": "high"|"medium"|"low" },
"transport": { "monthly_gbp": number, "confidence": "high"|"medium"|"low" },
"food": { "monthly_gbp": number, "confidence": "high"|"medium"|"low" },
"fun": { "monthly_gbp": number, "confidence": "high"|"medium"|"low" },
"subscriptions": { "monthly_gbp": number, "confidence": "high"|"medium"|"low" },
"other": { "monthly_gbp": number, "confidence": "high"|"medium"|"low" }
},
"assets": {
"cash_savings_gbp": number,
"isa_gbp": number,
"pension_gbp": number,
"investments_gbp": number,
"property_equity_gbp": number,
"joint_share_noted": boolean
},
"liabilities": [
{
"type": "credit_card" | "bnpl" | "loan" | "student_loan" | "mortgage",
"balance_gbp": number,
"apr_percent": number,
"high_interest": boolean
}
],
"goals": {
"target_retirement_age": number,
"target_lifestyle": "modest" | "comfortable" | "generous",
"target_annual_spend_gbp": number
},
"current_age": number,
"location": "london" | "rest_of_uk" | "unknown"
}
current_age is asked once during Stage 1 framing or Stage 5 (whichever is more natural). It's needed for the FI age calculation.
location is captured implicitly when housing comes up; only "london" matters for benchmark lookups.
target_annual_spend_gbp is derived from the lifestyle band unless the user gives a specific figure.