Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Fetches health data from the Withings API for multiple family members including weight, body composition (fat, muscle, bone, water), activity, and sleep. Use this skill when the user asks about their or their family's Withings data, weight history, body metrics, daily steps, sleep quality, or any health measurement from Withings devices.
Fetches health data from the Withings API for multiple family members including weight, body composition (fat, muscle, bone, water), activity, and sleep. Use this skill when the user asks about their or their family's Withings data, weight history, body metrics, daily steps, sleep quality, or any health measurement from Withings devices.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
This skill natively supports multiple users with per-user token files: tokens-alice.json tokens-bob.json tokens-charlie.json Each family member authenticates once via OAuth. Their tokens are stored separately and refreshed automatically. No token copying or switching required โ just pass the user ID as the first argument. python3 scripts/withings.py alice weight python3 scripts/withings.py bob sleep python3 scripts/withings.py charlie activity
Use this skill when the user: Asks about their weight or weight history Wants to see their body composition (fat %, muscle mass, bone mass, hydration) Requests their daily activity (steps, distance, calories burned) Asks about their sleep data (duration, quality, deep sleep, REM) Mentions "Withings" or any Withings device (Body+, Sleep Analyzer, ScanWatch, etc.) Wants to track their or their family's health progress over time
Before using this skill, you need to create a free Withings developer application to get your API credentials.
Go to Withings Developer Portal Click Sign Up or Log In if you already have a Withings account Accept the Developer Terms of Service
Navigate to My Apps โ Create an Application Fill in the application details: Application Name: Choose a name (e.g., "My Moltbot Health") Description: Brief description of your use case Contact Email: Your email address Callback URL: http://localhost:18081 (required for OAuth) Application Type: Select "Personal Use" or appropriate type Submit the application
Once your application is created: Go to My Apps and select your application You'll find: Client ID โ Set as WITHINGS_CLIENT_ID environment variable Client Secret โ Set as WITHINGS_CLIENT_SECRET environment variable
Add these to your Moltbot environment: export WITHINGS_CLIENT_ID="your_client_id_here" export WITHINGS_CLIENT_SECRET="your_client_secret_here" Or create a .env file in ~/.openclaw/withings-family/.env (legacy: ~/.moltbot/withings-family/.env): WITHINGS_CLIENT_ID=your_client_id_here WITHINGS_CLIENT_SECRET=your_client_secret_here
The skill provides two scripts (in scripts/): scripts/withings_oauth_local.py โ Automatic OAuth with local callback server (recommended) scripts/withings.py โ Main CLI + manual OAuth Credentials location: ~/.openclaw/withings-family/ (legacy: ~/.moltbot/withings-family/) .env โ Client ID/Secret (optional, can use ENV vars instead) tokens-<userId>.json โ OAuth tokens per user (mode 600) Before any data retrieval, check if the user is authenticated. If an error mentions "No token found", guide the user through the initial authentication process for that specific user.
Uses a local callback server to capture the code automatically: python3 {baseDir}/scripts/withings_oauth_local.py <userId> Example: python3 {baseDir}/scripts/withings_oauth_local.py alice The script will: Print the authorization URL Start a local server on localhost:18081 Wait for the redirect Automatically capture the code and exchange for tokens Save tokens to tokens-<userId>.json
Traditional two-step flow (see "Authentication" command below).
All commands follow the format: python3 {baseDir}/scripts/withings.py <userId> <command> [options]
First-time setup for a user โ generates the OAuth URL: python3 {baseDir}/scripts/withings.py alice auth After the user visits the URL and gets the authorization code: python3 {baseDir}/scripts/withings.py alice auth YOUR_CODE_HERE Repeat for each family member who needs access.
Retrieve the latest weight measurements: python3 {baseDir}/scripts/withings.py alice weight Returns the 5 most recent weight entries in JSON format. Example output: [ { "date": "2026-01-17T08:30:00.000Z", "weight": "75.40 kg" }, { "date": "2026-01-16T08:15:00.000Z", "weight": "75.65 kg" } ]
Retrieve comprehensive body metrics (fat, muscle, bone, water, BMI): python3 {baseDir}/scripts/withings.py alice body Returns the 5 most recent body composition measurements. Example output: [ { "date": "2026-01-17T08:30:00.000Z", "weight": "75.40 kg", "fat_percent": "18.5%", "fat_mass": "13.95 kg", "muscle_mass": "35.20 kg", "bone_mass": "3.10 kg", "hydration": "55.2%" } ]
Retrieve daily activity data (steps, distance, calories): python3 {baseDir}/scripts/withings.py alice activity Optionally specify the number of days (default: 7): python3 {baseDir}/scripts/withings.py alice activity 30 Example output: [ { "date": "2026-01-17", "steps": 8542, "distance": "6.23 km", "calories": 2150, "active_calories": 450, "soft_activity": "45 min", "moderate_activity": "22 min", "intense_activity": "8 min" } ]
Retrieve sleep data and quality: python3 {baseDir}/scripts/withings.py alice sleep Optionally specify the number of days (default: 7): python3 {baseDir}/scripts/withings.py alice sleep 14 Example output: [ { "date": "2026-01-17", "start": "23:15", "end": "07:30", "duration": "8h 15min", "deep_sleep": "1h 45min", "light_sleep": "4h 30min", "rem_sleep": "1h 30min", "awake": "30min", "sleep_score": 82 } ]
Common errors and how to resolve them: ErrorCauseSolution"No token found"User not authenticatedRun python3 scripts/withings.py <userId> auth and follow the OAuth flow"Failed to refresh token"Token expired and refresh failedRe-authenticate with python3 scripts/withings.py <userId> auth"API Error Status: 401"Invalid or expired credentialsCheck your CLIENT_ID and CLIENT_SECRET, re-authenticate"API Error Status: 503"Withings API temporarily unavailableWait and retry laterEmpty dataNo measurements in the requested periodUser needs to sync their Withings device
Multi-user: Each family member has their own token file (tokens-{userId}.json) Token refresh: Tokens are automatically refreshed when they expire Scopes: Withings API scopes used: user.metrics, user.activity Device support: Data availability depends on which Withings devices the user owns Body composition: Requires a compatible smart scale (e.g., Body+, Body Comp)
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.