garmin-health-analysisTalk to your Garmin data naturally - "what was my fastest speed snowboarding?", "how did I sleep last night?", "what was my heart rate at 3pm?". Access 20+ metrics (sleep stages, Body Battery, HRV, VO2 max, training readiness, body composition, SPO2), download FIT/GPX files for route analysis, query elevation/pace at any point, and generate interactive health dashboards. From casual "show me this week's workouts" to deep "analyze my recovery vs training load".
Install via ClawdBot CLI:
clawdbot install eversonl/garmin-health-analysisInstall garminconnect (pip):
Install garminconnect (pip)Install fitparse (pip):
Install fitparse (pip)Install gpxpy (pip):
Install gpxpy (pip)Query health metrics from Garmin Connect and generate interactive HTML charts.
This skill supports two different setups:
Choose the path that matches your use case. You can also use both simultaneously!
pip3 install garminconnect
You have three options to provide your Garmin Connect credentials:
Add credentials to ~/.clawdbot/clawdbot.json:
{
"skills": {
"entries": {
"garmin-health-analysis": {
"enabled": true,
"env": {
"GARMIN_EMAIL": "your-email@example.com",
"GARMIN_PASSWORD": "your-password"
}
}
}
}
}
Tip: You can also set these through the Clawdbot UI in the Skills settings panel.
Create a config file in the skill directory:
cd ~/.clawdbot/skills/garmin-health-analysis
# or: cd <workspace>/skills/garmin-health-analysis
cp config.example.json config.json
# Edit config.json and add your email and password
config.json:
{
"email": "your-email@example.com",
"password": "your-password"
}
Note: config.json is gitignored to keep your credentials secure.
Pass credentials directly when authenticating:
python3 scripts/garmin_auth.py login \
--email YOUR_EMAIL@example.com \
--password YOUR_PASSWORD
Login to Garmin Connect and save session tokens:
python3 scripts/garmin_auth.py login
This uses credentials from (in priority order):
--email, --password)config.json)GARMIN_EMAIL, GARMIN_PASSWORD)skills.entries.garmin-health-analysis.env)Session tokens are stored in ~/.clawdbot/garmin-tokens.json and auto-refresh.
Check authentication status:
python3 scripts/garmin_auth.py status
Use scripts/garmin_data.py to get JSON data:
# Sleep (last 7 days default)
python3 scripts/garmin_data.py sleep --days 14
# Body Battery (Garmin's recovery metric)
python3 scripts/garmin_data.py body_battery --days 30
# HRV data
python3 scripts/garmin_data.py hrv --days 30
# Heart rate (resting, max, min)
python3 scripts/garmin_data.py heart_rate --days 7
# Activities/workouts
python3 scripts/garmin_data.py activities --days 30
# Stress levels
python3 scripts/garmin_data.py stress --days 7
# Combined summary with averages
python3 scripts/garmin_data.py summary --days 7
# Custom date range
python3 scripts/garmin_data.py sleep --start 2026-01-01 --end 2026-01-15
# User profile
python3 scripts/garmin_data.py profile
Output is JSON to stdout. Parse it to answer user questions.
Use scripts/garmin_chart.py for interactive HTML visualizations:
# Sleep analysis (hours + scores)
python3 scripts/garmin_chart.py sleep --days 30
# Body Battery recovery chart (color-coded)
python3 scripts/garmin_chart.py body_battery --days 30
# HRV & resting heart rate trends
python3 scripts/garmin_chart.py hrv --days 90
# Activities summary (by type, calories)
python3 scripts/garmin_chart.py activities --days 30
# Full dashboard (all 4 charts)
python3 scripts/garmin_chart.py dashboard --days 30
# Save to specific file
python3 scripts/garmin_chart.py dashboard --days 90 --output ~/Desktop/garmin-health.html
Charts open automatically in the default browser. They use Chart.js with a modern gradient design, stat cards, and interactive tooltips.
| User asks | Action |
|-----------|--------|
| "How did I sleep last night?" | garmin_data.py summary --days 1, report sleep hours + score |
| "How's my recovery this week?" | garmin_data.py body_battery --days 7, report average + trend |
| "Show me my health for the last month" | garmin_chart.py dashboard --days 30 |
| "Is my HRV improving?" | garmin_data.py hrv --days 30, analyze trend |
| "What workouts did I do this week?" | garmin_data.py activities --days 7, list activities with details |
| "How's my resting heart rate?" | garmin_data.py heart_rate --days 7, report average + trend |
Garmin's proprietary recovery metric based on HRV, stress, sleep, and activity:
Overall sleep quality based on duration, stages, and disturbances:
Measured in milliseconds, higher is generally better:
Lower generally indicates better cardiovascular fitness:
Based on HRV analysis throughout the day:
When users ask for insights or want to understand their trends, use references/health_analysis.md for:
python3 scripts/garmin_data.py summary --days Nreferences/health_analysis.md for interpretation frameworkpython3 scripts/garmin_auth.py login ...garminconnect import fails: pip3 install --upgrade garminconnect~/.clawdbot/garmin-tokens.json| Feature | Garmin | Whoop |
|---------|--------|-------|
| Recovery metric | Body Battery (0-100) | Recovery Score (0-100%) |
| HRV tracking | Yes (nightly average) | Yes (detailed) |
| Sleep stages | Light, Deep, REM, Awake | Light, SWS, REM, Awake |
| Activity tracking | Built-in GPS, many sport modes | Strain score (0-21) |
| Stress | All-day stress levels | Not directly tracked |
| API | Unofficial (garminconnect) | Official OAuth |
| Device types | Watches, fitness trackers | Wearable band only |
references/api.md — Garmin Connect API details (unofficial)references/health_analysis.md — Science-backed health data interpretationGenerated Mar 1, 2026
Health coaches can use this skill to monitor clients' Garmin data, such as sleep scores, Body Battery, and HRV trends, to provide personalized recovery and training advice. They can generate interactive dashboards for weekly reviews and adjust recommendations based on data-driven insights.
Companies can integrate this skill into employee wellness initiatives to track metrics like stress levels and activity summaries, promoting better work-life balance. It enables automated reporting on team health trends and can incentivize participation through data visualization.
Athletic trainers can utilize the skill to analyze athletes' training readiness, VO2 max, and workout details from Garmin devices, optimizing performance and reducing injury risk. They can download FIT/GPX files for route analysis and monitor recovery vs. training load over time.
Healthcare providers can leverage this skill to remotely monitor patients' health metrics like heart rate, SPO2, and sleep stages from Garmin wearables, enabling proactive care for chronic conditions. It supports generating charts for trend analysis and can alert on anomalies.
Developers can embed this skill into fitness apps to offer users detailed insights from their Garmin data, such as elevation and pace analysis, enhancing user engagement. It allows for custom queries and interactive dashboards, providing a competitive edge in the market.
Offer a premium service where users pay a monthly fee for advanced health insights, personalized reports, and priority support. Revenue is generated through tiered subscriptions, with higher tiers including features like AI-driven recommendations and integration with other health platforms.
License the skill to corporations for internal wellness programs or to healthcare providers for patient monitoring, charging based on the number of users or data volume. This model provides steady revenue through long-term contracts and customization fees.
Provide basic health querying and chart generation for free, while charging for advanced features like historical trend analysis, bulk data exports, and API access. Revenue comes from upsells to premium plans and one-time purchases for specific reports.
💬 Integration Tip
Ensure secure handling of Garmin credentials via environment variables or config files, and automate session token refresh to maintain seamless data access without manual re-authentication.
Plan, focus, and complete work with energy management, time blocking, and context-specific productivity systems.
Build habits with streaks, reminders, and progress visualization
Comprehensive AI-assisted therapeutic support framework with CBT, ACT, DBT, MI, session notes CLI, and crisis protocols.
iOS HealthKit data sync CLI commands and patterns. Use when working with healthsync CLI, fetching Apple Health data (steps, heart rate, sleep, workouts), pairing iOS devices over local network, or understanding the iOS Health Sync project architecture including mTLS certificate pinning, Keychain storage, and audit logging.
Retrieve and summarize health, sleep, activity, readiness, and biometric data from the Oura Ring API via a command-line interface.
Load and analyze Strava activities, stats, and workouts using the Strava API