wellness-coach
Launch a personalized AI wellness coach video session (Baymax persona) using Tavus CVI + Claude. Fetches real wearable health data (sleep, HRV, recovery) and Google Calendar events, builds a personalized system prompt, creates a live Tavus conversational video session, and delivers a morning briefing link via Telegram. Use when the user wants a daily wellness briefing, wants to talk to an AI wellness coach, wants guided breathing/meditation based on their health data, or asks to start their morning routine. Requires TAVUS_API_KEY, TAVUS_REPLICA_ID, TAVUS_PERSONA_ID, and ANTHROPIC_API_KEY in .env.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/andrechuabio/wellness-coachWellness Coach
Spin up a personalized Baymax wellness coach video session from health + calendar data.
What This Skill Does
- Reads wearable health data (mock or real: Oura/Fitbit/Apple Health)
- Fetches today's Google Calendar events
- Calls Claude to generate a Baymax system prompt + wellness recommendations
- Creates a live Tavus CVI session (interactive video avatar)
- Optionally delivers a Telegram morning briefing with the session link
Project Setup
git clone https://github.com/AndreChuabio/wellness-coach
cd wellness-coach
pip install -r backend/requirements.txt
cp .env.example .env # fill in API keys
Required API Keys (.env)
ANTHROPIC_API_KEY= # Claude context generation
TAVUS_API_KEY= # Tavus CVI sessions
TAVUS_REPLICA_ID= # Avatar replica (platform.tavus.io → Replicas)
TAVUS_PERSONA_ID= # Baymax persona (platform.tavus.io → Personas)
Running the Backend
cd backend
uvicorn main:app --reload
# Swagger UI: http://localhost:8000/docs
Running the Frontend
cd frontend
python3 -m http.server 3000
# Open: http://localhost:3000
Key Endpoints
| Method | Path | What it does |
|---|---|---|
GET | /health-data | Today's wearable metrics |
GET | /calendar | Today's calendar events |
POST | /start-session | Full pipeline → Tavus CVI URL + recs |
GET | /debug-env | Check all API keys are loaded |
Morning Briefing Pipeline (Telegram)
Run both scripts back-to-back — always together so the Tavus link is fresh:
python3 cron/morning_context.py && python3 cron/send_briefing.py
This builds context, pre-warms a Tavus session, and sends a Telegram message with:
- Sleep score, HRV, recovery score
- Today's calendar summary
- Top wellness recommendation
- Live Tavus session link (valid ~10 min after creation)
Automated Daily Cron (OpenClaw)
Register a 7AM daily cron via OpenClaw to automate the morning briefing.
See references/openclaw-cron.md for the exact setup.
Connecting Real Wearable Data
See references/wearables.md for Oura, Fitbit, and Apple Health integration guides.
Google Calendar Integration
See references/gcal-setup.md for OAuth setup to get real calendar events.
Wellness Recommendations Logic
Recommendations are generated in backend/context_builder.py based on:
| Signal | Trigger | Suggestion |
|---|---|---|
| HRV < 50ms | below avg | Box breathing, recovery day |
| Sleep score < 75 | poor sleep | Nap window, caffeine cutoff |
| High-stakes meeting | keyword match | 4-7-8 breathing beforehand |
| 4+ meetings | packed day | Micro-meditations between meetings |
| Recovery ≥ 80 + HRV ≥ avg | great day | Push harder, workout, cold exposure |
Knowledge Base (Tavus Persona)
Upload wellness content directly to the Tavus Persona via:
platform.tavus.io → Personas → Your Persona → Knowledge Base → Add Files
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-andrechuabio-wellness-coach": {
"enabled": true,
"auto_update": true
}
}
}