skills/health/SKILL.md
Pre-visit preparation and health education for adults in Germany. Helps users arrive at medical appointments prepared — symptom intake (OPQRST/SOCRATES), record decoding (Arztbriefe, Laborbefunde), differential context with AWMF/ IQWiG/Cochrane citations, doctor sourcing (KV Berlin first, Germany-wide expansion when warranted), G-BA Vorsorgekatalog gap analysis, medication checks (PRISCUS 2.0), §27b SGB V second-opinion case structuring. Use when the user asks about: symptoms, Arztbrief, Laborbefund, Befund decoding, pre-visit preparation, finding a Facharzt / GP / Hausarzt in Berlin, Vorsorge, Check-up 35, Krebsfrüherkennung, IGeL, PRISCUS, medication interactions, second opinion, Maximalversorger, certified Zentrum, health diary, symptom tracking, biomarker logging, blood pressure log, weight log, mood log, sleep log, appointment tracking, Doctolib search, samedi search, Arzttermin, Terminsuche. Does NOT cover: clinical diagnosis, treatment recommendations, dose changes, automated booking, ePA integration, pediatric care, Brazilian health system, wearables ingest. Sibling skill finyx-home covers Home Assistant sensor data.
npx skillsauth add italolelis/finyx finyx-healthInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill:
profile<execution_context> ${CLAUDE_SKILL_DIR}/references/legal/disclaimers.md ${CLAUDE_SKILL_DIR}/references/legal/gdpr-consent.md ${CLAUDE_SKILL_DIR}/references/legal/mdr-classification.md @.finyx/profile.json
<!-- Project-local fast-path. Authoritative profile path is resolved at runtime via scripts/resolve-profile.sh --></execution_context>
<process>Inspect $ARGUMENTS (case-insensitive) for the following keywords and map to sub_skill_type:
| Keyword(s) | sub_skill_type | |------------|---------------| | "profile", "interview", "setup", "onboarding", "daten", "profil" | profile | | "records", "laborbefund", "arztbrief", "befund", "dokument", "pdf", "epa", "impfpass" | records | | "decode", "übersetzen", "erklären", "was bedeutet", "was heißt", "abkürzung" | decode | | "intake", "symptoms", "ich habe", "mir tut", "schmerzen", "beschwerden", "symptome", "what's wrong with me", "ich fühle mich nicht gut" | intake | | "triage", "emergency", "notfall", "dringend", "how serious", "how bad", "ist das ernst" | triage | | "differentials", "differential context", "was könnte ich haben", "mögliche erkrankungen", "conditions your doctor" | differentials | | "prep", "briefing", "visit", "appointment", "arzttermin", "vorbereitung", "vor dem termin" | prep | | "doctor", "arzt", "facharzt", "specialist", "search", "find", "suchen", "finden", "practice", "praxis", "kardiologie", "neurologie", "psychiater", "psychotherapeut", "hausarzt" | doctor-search | | "prevention", "vorsorge", "screening", "check-up", "checkup", "krebsfrüherkennung", "igel", "vorsorgekatalog", "mammographie", "darmkrebs", "hautkrebsscreening", "vorsorgeuntersuchung" | prevention | | "diary", "tagebuch", "track", "log", "eintrag", "biomarker", "blood pressure", "blutdruck", "weight", "gewicht", "symptom log", "mood log", "sleep log", "schlafprotokoll" | diary | | "appointment", "termin", "schedule", "calendar", "book", "booking", "doctolib", "samedi", "kalender", "arzttermin buchen", "termin vereinbaren", "termin suchen" | appointment | | "meds", "medication", "medikament", "drug", "arzneimittel", "prescription", "tabletten", "wechselwirkung", "interactions", "priscus", "generikum", "nebenwirkung" | meds | | "second opinion", "zweitmeinung", "second-opinion", "zweite meinung", "§27b", "zweitbefund" | second-opinion |
If matched: set sub_skill_type to the matched value and proceed to Phase 1.
If not matched or $ARGUMENTS is empty: default sub_skill_type = "profile".
Note: Phase 26 added
intakeandtriage. Phase 27 addeddifferentials. Phase 28 addedprep. Phase 29 addeddoctor-search. Phase 30 addedprevention. Phase 32 addeddiaryandappointment. Phase 33 addedmedsandsecond-opinion.
Check that the sub-skill file exists:
SUB_SKILL_FILE="${CLAUDE_SKILL_DIR}/sub-skills/${sub_skill_type}.md"
if [ ! -f "$SUB_SKILL_FILE" ]; then
echo "Sub-skill '${sub_skill_type}' not yet implemented. Available: profile, records, decode, intake, triage, differentials, prep, doctor-search, prevention, diary, appointment, meds, second-opinion"
exit 1
fi
Load and execute the matched sub-skill file content. The sub-skill inherits the execution_context loaded above (GDPR consent gate, disclaimers, MDR classification, profile.json).
</process><error_handling>
Unknown health sub-skill type (sub-skill file not found):
ERROR: No sub-skill found for type "[sub_skill_type]".
Currently available health sub-skills:
- profile (Health profile interview — symptoms, conditions, medications, allergies)
- records (Parse medical PDFs — Arztbriefe, Laborbefunde, Bildgebung, Impfpass, and more)
- decode (Plain-language translation of medical text in DE, EN, or PT)
- intake (Symptom intake interview — OPQRST/SOCRATES structured interview with triage gating)
- triage (Standalone urgency check — red-flag matrix against brief symptom description)
- differentials (Pre-visit differential context — conditions your doctor might consider, cited from AWMF/IQWiG/Cochrane)
- prep (Pre-visit briefing — printable single-page summary with symptom timeline, biomarkers, and EBM/GOÄ billing hints)
- doctor-search (Specialist finder — KV Berlin, 116117, certified Zentren, Charité/Vivantes, Doctolib deep-links)
- prevention (G-BA Vorsorgekatalog gap analysis — overdue screenings, IGeL add-on recommendations with evidence verdicts)
- diary (Longitudinal health tracker — symptoms, biomarkers, BP, weight, sleep, pain, mood, cycle; optional finyx-home HA overlay)
- appointment (Appointment tracking + Doctolib/samedi deep-link surfacing — no automated booking)
- meds (Medication review — PRISCUS 2.0 check (≥65), Gelbe Liste interaction surface, side-effect signals, generic alternatives)
- second-opinion (§27b SGB V second opinion — procedure eligibility, case packet, 10-day notice letter, Zweitmeinungsarzt routing)
Run finyx-health [type] (or omit type to default to profile)
No profile found:
ERROR: No financial profile found.
Run finyx-profile first to complete your financial profile, then retry.
</error_handling>
Before any clinical content is produced by sub-skills, they MUST load:
references/legal/disclaimers.md — canonical HeilprG + MDR disclaimer strings (DRY source)references/legal/gdpr-consent.md — GDPR Art. 9 consent gate templatereferences/legal/mdr-classification.md — MDR Rule 11 rationale + intended-purpose stringreferences/red-flags/_index.md — reading order and tier mapping (BEFORE any intake)references/crisis-routing.md — Berliner Krisendienst table + unconditional session-halt ruleDisclaimer strings: loaded via execution_context from references/legal/disclaimers.md. Do not copy inline — see disclaimers.md DRY rule.
tools
Home Assistant sensor integration bridge — air quality, humidity, temperature, sleep, weight, and blood pressure data correlated with health diary entries. Uses ha-mcp (user-side uvx install) as the sole MCP boundary via finyx-home-sensor-agent. Sub-skills: setup (one-time HA config), snapshot (current sensor state), audit (30/90-day environmental history), correlate (sensor vs. symptom cross-correlation as HYPOTHESES). Use when the user asks about: Home Assistant, HA sensor data, air quality correlation, sleep environment analysis, indoor humidity, CO2, PM2.5, VOC, allergen exposure tracking, sensor staleness, environmental audit, correlate sensors with symptoms. Does NOT cover: medical diagnosis, clinical advice, automated home control, non-health sensor analytics. Sibling skill finyx-health covers symptoms, records, and clinical preparation. All sensor-symptom correlations are HYPOTHESES — never causal claims. Prerequisites: ha-mcp installed (see README.md). HOMEASSISTANT_TOKEN env var set to a Long-Lived Access Token. finyx-home setup run once.
data-ai
Investment tax advisor for German and Brazilian investors — Abgeltungssteuer, Sparerpauschbetrag, Vorabpauschale, DARF, come-cotas, cross-border DBA guidance. Use when the user asks about taxes, tax optimization, Steuererklärung, tax class, deductions, or investment taxation.
testing
Real estate investment analysis for Germany — location scouting (Erbpacht, transport), property analysis (yield, Kaufnebenkosten, AfA), filtering, shortlist comparison, stress testing, advisor briefing, and mortgage rate research. Use when the user asks about real estate, property investment, Immobilien, mortgage, Kaufnebenkosten, rental yield, or location scouting.
testing
Complete financial profile interview to create .finyx/profile.json — the shared context file read by all Finyx advisors. Use when the user wants to set up their financial profile, update personal data, or when no .finyx/profile.json exists and another skill needs it.