clawhealth-garmin (OpenClaw Skill)
Sync your Garmin Connect health data into a local SQLite database and expose it as structured JSON for OpenClaw agents.
Your agent can then query things like:
- "How did I sleep yesterday?"
- "What is my HRV trend this week?"
- "Am I overtraining?"
This is a thin wrapper skill around the published clawhealth
Python package / CLI; it no longer fetches source code itself.
What It Does
- Login with username/password (MFA supported)
- Sync daily health summaries into SQLite (stage 1)
- Fetch HRV + training metrics via separate commands (stage 2)
- Fetch sleep stages + sleep score (stage 2)
- Fetch body composition (stage 2)
- Fetch activity lists and full activity details (stage 2)
- Fetch menstrual day view and calendar range if supported by garminconnect (experimental)
- Provide
--jsonoutputs for agent workflows - Persist raw JSON payloads for later analysis
Prerequisites
- Python 3.10+
- Network access to Garmin Connect
- Garmin account (may require MFA)
If you run OpenClaw in Docker, you may prefer a prepatched image that already includes the required Python dependencies:
ernestyu/openclaw-patched
Setup
- Create
{baseDir}/.env(see{baseDir}/ENV_EXAMPLE.md).
Recommended: use CLAWHEALTH_GARMIN_PASSWORD_FILE (password file) rather than
CLAWHEALTH_GARMIN_PASSWORD (plaintext env var).
Note: relative paths in env vars (like ./garmin_pass.txt) are resolved relative
to the skill directory by run_clawhealth.py.
- Install the
clawhealthpackage into a local.venv(if needed):
python {baseDir}/bootstrap_deps.py
- Run the skill entrypoint via OpenClaw, which will invoke
run_clawhealth.py.
See README.md / README_zh.md in this directory and the root repo for
more details.