← Back to Skills Marketplace
hisxo

withings-health

by hisxo · GitHub ↗ · v1.0.1
cross-platform ✓ Security Clean
2585
Downloads
4
Stars
7
Active Installs
2
Versions
Install in OpenClaw
/install withings-health
Description
Fetches health data from the Withings API including weight, body composition (fat, muscle, bone, water), activity, and sleep. Use this skill when the user asks about their Withings data, weight history, body metrics, daily steps, sleep quality, or any health measurement from Withings devices.
README (SKILL.md)

This skill allows you to interact with the user's Withings account to retrieve comprehensive health metrics from Withings devices (smart scales, sleep analyzers, activity trackers, etc.).

When to Use This Skill

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 health progress over time

Setup: Creating a Withings Developer App

Before using this skill, you need to create a free Withings developer application to get your API credentials.

Step 1: Create a Withings Developer Account

  1. Go to Withings Developer Portal
  2. Click Sign Up or Log In if you already have a Withings account
  3. Accept the Developer Terms of Service

Step 2: Create Your Application

  1. Navigate to My AppsCreate an Application
  2. Fill in the application details:
    • Application Name: Choose a name (e.g., "My Clawdbot Health")
    • Description: Brief description of your use case
    • Contact Email: Your email address
    • Callback URL: http://localhost:8080 (required for OAuth)
    • Application Type: Select "Personal Use" or appropriate type
  3. Submit the application

Step 3: Get Your Credentials

Once your application is created:

  1. Go to My Apps and select your application
  2. You'll find:
    • Client ID → Set as WITHINGS_CLIENT_ID environment variable
    • Client Secret → Set as WITHINGS_CLIENT_SECRET environment variable

Step 4: Configure Environment Variables

Add these to your Clawdbot environment:

export WITHINGS_CLIENT_ID="your_client_id_here"
export WITHINGS_CLIENT_SECRET="your_client_secret_here"

Or create a .env file in the skill directory (this file will be ignored by git):

WITHINGS_CLIENT_ID=your_client_id_here
WITHINGS_CLIENT_SECRET=your_client_secret_here

Configuration

The skill uses a wrapper.js script located in {baseDir}.

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.

Available Commands

1. Authentication

First-time setup - generates the OAuth URL:

node {baseDir}/wrapper.js auth

After the user visits the URL and gets the authorization code:

node {baseDir}/wrapper.js auth YOUR_CODE_HERE

2. Get Weight

Retrieve the latest weight measurements:

node {baseDir}/wrapper.js 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" }
]

3. Get Body Composition

Retrieve comprehensive body metrics (fat, muscle, bone, water, BMI):

node {baseDir}/wrapper.js 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%"
  }
]

4. Get Activity

Retrieve daily activity data (steps, distance, calories):

node {baseDir}/wrapper.js activity

Optionally specify the number of days (default: 7):

node {baseDir}/wrapper.js 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"
  }
]

5. Get Sleep

Retrieve sleep data and quality:

node {baseDir}/wrapper.js sleep

Optionally specify the number of days (default: 7):

node {baseDir}/wrapper.js 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
  }
]

Error Handling

Common errors and how to resolve them:

Error Cause Solution
"No token found" First time use, not authenticated Run node wrapper.js auth and follow the OAuth flow
"Failed to refresh token" Token expired and refresh failed Re-authenticate with node wrapper.js auth
"API Error Status: 401" Invalid or expired credentials Check your CLIENT_ID and CLIENT_SECRET, re-authenticate
"API Error Status: 503" Withings API temporarily unavailable Wait and retry later
Empty data No measurements in the requested period User needs to sync their Withings device

Notes

  • Tokens are automatically refreshed when they expire
  • Withings API scopes used: user.metrics, user.activity
  • Data availability depends on which Withings devices the user owns
  • Some metrics (like body composition) require a compatible smart scale
