fitbit-connector

Fitbit data connector skill for OpenClaw. Exposes compact auth/fetch/store/quality tools; OpenClaw performs all coaching reasoning.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "fitbit-connector" with this command: npx skills add joaodriessen/fitbit-connector

Fitbit Connector Skill (Tool Provider)

Use 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:

  • it authenticates,
  • fetches Fitbit data,
  • syncs/cache stores normalized metrics,
  • returns compact JSON.

OpenClaw handles interpretation, decisions, and coaching language.

Canonical usage rule

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:

  • this skill = latest health/recovery data
  • memory/training-continuity.md = training state, progression rules, recent workout context

Setup

  1. Create Fitbit developer app (type Personal).
  2. Redirect URI: http://127.0.0.1:8787/callback.
  3. Create .env from references/env.example.
  4. Run auth bootstrap:
    • python3 scripts/fitbit_auth.py auth-url
    • approve in browser, copy code + returned state
    • python3 scripts/fitbit_auth.py exchange --code <CODE> --state <STATE>

Primary front-door interface (recommended)

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.

Backend tool interface (compact JSON)

Direct backend contract/schema:

  • python3 scripts/fitbit_tools.py schema
  • Auth status:
    • python3 scripts/fitbit_tools.py auth-status
  • Endpoint catalog (broad API surface):
    • python3 scripts/fitbit_tools.py catalog
  • Capability discovery across last N days (rate-limit aware):
    • python3 scripts/fitbit_tools.py discover-capabilities --days 14 --sleep-ms 500 --stop-on-429
  • Direct Fitbit endpoint fetch (generic exposure):
    • python3 scripts/fitbit_tools.py fetch-endpoint --path sleep/date/YYYY-MM-DD.json --normalize
  • Fetch API day payload:
    • python3 scripts/fitbit_tools.py fetch-day --date YYYY-MM-DD
    • add --raw for full Fitbit payload
  • Fetch cached date range (field-filtered):
    • python3 scripts/fitbit_tools.py fetch-range --start YYYY-MM-DD --end YYYY-MM-DD --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality
    • add --ensure-fresh to auto-sync that range before reading
  • Fetch latest N cached days:
    • python3 scripts/fitbit_tools.py fetch-latest --days 5 --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality
    • add --ensure-fresh to auto-sync the last N days before reading
  • Sync one day from Fitbit API to cache:
    • python3 scripts/fitbit_tools.py store-sync-day --date YYYY-MM-DD
  • Sync date range from Fitbit API to cache:
    • python3 scripts/fitbit_tools.py store-sync-range --start YYYY-MM-DD --end YYYY-MM-DD
  • Query sync quality flags:
    • python3 scripts/fitbit_tools.py quality-flags --days 7
  • Unified DB status (Apple + Fitbit):
    • python3 scripts/fitbit_tools.py unified-status
  • Unified latest daily rows with source preference:
    • python3 scripts/fitbit_tools.py unified-fetch-latest --days 14 --source best

Canonical QA patterns

Latest Fitbit / recovery snapshot

For questions like:

  • "What do my latest Fitbit numbers suggest?"
  • "How does recovery look today?"
  • "Give me my newest HRV / sleep / resting HR"

Prefer:

  • python3 scripts/fitbit_tools.py fetch-latest --days 3 --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality --ensure-fresh

Unified health snapshot

For questions that may blend Fitbit + Apple Health:

  • python3 scripts/fitbit_tools.py unified-fetch-latest --days 14 --source best

Trend / confidence checks

When freshness or quality confidence matters:

  • python3 scripts/fitbit_tools.py quality-flags --days 7

Training interpretation

For questions like:

  • "Should I train today?"
  • "How did yesterday compare to recovery?"
  • "Has recovery improved since earlier this week?"

Use both:

  1. this skill for current/recent health signals
  2. memory/training-continuity.md for training rules, progression, and recent exercise context

Notes

  • Output contract: compact JSON (machine-optimized, minimal token usage).
  • Prefer narrow --metrics lists to keep token usage low.
  • SQLite cache is local reliability layer; Fitbit API remains source-of-truth.
  • No medical diagnosis. This skill only provides data.

Anti-patterns

If this skill is available, avoid these failure modes:

  • searching the workspace first just to locate Fitbit functionality
  • asking the user where the connector lives
  • preferring fitbit_query.py over fitbit_tools.py for normal QA
  • treating memory references as the primary source of live Fitbit data
  • using orchestrator files as the first discovery surface for ordinary health questions

Legacy scripts

Older opinionated scripts remain only for backward compatibility and should be treated as non-canonical for ordinary OpenClaw reasoning:

  • fitbit_query.py
  • fitbit_coach_view.py

If a normal user question can be answered through fitbit_tools.py, do that instead.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Gigo Lobster Resume

🦞 GIGO · gigo-lobster-resume: 续跑入口:v2 stable 当前会清理旧 checkpoint 并从头重跑;保留此 slug 作为旧 checkpoint 兼容入口。 Triggers: 继续试吃 / 恢复评测 / resume tasting / continue lobster...

Registry SourceRecently Updated
General

YiHui CONTEXT MODE

context-mode is an MCP server that saves 98% of your context window by sandboxing tool outputs. It routes large file reads, shell outputs, and web fetches th...

Registry SourceRecently Updated
General

xinyi-drink

Use when users ask about 新一好喝/新一咖啡 drinks, stores, menu, activities, Skill用户大礼包, today drink recommendations, afternoon tea, feeling sleepy, or personalized...

Registry SourceRecently Updated
General

vedic-destiny

吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时空盘专题,以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗...

Registry SourceRecently Updated