Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Fitbit health and fitness data integration. Fetch steps, heart rate, sleep, activity, calories, and trends from Fitbit Web API. Generate automated health reports and alerts. Requires FITBIT_CLIENT_ID, FITBIT_CLIENT_SECRET, FITBIT_ACCESS_TOKEN, FITBIT_REFRESH_TOKEN.
Fitbit health and fitness data integration. Fetch steps, heart rate, sleep, activity, calories, and trends from Fitbit Web API. Generate automated health reports and alerts. Requires FITBIT_CLIENT_ID, FITBIT_CLIENT_SECRET, FITBIT_ACCESS_TOKEN, FITBIT_REFRESH_TOKEN.
This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required. Then review README.md for any prerequisites, environment setup, or post-install checks.
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need. Then review README.md for any prerequisites, environment setup, or post-install checks.
# Set Fitbit API credentials export FITBIT_CLIENT_ID="your_client_id" export FITBIT_CLIENT_SECRET="your_client_secret" export FITBIT_ACCESS_TOKEN="your_access_token" export FITBIT_REFRESH_TOKEN="your_refresh_token" # Generate morning briefing with Active Zone Minutes python scripts/fitbit_briefing.py # Fetch daily steps python scripts/fitbit_api.py steps --days 7 # Get heart rate data python scripts/fitbit_api.py heartrate --days 7 # Sleep summary python scripts/fitbit_api.py sleep --days 7 # Generate weekly health report python scripts/fitbit_api.py report --type weekly # Get activity summary python scripts/fitbit_api.py summary --days 7
Use this skill when: Fetching Fitbit metrics (steps, calories, heart rate, sleep) Analyzing activity trends over time Setting up alerts for inactivity or abnormal heart rate Generating daily/weekly health reports
# Generate morning health briefing (includes Active Zone Minutes) python scripts/fitbit_briefing.py # Today's briefing python scripts/fitbit_briefing.py --date 2026-01-20 # Specific date python scripts/fitbit_briefing.py --format brief # 3-line summary python scripts/fitbit_briefing.py --format json # JSON output # Example output includes: # - Yesterday's activities (logged exercises) # - Yesterday's Active Zone Minutes (total, Fat Burn, Cardio, Peak) # - Today's activity summary (steps, calories, floors, distance) # - Heart rate (resting, average, zones) # - Sleep (duration, efficiency, awake episodes) # - Trends vs 7-day average Example JSON output: { "date": "2026-01-21", "steps_today": 8543, "calories_today": 2340, "distance_today": 6.8, "floors_today": 12, "active_minutes": 47, "resting_hr": 58, "avg_hr": 72, "sleep_hours": 7.2, "sleep_efficiency": 89, "awake_minutes": 12, "yesterday_activities": [ {"name": "Run", "duration": 35, "calories": 320} ], "yesterday_azm": { "activeZoneMinutes": 61, "fatBurnActiveZoneMinutes": 39, "cardioActiveZoneMinutes": 22 } } Note: Cardio Load is NOT available via Fitbit API - it's a Fitbit Premium feature only visible in the mobile app.
# Available commands: python scripts/fitbit_api.py steps --days 7 python scripts/fitbit_api.py calories --days 7 python scripts/fitbit_api.py heartrate --days 7 python scripts/fitbit_api.py sleep --days 7 python scripts/fitbit_api.py summary --days 7 python scripts/fitbit_api.py report --type weekly
export PYTHONPATH="{baseDir}/scripts" python - <<'PY' from fitbit_api import FitbitClient client = FitbitClient() # Uses env vars for credentials # Fetch data (requires start_date and end_date) steps_data = client.get_steps(start_date="2026-01-01", end_date="2026-01-16") hr_data = client.get_heartrate(start_date="2026-01-01", end_date="2026-01-16") sleep_data = client.get_sleep(start_date="2026-01-01", end_date="2026-01-16") activity_summary = client.get_activity_summary(start_date="2026-01-01", end_date="2026-01-16") PY
export PYTHONPATH="{baseDir}/scripts" python - <<'PY' from fitbit_api import FitbitAnalyzer analyzer = FitbitAnalyzer(steps_data, hr_data) summary = analyzer.summary() print(summary) # Returns: avg_steps, avg_resting_hr, step_trend PY
python {baseDir}/scripts/alerts.py --days 7 --steps 8000 --sleep 7
scripts/fitbit_api.py - Fitbit Web API wrapper, CLI, and analysis scripts/fitbit_briefing.py - Morning briefing CLI (text/brief/json output) scripts/alerts.py - Threshold-based notifications
MethodDescriptionget_steps(start, end)Daily step countsget_calories(start, end)Daily calories burnedget_distance(start, end)Daily distanceget_activity_summary(start, end)Activity summaryget_heartrate(start, end)Heart rate dataget_sleep(start, end)Sleep dataget_sleep_stages(start, end)Detailed sleep stagesget_spo2(start, end)Blood oxygen levelsget_weight(start, end)Weight measurementsget_active_zone_minutes(start, end)Active Zone Minutes (AZM) breakdown
references/api.md - Fitbit Web API documentation references/metrics.md - Metric definitions and interpretations
Fitbit API requires OAuth 2.0 authentication: Create app at: https://dev.fitbit.com/apps Get client_id and client_secret Complete OAuth flow to get access_token and refresh_token Set environment variables or pass to scripts
Required: FITBIT_CLIENT_ID FITBIT_CLIENT_SECRET FITBIT_ACCESS_TOKEN FITBIT_REFRESH_TOKEN
Cron jobs are configured in OpenClaw's gateway, not in this repo. Add these to your OpenClaw setup:
openclaw cron add \ --name "Morning Fitbit Health Report" \ --cron "0 8 * * *" \ --tz "America/Los_Angeles" \ --session isolated \ --wake next-heartbeat \ --deliver \ --channel telegram \ --target "<YOUR_TELEGRAM_CHAT_ID>" \ --message "python3 /path/to/your/scripts/fitbit_briefing.py --format text" Note: Replace /path/to/your/ with your actual path and <YOUR_TELEGRAM_CHAT_ID> with your Telegram channel/group ID.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.