Install
openclaw skills install fitbit-connectorFitbit data connector skill for OpenClaw. Exposes compact auth/fetch/store/quality tools; OpenClaw performs all coaching reasoning.
openclaw skills install fitbit-connectorUse this skill when OpenClaw needs Fitbit or unified health data.
This is the canonical front door for health / Fitbit retrieval in OpenClaw. If a user asks for latest Fitbit numbers, recovery signals, readiness trends, sleep/HRV/resting-HR patterns, or recent health metrics for training interpretation, start here.
This skill is data-plane only:
OpenClaw handles interpretation, decisions, and coaching language.
For ordinary question-answering, prefer this skill first. Do not start by searching the workspace for Fitbit paths if this skill is available. Do not prefer older opinionated helper scripts over this interface.
For training questions, combine this skill with memory/training-continuity.md:
memory/training-continuity.md = training state, progression rules, recent workout contextPersonal).http://127.0.0.1:8787/callback..env from references/env.example.python3 scripts/fitbit_auth.py auth-urlcode + returned statepython3 scripts/fitbit_auth.py exchange --code <CODE> --state <STATE>For most OpenClaw usage, call the narrow front door first:
node ../skills/health-training-frontdoor/scripts/request.js '{"action":"latest_recovery"}'This keeps retrieval typed and low-ambiguity.
Direct backend contract/schema:
python3 scripts/fitbit_tools.py schemapython3 scripts/fitbit_tools.py auth-statuspython3 scripts/fitbit_tools.py catalogpython3 scripts/fitbit_tools.py discover-capabilities --days 14 --sleep-ms 500 --stop-on-429python3 scripts/fitbit_tools.py fetch-endpoint --path sleep/date/YYYY-MM-DD.json --normalizepython3 scripts/fitbit_tools.py fetch-day --date YYYY-MM-DD--raw for full Fitbit payloadpython3 scripts/fitbit_tools.py fetch-range --start YYYY-MM-DD --end YYYY-MM-DD --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality--ensure-fresh to auto-sync that range before readingpython3 scripts/fitbit_tools.py fetch-latest --days 5 --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality--ensure-fresh to auto-sync the last N days before readingpython3 scripts/fitbit_tools.py store-sync-day --date YYYY-MM-DDpython3 scripts/fitbit_tools.py store-sync-range --start YYYY-MM-DD --end YYYY-MM-DDpython3 scripts/fitbit_tools.py quality-flags --days 7python3 scripts/fitbit_tools.py unified-statuspython3 scripts/fitbit_tools.py unified-fetch-latest --days 14 --source bestFor questions like:
Prefer:
python3 scripts/fitbit_tools.py fetch-latest --days 3 --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality --ensure-freshFor questions that may blend Fitbit + Apple Health:
python3 scripts/fitbit_tools.py unified-fetch-latest --days 14 --source bestWhen freshness or quality confidence matters:
python3 scripts/fitbit_tools.py quality-flags --days 7For questions like:
Use both:
memory/training-continuity.md for training rules, progression, and recent exercise context--metrics lists to keep token usage low.If this skill is available, avoid these failure modes:
fitbit_query.py over fitbit_tools.py for normal QAOlder opinionated scripts remain only for backward compatibility and should be treated as non-canonical for ordinary OpenClaw reasoning:
fitbit_query.pyfitbit_coach_view.pyIf a normal user question can be answered through fitbit_tools.py, do that instead.