| name | start-homehunter-council |
| description | Launch an LLM-Council-Homehunter panel to generate a house- or apartment-search spec from a user's free-text brief. Use when the user says "analyse my house search", "help me narrow my apartment hunt", "run the homehunter council", "/start-homehunter-council", or provides a house/apartment-hunting brief in the LLM-Council-Homehunter repo. Captures the brief (free-text or voice transcript), runs the five-persona council (Mortgage Expert, Home-Ownership Project Expert, Renovation Specialist, Lifestyle Advocate, Risk Auditor) and the Chairman synthesis, and surfaces the Search Spec + PDF. |
Start a Homehunter Council
You are operating inside the LLM-Council-Homehunter repo. This skill walks the user through running a council session for a house or apartment search.
Preconditions
- Repo root must contain
backend/main.py. If it does not, the user has invoked this skill outside the repo — tell them.
- Check
.env has OPENROUTER_API_KEY. If missing, tell the user to copy .env.example and set the key. Do not invent or ask for the key value.
- Run
uv sync if the venv is missing.
Step 1 — Capture the brief
Ask the user for their brief if one has not been provided. The brief should cover:
- Buy vs rent, target area(s), budget + stretch budget.
- Household composition + timeline.
- Must-haves, strong preferences, dealbreakers.
- Anxieties and aspirations (these genuinely matter — don't skip them).
Accept any of: path to a markdown file, free-form text, voice-transcript paste. examples/brief-jerusalem-family.md is a reference for the shape.
Do not clean up the user's phrasing. The context parser is designed to read raw human input.
Save free-form briefs to briefs/<short-slug>-YYYY-MM-DD.md.
Step 2 — Run the council
uv run python -m backend.main --brief <path-to-brief>
While it runs, tell the user which personas are deliberating and roughly how long to expect (tens of seconds to a couple of minutes).
Step 3 — Surface the output
When the run completes:
- Show the Search Spec content (printed by the CLI).
- Report the PDF path.
- Specifically highlight Section 5 — Acceptable Compromises. That is the load-bearing output of this tool; make sure the user actually reads it.
Step 4 — Iterate
Offer to re-run if the user wants to:
- Change budget or target area and see the spec shift.
- Add information (e.g., mortgage pre-approval) that fills in
missing_information from the parsed context.
- Tweak persona prompts (direct edit to
prompts/persona_*.md) if a council member is over- or under-weighting.
Failure modes
- Missing API key → stop, explain, no workarounds.
- Typst not installed →
--no-pdf still gives the Search Spec; the typst-council-report skill can render the PDF once Typst is installed.
- Rate limits → retry with the same brief; the council is stateless per run.
Out of scope
This skill does not fetch listings or interface with real-estate platforms. It produces a search spec that the user then takes to Zillow / Rightmove / Yad2 / a broker.