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---56# Apple Health CSV Skill78Query Apple Health data from CSV exports. Works with any iOS app that exports HealthKit data9as CSV (Simple Health Export, Health Auto Export, etc.).1011## Setup12131. 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:1617```bash18# Default location (auto-detected)19~/.openclaw/workspace-butler/health-data/2021# Or specify a custom path22export HEALTH_DATA_DIR="/path/to/your/csv/files"23```2425## Usage2627```bash28# List available health metrics29python3 scripts/health_query.py list3031# Get a comprehensive daily health summary32python3 scripts/health_query.py summary3334# Query a specific metric (last 7 days by default)35python3 scripts/health_query.py query HeartRate36python3 scripts/health_query.py query StepCount --days 1437python3 scripts/health_query.py query SleepAnalysis --days 738python3 scripts/health_query.py query OxygenSaturation --days 303940# JSON output for programmatic use41python3 scripts/health_query.py query HeartRate --days 7 --json42python3 scripts/health_query.py summary --json43```4445## Supported Metrics4647| 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 |5960## Tips for Agents61621. Start with `summary` to get a quick overview of today's health632. Use `--json` flag when you need structured data for analysis643. Sleep data is grouped by night (cross-midnight sessions handled correctly)654. Blood oxygen values are auto-converted from 0-1 decimal to percentage665. Cumulative metrics (steps, calories, exercise time) show daily totals676. Rate metrics (heart rate, SpO2) show daily averages with min/max range