mycelium-hq/ai-brain-starter/health-setup
Claude Code and agent skill by mycelium-hq/ai-brain-starter
- community
Checking that the SKILL.md file is still in the repository.
Use when the user says /health-setup or /setup-health, asks to set up or connect a wearable (Apple Watch, Apple Health, Oura Ring, Fitbit, Garmin, Whoop), asks how to import Oura / Fitbit / Apple Health data, asks which wearable to use, hits a failing health_vendor_healthcheck, a 429 rate limit, or an expired Fitbit token during setup, or has health-mcp installed with an empty body track. Not for querying already-imported data or building new connectors.
Install
npx vskill@latest install mycelium-hq/ai-brain-starter/health-setupSKILL.md
health-setup, interactive wearable connector wizard
Walks the user from "I have an Apple Watch / Oura / Fitbit" to "data is in my DuckDB and I can run /weekly with body track populated."
The wizard branches by:
- Which wearable(s) they have
- Which OS they're on (macOS / Windows / Linux)
- Whether they're starting fresh or adding a second device
It never installs anything they don't want. Each branch has its own setup path — most of them are 3-5 manual steps and a paste-into-shell to set env vars.
When to use
- User says
/health-setupor/setup-healthorsetup my health connector - User asks "how do I import Oura / Fitbit / my Apple Watch data"
- User says "which wearable should I use" — pick + walk through setup
- After a fresh install of the ai-brain-starter substrate
- After health-mcp v0.3+ is registered but no data is imported yet
Do NOT use for:
- Querying already-imported data (use
health_status,health_recovery_score, etc.) - Building new wearable connectors (that's a substrate dev task)
- Onboarding non-health skills
Wizard flow
Step 1: Detect the OS
Look for darwin / linux / a Windows path separator in the environment. Confirm with the user if uncertain. Map to one of: macos, linux, windows.
Step 2: Ask which wearable(s) they have
Multiple-select. The substrate currently supports first-class:
- Apple Watch / iPhone (Apple Health) — most common, free, works without iPhone-paired apps
- Oura Ring — free Personal Access Token, no app review needed
- Fitbit — free Personal app, slightly more setup (OAuth2)
- Garmin — sync to Apple Health on iPhone, then ingest via Apple Health path
- Whoop — deferred to v0.4
If they say "multiple" — that's fine, the substrate's shared DuckDB schema accepts data from all vendors. Run each vendor's setup in sequence.
If they say "I don't have one" — close the wizard. Recommend they journal manually + add labs (health_import_labs) for the parts of the substrate that don't need wearables.
Step 3: Run health_vendor_setup_guide for each chosen vendor
Call the tool with the vendor + OS:
The returned dict contains: display_name, summary, common_steps, transfer_steps (OS-specific), env_vars (with explanations), tool_to_run, ongoing_cadence, notes.
Render it to the user as numbered steps. Do NOT paraphrase the env-var commands — copy them verbatim, the user will paste them into their shell.
Step 4: Verify before importing
Once env vars are set and Claude Code restarted, run:
Each returns either {ok: true, ...account-info} or {ok: false, error: "..."}. If ok: false, surface the error and walk back to the env-var step.
Step 5: First import
Once the healthcheck passes, run the vendor's import for a reasonable initial window. For backfill, propose Jan 1 of the current year to today:
Surface the row counts at the end. Confirm with a sample query:
Step 6: Suggest the ongoing cadence
For Apple Health: re-export from iOS every 1-4 weeks.
For Oura + Fitbit: a daily scheduled task. Suggest creating one via the /schedule skill — pull yesterday's data every morning at 6am. The scheduled task call is:
Each runs in <30 seconds for a single day.
Step 7: Suggest the backfill
If the user wants their existing daily journals enriched with body context retroactively, point them to /backfill-journal-body-context. That skill walks every journal entry this year and appends a body-track section below the original content (verbatim preserved per the journal voice rule).
Voice rules
- Direct, warm, no fluff
- One step at a time — never dump the full wizard in one message
- Copy-paste blocks: indent and code-fence them so the user can copy without losing whitespace
- Match the user's language (Spanish if they Spanish, English if they English)
- If the user is on Windows, never give them macOS commands as the "default"
Multi-vendor merging
If the user has both Apple Watch AND an Oura Ring, the DuckDB schema accepts both. The recovery_score formula will use whichever metric has data for a given day. When both vendors record HRV on the same day, the LAST writer wins (no smart merging in v0.3). v0.4 will add per-source priority preferences.
Graceful failure modes
- Vendor API rate-limited: Fitbit has 150 req/hour. The importer respects the rate by serial single-day calls. If 429 surfaces, suggest a 1-hour wait or chunking the backfill into smaller windows.
- Token expired: Fitbit access tokens expire in 8 hours. If FITBIT_REFRESH_TOKEN + FITBIT_CLIENT_ID + FITBIT_CLIENT_SECRET are set, the client refreshes automatically. If only the access token is set, walk the user back through the OAuth flow.
- No iPhone available: Apple Health requires iOS export. If user has no iPhone, they cannot use the Apple Health path. Route them to Oura (free) or Fitbit.
- Vendor not supported yet: Whoop and direct Garmin support are v0.4. Today's substitute: sync Garmin to Apple Health on iPhone, then export via Apple Health.
Output contract
The wizard does not write any files. It only:
- Calls
health_vendor_setup_guideto render instructions - Asks the user to paste env vars into their shell themselves
- Calls
health_vendor_healthcheckand the import tools when they're ready - Surfaces the row counts + sample queries at the end
No vault writes, no global state changes. The substrate stays clean.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/health-setup/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mycelium-hq/ai-brain-starter/health-setup)