Apple Health CSV Skill
Query Apple Health data from CSV exports. Works with any iOS app that exports HealthKit data
as CSV (Simple Health Export, Health Auto Export, etc.).
Setup
- Export health data from your iPhone using an app like Simple Health Export (free)
- Transfer the CSV files to your Mac (via AirDrop, iCloud, or USB)
- Place them in the skill data directory:
# Default location (auto-detected)
~/.openclaw/workspace-butler/health-data/
# Or specify a custom path
export HEALTH_DATA_DIR="/path/to/your/csv/files"
Usage
# List available health metrics
python3 scripts/health_query.py list
# Get a comprehensive daily health summary
python3 scripts/health_query.py summary
# Query a specific metric (last 7 days by default)
python3 scripts/health_query.py query HeartRate
python3 scripts/health_query.py query StepCount --days 14
python3 scripts/health_query.py query SleepAnalysis --days 7
python3 scripts/health_query.py query OxygenSaturation --days 30
# JSON output for programmatic use
python3 scripts/health_query.py query HeartRate --days 7 --json
python3 scripts/health_query.py summary --json
Supported Metrics
| Category |
Metrics |
| Heart |
HeartRate, RestingHeartRate, WalkingHeartRateAverage, HeartRateVariabilitySDNN |
| Activity |
StepCount, ActiveEnergyBurned, BasalEnergyBurned, AppleExerciseTime, AppleStandTime, FlightsClimbed |
| Distance |
DistanceWalkingRunning, DistanceCycling, DistanceSwimming |
| Vitals |
OxygenSaturation, RespiratoryRate, BodyTemperature |
| Sleep |
SleepAnalysis (with stage breakdown: REM/Core/Deep/Awake) |
| Body |
BodyMass, BodyFatPercentage, BodyMassIndex, Height, LeanBodyMass |
| Walking |
WalkingSpeed, WalkingStepLength, WalkingAsymmetryPercentage, WalkingDoubleSupportPercentage |
| Audio |
EnvironmentalAudioExposure, HeadphoneAudioExposure |
| Performance |
VO2Max, SixMinuteWalkTestDistance, AppleWalkingSteadiness |
| Other |
DietaryWater, AppleSleepingWristTemperature |
Tips for Agents
- Start with
summary to get a quick overview of today's health
- Use
--json flag when you need structured data for analysis
- Sleep data is grouped by night (cross-midnight sessions handled correctly)
- Blood oxygen values are auto-converted from 0-1 decimal to percentage
- Cumulative metrics (steps, calories, exercise time) show daily totals
- Rate metrics (heart rate, SpO2) show daily averages with min/max range
1---2name: apple-health-csv3description: Query Apple Health data exported as CSV files from iOS apps like Simple Health Export or Health Auto Export. Supports 30+ health metrics including heart rate, steps, sleep analysis, blood oxygen, workouts, body measurements, and more. Fully local — no cloud services, no API keys, no third-party data sharing. Use when users ask about their health data, fitness trends, sleep patterns, or want a daily health summary.4---5
6# Apple Health CSV Skill
7
8Query Apple Health data from CSV exports. Works with any iOS app that exports HealthKit data
9as CSV (Simple Health Export, Health Auto Export, etc.).
10
11## Setup
12
131. Export health data from your iPhone using an app like **Simple Health Export** (free)
142. Transfer the CSV files to your Mac (via AirDrop, iCloud, or USB)
153. Place them in the skill data directory:
16
17```bash
18# Default location (auto-detected)
19~/.openclaw/workspace-butler/health-data/
20
21# Or specify a custom path
22export HEALTH_DATA_DIR="/path/to/your/csv/files"
23```
24
25## Usage
26
27```bash
28# List available health metrics
29python3 scripts/health_query.py list
30
31# Get a comprehensive daily health summary
32python3 scripts/health_query.py summary
33
34# Query a specific metric (last 7 days by default)
35python3 scripts/health_query.py query HeartRate
36python3 scripts/health_query.py query StepCount --days 14
37python3 scripts/health_query.py query SleepAnalysis --days 7
38python3 scripts/health_query.py query OxygenSaturation --days 30
39
40# JSON output for programmatic use
41python3 scripts/health_query.py query HeartRate --days 7 --json
42python3 scripts/health_query.py summary --json
43```
44
45## Supported Metrics
46
47| Category | Metrics |
48|----------|---------|
49| **Heart** | HeartRate, RestingHeartRate, WalkingHeartRateAverage, HeartRateVariabilitySDNN |
50| **Activity** | StepCount, ActiveEnergyBurned, BasalEnergyBurned, AppleExerciseTime, AppleStandTime, FlightsClimbed |
51| **Distance** | DistanceWalkingRunning, DistanceCycling, DistanceSwimming |
52| **Vitals** | OxygenSaturation, RespiratoryRate, BodyTemperature |
53| **Sleep** | SleepAnalysis (with stage breakdown: REM/Core/Deep/Awake) |
54| **Body** | BodyMass, BodyFatPercentage, BodyMassIndex, Height, LeanBodyMass |
55| **Walking** | WalkingSpeed, WalkingStepLength, WalkingAsymmetryPercentage, WalkingDoubleSupportPercentage |
56| **Audio** | EnvironmentalAudioExposure, HeadphoneAudioExposure |
57| **Performance** | VO2Max, SixMinuteWalkTestDistance, AppleWalkingSteadiness |
58| **Other** | DietaryWater, AppleSleepingWristTemperature |
59
60## Tips for Agents
61
621. Start with `summary` to get a quick overview of today's health
632. Use `--json` flag when you need structured data for analysis
643. Sleep data is grouped by night (cross-midnight sessions handled correctly)
654. Blood oxygen values are auto-converted from 0-1 decimal to percentage
665. Cumulative metrics (steps, calories, exercise time) show daily totals
676. Rate metrics (heart rate, SpO2) show daily averages with min/max range