From ai-brain-starter
Shows freshness of health data sources (Apple Health, Oura, Fitbit, labs), last coach prescription and completion, missed-day count, lab status flags, and auto-trigger hook installation status for debugging the health-mcp auto-trigger chain.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-brain-starter:health-doctorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The substrate has 41 tools + 5 skills + 2 auto-trigger hooks. None of it matters if the chain breaks silently. This skill is the surface for verifying the system is actually running.
The substrate has 41 tools + 5 skills + 2 auto-trigger hooks. None of it matters if the chain breaks silently. This skill is the surface for verifying the system is actually running.
Run /health doctor whenever:
Six sections, each with a green / yellow / red flag:
For each enabled source:
health_import_xml (yellow if > 14 days, red if > 28 days)health_import_oura (yellow if > 36h, red if > 7d)health_import_fitbit (yellow if > 36h, red if > 7d)health_import_labs (yellow if any marker is > 180 days old or any out-of-range marker is > 90d without a re-test)Pulled from the imports table via health_status().
health_coach_recent_prescriptions(days=7)/coach log)Yellow if completion rate < 60%. Red if completion rate < 40% or no prescriptions in 7 days.
Check whether the two automation hooks are wired in ~/.claude/settings.json:
health-auto-sync.py on SessionStart (silently refreshes Oura/Fitbit if stale)coach-auto-prescribe-on-journal.py on Stop (prescribes + backfills after /journal)Red if expected hooks not in settings.json. Yellow if the hook script files exist but aren't registered. Green if both registered AND firing recently (check ~/.claude/hookify-blocks.log for the hook name in the last 48h).
Reads <VAULT_ROOT>/Meta/coach-profile.yaml:
calendar_drop: true AND google-workspace MCP connected? (calendar drop won't fire otherwise)preferred_workout_clock set?days_per_week reasonable for level?started_iso set? (used by deload-week computation)Yellow if any field missing. Red if no profile at all.
Run health_lab_panel(today, lookback_days=180) and surface ANY marker with status: low or status: high:
health_recommended_labs())Yellow if any marker is out-of-range and last tested > 90 days ago. Red if any out-of-range marker is critical (low ferritin in menstruating users, elevated hs-CRP > 3.0, fasting insulin > 10, Vitamin D < 20).
If menstrual flow records exist:
health_cycle_context(today)Plus health_sleep_regularity(last_14_days):
A markdown report with the six sections, each summarized to 3-5 lines with the flag, the data, and a one-line "what to do" if yellow or red.
Example:
# Health doctor — 2026-05-10
## 🟢 Data freshness
- Apple Health: 12 days ago (yellow threshold: 14d) — re-export soon
- Oura: 4 hours ago — fresh
- Fitbit: not configured
- Labs: ApoB tested 2026-05-01 (9 days), Vitamin D last 2026-05-01 (9 days)
## 🟡 Last prescription + completion
- Last prescription: 2026-05-09 lower_body_strength (diff 7/10)
- Completed: no
- 7-day streak: 0 (missed yesterday's log)
- Action: /coach log yesterday's session to keep the progression chain accurate
## 🟢 Auto-trigger hooks
- SessionStart: health-auto-sync.py ✓ registered, last fired 4h ago
- Stop: coach-auto-prescribe-on-journal.py ✓ registered, last fired 14h ago
## 🟢 Coach profile
- /vault/Meta/coach-profile.yaml updated 2026-05-09
- calendar_drop: true (google-workspace MCP connected ✓)
- preferred_workout_clock: 07:00
- days_per_week: 4, level: intermediate, started_iso: 2026-05-09
## 🔴 Lab status flags
- Vitamin D 25-OH: 26 ng/mL (low, ref 30-100). Last tested 9 days ago.
- Why: drives mood, immunity, recovery. Linked to chronic fatigue.
- Suggested: 5000 IU/day; re-test in 90 days (target 2026-08-09)
## 🟡 Cycle + sleep regularity
- Cycle: luteal, day 22 (regular over last 6 cycles)
- Sleep regularity: 64/100 (yellow). Bed-time stdev 78min over last 14 days.
- Action: pick a wake time within a 30-min window for the next 14 days.
health_status() — top-level table counts + imports tablehealth_coach_recent_prescriptions(days=7) — prescriptions + completion statushealth_coach_summary(days=28) — completion ratehealth_lab_panel(today, lookback_days=180) — most recent labs per markerhealth_recommended_labs() — the WHY for any flagged markerhealth_cycle_context(today) — current phase + irregularityhealth_sleep_regularity(today-14, today) — bed/wake variancePlus:
~/.claude/settings.json to verify hooks are registered~/.claude/hookify-blocks.log to verify hooks have fired recently<VAULT_ROOT>/Meta/coach-profile.yaml to verify profile stateThe hook system can surface specific flags WITHOUT the user running /health doctor explicitly:
These are hookify nudges, configured separately. The skill is the comprehensive surface; the nudges are the targeted catches.
The doctor never blocks. It always returns a report, even if it's "this is what's missing to get started."
Direct. Color-coded flags (🟢 / 🟡 / 🔴) for fast scan. Each yellow / red has a specific "what to do" line, not a vague "consider reviewing." Reader should know exactly what to fix in 30 seconds of reading.
npx claudepluginhub mycelium-hq/ai-brain-starter --plugin ai-brain-starterIssues daily personalized workout prescriptions based on health metrics (recovery, sleep, cycle, labs) and emotional state. Tracks progressive overload, programs deloads, and drops plans into Google Calendar.
Imports and standardizes health data from Apple Health, Fitbit, Oura Ring, CSV/JSON; integrates WellAlly.tech knowledge base for data management and personalized article recommendations.
Helps users investigate ambiguous non-emergency health symptoms via intake, tracking, testing, analysis, and low-risk experiments. Supports file inspection and artifact creation.