Usage Guidance
This skill appears coherent for accessing Withings data: it needs your Withings client ID and secret and runs a local node script to perform OAuth and fetch metrics. Before installing or running it: 1) Inspect wrapper.js to confirm it only performs Withings API calls and to see where OAuth tokens are saved (disk location, permissions, encryption). 2) Keep your WITHINGS_CLIENT_SECRET private and do not commit a .env to version control. 3) Use the localhost OAuth callback as described and verify the app on Withings is configured correctly. 4) If you plan to let the AI model invoke skills autonomously, be aware the skill can use stored tokens to access your Withings data later — only proceed if you trust the code and token handling. If you are not comfortable reviewing the code, ask the publisher for a security summary of token storage and network destinations.
Capability Analysis
Type: OpenClaw Skill Name: withings-health Version: 1.0.1 The skill bundle is benign. The `SKILL.md` provides clear instructions for the AI agent and user, without any prompt injection attempts or instructions for malicious actions. The `wrapper.js` script correctly implements the described functionality, handling OAuth authentication, token storage in `tokens.json`, and data retrieval from legitimate Withings API endpoints (`wbsapi.withings.net`, `account.withings.com`). It uses environment variables (`WITHINGS_CLIENT_ID`, `WITHINGS_CLIENT_SECRET`) for credentials and performs file operations only for its own configuration and token management, with no evidence of data exfiltration, malicious execution, or persistence mechanisms.
Capability Assessment
Purpose & Capability
Name/description (Withings health data) align with required binaries (node) and required env vars (WITHINGS_CLIENT_ID, WITHINGS_CLIENT_SECRET). The commands in SKILL.md map to a local wrapper.js that would reasonably implement OAuth and API calls to Withings.
Instruction Scope
SKILL.md confines runtime actions to running wrapper.js for auth and data retrieval and explains the OAuth flow and expected outputs. It does not instruct reading unrelated files or asking for unrelated credentials. It suggests creating a local .env file and using localhost callback URL for OAuth, which is typical for developer apps.
Install Mechanism
There is no install spec (instruction-only) and the skill includes a local wrapper.js file; no external downloads or package installs are requested. Risk is limited to executing the provided JavaScript locally (node), so review of that file is recommended.
Credentials
Only WITHINGS_CLIENT_ID and WITHINGS_CLIENT_SECRET are required, which is proportionate for a Withings integration. The SKILL.md does not request unrelated secrets or multiple unrelated credentials. It does note token refresh behavior but does not specify where tokens are persisted — that should be verified in wrapper.js.
Persistence & Privilege
The skill is not marked always:true and has no OS restrictions. disable-model-invocation is not set (default model-invocable), which is normal for user-invoked integration skills. Confirm where and how tokens are stored (disk vs ephemeral) because persistent token storage could allow later access unless managed carefully.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install withings-health
  3. After installation, invoke the skill by name or use /withings-health
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
Expanded skill to support all major Withings health metrics and improved documentation. - Added support for retrieving body composition, activity, and sleep data in addition to weight. - Expanded documentation on when and how to use the skill, with detailed command examples and sample outputs. - Clarified error handling and troubleshooting steps. - Updated description to reflect broader capabilities (not just weight/activity). - Documented data formats and new command options for body metrics, activity period, and sleep history.
v1.0.0
Initial release of withings-health skill. - Fetch health data (weight, activity) from the Withings API using your own credentials. - Provides setup steps for creating a Withings developer app and environment variable configuration. - Supports OAuth authentication and token refresh. - Includes commands for authenticating and retrieving recent weight measurements. - Stores tokens locally in a private file.
Metadata
Slug withings-health
Version 1.0.1
License
All-time Installs 7
Active Installs 7
Total Versions 2
Frequently Asked Questions

What is withings-health?

Fetches health data from the Withings API including weight, body composition (fat, muscle, bone, water), activity, and sleep. Use this skill when the user asks about their Withings data, weight history, body metrics, daily steps, sleep quality, or any health measurement from Withings devices. It is an AI Agent Skill for Claude Code / OpenClaw, with 2585 downloads so far.

How do I install withings-health?

Run "/install withings-health" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is withings-health free?

Yes, withings-health is completely free (open-source). You can download, install and use it at no cost.

Which platforms does withings-health support?

withings-health is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created withings-health?

It is built and maintained by hisxo (@hisxo); the current version is v1.0.1.

💬 Comments