skills/*/SKILL.md
The advisor's skills
Each skill is a Markdown file with YAML frontmatter (name, description) and a procedure. The agent sees only the descriptions up front, and calls load_skill to read the full file when a question falls in that skill's domain. To add a skill, drop a new folder in skills/. No code changes needed.
financingskills/financing/SKILL.mdCompare ways to pay for energy measures — cash, Warmtefonds energy-saving loan, or mortgage top-up — as monthly cost vs monthly saving. Use when the user asks about lenen, Warmtefonds, financiering, hypotheek, budget, or "can I afford it".
# Financing advisor
## When to use
The user asks how to pay, mentions a budget, or asks whether something is affordable.
## Procedure
1. Get the net investment (cost minus subsidy) from `calculate_plan`.
2. Present three options as a small table: **monthly cost** vs **monthly saving**.
- **Cash**: monthly cost €0; opportunity cost of savings interest.
- **Warmtefonds** (Energiebespaarlening): fixed rate, 10–20 years; 0% for households with a lower income (verzamelinkomen below the threshold). Cite [warmtefonds].
- **Mortgage top-up**: extra borrowing room for energy measures; rate equals the mortgage rate.
3. Use the formula for an annuity: `payment = P · r / (1 − (1 + r)^−n)` with monthly rate r and n months. Show your inputs. Round to whole euros.
4. If monthly saving ≥ monthly payment, say so explicitly — "this pays for itself from month one".
5. You are not a licensed financial advisor. Say so in one line when recommending a loan, and suggest checking with the lender.
heat-pumpskills/heat-pump/SKILL.mdDecide between a hybrid heat pump, a full electric (all-electric) heat pump, or waiting. Use when the user mentions warmtepomp, hybride, all-electric, CV-ketel replacement, or going gasless (van het gas af).
# Heat pump advisor
## When to use
Questions about heat pumps, replacing the central heating boiler (CV-ketel), or getting off gas.
## Procedure
1. Check insulation first. Call `calculate_plan` and look at what insulation measures remain.
- If the house is label D or worse and wall/roof are uninsulated → recommend insulating first. A heat pump in a leaky house runs at high flow temperature and disappoints.
2. Decide the type:
| Situation | Advice |
|---|---|
| Label E–G, insulation not done | Insulate first, revisit in 1–2 years |
| Label C–D, boiler < 10 years old | **Hybrid** heat pump next to the boiler |
| Label A–B, low-temperature radiators or floor heating | **All-electric** is realistic |
| Apartment without outdoor unit space / VvE rules | Check VvE first, consider ventilation heat pump |
3. Mention the 50 °C test: turn the boiler flow temperature down to 50 °C for a cold week. If the house stays warm, it is ready for low-temperature heating.
4. Call `check_subsidies` with the heat pump measure — ISDE applies to both hybrid and all-electric.
5. Use `search_knowledge` with "heat pump" or "warmtepomp" and cite sources.
## Numbers
Never estimate SCOP, kWh or savings yourself — they come from `calculate_plan`. You may explain that a heat pump moves gas use to electricity, so savings depend on both prices.
insulationskills/insulation/SKILL.mdAdvise on insulating walls, roof, floor and glazing for a Dutch home — which order, what it costs, and when NOT to do it. Use when the user asks about isolatie, spouwmuur, dak, vloer, HR++ or triple glass, damp, or "what should I insulate first".
# Insulation advisor
## When to use
The user asks what to insulate, in what order, or whether a specific insulation measure is worth it.
## Procedure
1. Make sure you know the house: call `lookup_house` if you have a postcode + house number and haven't yet.
2. Ask (or read from memory) which measures are already done. Never recommend a measure the user already has.
3. Call `calculate_plan` — never compute savings or payback yourself. The tool is the source of truth for every number.
4. Explain the ranking in this order of reasoning:
- **Trias energetica**: reduce demand first (insulate), then make heat efficient (heat pump), then generate (solar).
- Cheapest €/m³ saved goes first. Cavity wall (spouwmuur) is usually the best payback in homes built 1930–1975.
- Roof before floor in detached and corner houses; floor matters more in houses with a crawl space (kruipruimte).
5. Always mention the two risks that installers skip:
- **Ventilation**: an airtighter house needs ventilation (roosters, mechanical extraction) or you get damp and mould.
- **Cavity check**: a spouwmuur needs a cavity of ≥ 5 cm and no damp problems — an installer should do a boroscope check.
6. Search the knowledge base (`search_knowledge`) for the specific measure and cite the source id in brackets, e.g. [insulation-basics].
## Don'ts
- Don't recommend triple glass over HR++ on payback grounds unless the frames are being replaced anyway.
- Don't recommend interior wall insulation (binnenmuurisolatie) without warning about condensation risk.
- Don't present indicative numbers as quotes. Say "indicative — get two quotes".
rentersskills/renters/SKILL.mdHelp tenants (huurders) — what the landlord must or may do, no-cost measures, and a draft letter to the landlord. Use when the user says they rent, mentions huurder, verhuurder, woningcorporatie, or asks for a letter.
# Renter advisor
## When to use
The user rents their home.
## Procedure
1. Do **not** produce an investment plan as if they own the house. Reframe: "Your landlord decides on structural measures; here's what you can ask for and what you can do yourself."
2. Explain the rules, citing [renters-rights]:
- Rental homes with label **E, F or G** may not be newly rented out from 2029 (social housing corporations are phasing these out already).
- A tenant can propose improvements; for a **renovation proposal by the landlord**, 70% of tenants agreeing makes it binding for a complex.
- Rent increases after improvements must be reasonable and can be checked by the Huurcommissie.
3. Give no-cost/low-cost measures: radiator foil, draught strips (tochtstrips), thermostat 1 °C lower (~6% gas), shower timer, close curtains at dusk.
4. Offer to **draft a letter** to the landlord. Keep it polite, concrete (which measure, why, reference the energy label), and ask for a written answer within 6 weeks. Output the letter as a fenced block so the user can copy it.
## Don'ts
- Don't tell renters to apply for ISDE — it's for owner-occupiers.
solarskills/solar/SKILL.mdAdvise on solar panels (zonnepanelen) after the end of net metering (salderingsregeling) in 2027, including batteries and self-consumption. Use when the user asks about zonnepanelen, PV, saldering, terugleverkosten or a home battery.
# Solar advisor
## When to use
Questions about solar panels, net metering, feed-in costs or batteries.
## Procedure
1. Check the roof first: orientation, shading, and whether the roof needs renovation. If the roof will be insulated or re-covered within 5 years, **do that first** — removing and re-placing panels costs €800–€1.500.
2. Explain that net metering (saldering) ends on **1 January 2027**. After that, electricity you feed back earns a low feed-in tariff, and many suppliers charge feed-in costs. Value comes from **using your own power** (self-consumption): heat pump, EV, washing during the day.
3. Panels still pay back in roughly 7–10 years for most owner-occupiers; mention that a heat pump raises self-consumption.
4. Home batteries: rarely pay back on their own in 2026. Only suggest one with a dynamic contract and high self-consumption.
5. Use `search_knowledge` with "saldering" and cite [solar-saldering].
## Note
No ISDE for solar panels. VAT on panels is 0% for residential installations.
subsidiesskills/subsidies/SKILL.mdCheck which subsidy schemes apply (ISDE for owner-occupiers, SVVE for VvE's, municipal schemes) and explain the conditions and application order. Use when the user asks about subsidie, ISDE, SVVE, RVO, or "what do I get back".
# Subsidy checker
## When to use
Any question about subsidies, grants, or "what do I get back".
## Procedure
1. Determine the applicant type: `owner` (eigenaar-bewoner), `vve`, or `renter` (huurder — usually not eligible; switch to the **renters** skill).
2. Call `check_subsidies` with the measures and applicant type. The tool returns amounts and conditions — never invent amounts.
3. Explain the rules that cost people money when they miss them:
- **ISDE: apply within 24 months after installation**, with the invoice and proof of payment.
- **Two-measure bonus**: insulation measures get a higher rate when you do two or more within 24 months (or one insulation measure + a heat pump).
- Minimum surface areas apply (e.g. ≥ 10 m² for roof, ≥ 10 m² for wall, ≥ 3 m² glass).
- The installer must be a registered company; DIY work is generally not eligible for insulation ISDE.
4. Point to the official source: rvo.nl. If web search is available, you may verify the current year's rates on rvo.nl and say which year the numbers apply to.
## Tone
Subsidy rules change every year. Always end with: "Rates are indicative for 2026 — check RVO before you sign."
knowledge/*.md · RAG corpus
Knowledge base
[energy-labels]Energy labels (energielabel) and what moves them
RVO EP-Online (paraphrased)
[heat-pumps]Heat pumps — hybrid vs all-electric
Milieu Centraal (paraphrased), RVO
[insulation-basics]Insulation basics for Dutch homes
Milieu Centraal (paraphrased), Warmtewijs method notes
[isde-2026]ISDE subsidy — investment subsidy for sustainable energy (indicative 2026)
RVO (rvo.nl/isde), indicative amounts; check current rates
[renters-rights]Tenants and energy improvements
Rijksoverheid, Woonbond, Huurcommissie (paraphrased)
[solar-saldering]Solar panels after net metering ends
Rijksoverheid, Milieu Centraal (paraphrased)
[vve]VvE's — apartment owners' associations
RVO SVVE, VvE Belang (paraphrased)
[warmtefonds]Warmtefonds energy-saving loan
Nationaal Warmtefonds (warmtefonds.nl), indicative