Skip to content
cccskills
FreePublished on GitHub

withings

Connect Withings and retrieve body measurements, activity, sleep, and workout records. Select dates and measurements to review daily or weekly trends, or inspect individual sleep and workout sessions using the bundled command-line tool.

OriginalShow the original description

Use when linking Withings or reading Withings body measurements, activity, sleep, workout, heart, and intraday data.

See how to install

Good for

  • Review daily weight trends
  • Check weekly step totals
  • Review sleep duration and scores
  • Look up recent workout records

Files included (4)

  • SKILL.md6.0 KB
  • connector_auth_config.yaml262 B
  • manifest.yaml2.0 KB
  • references/commands.md8.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Withings

Query Withings body measurements, activity, sleep, and workout data via the bundled withings CLI.

When to Use

Activate when the user asks about their Withings data:

  • Body metrics (weight, BMI, body fat, blood pressure, heart rate)
  • Daily activity (steps, calories, distance, active duration)
  • Sleep sessions (score, stages, duration, breathing rate)
  • Workout sessions (run/walk/cycle/etc.)

Tooling

Three subcommands cover most needs:

SubcommandPurpose
withings statusConnection state ({ok, status, connect_url?, disconnect_url?, reason?}).
withings list-fields --category <CAT>Field list for a category (snake_case, units in the name).
withings query --category <CAT> --start-date <YYYY-MM-DD> [--end-date --interval --fields]Typed snake_case records. Returns a JSON array.

Categories

  • daily-metrics — Daily rollup of Activity (steps/calories/distance/HR) + Measures (weight/BP/body composition). Supports --interval hourly|daily|weekly (defaults to daily). Aggregation rules: sum for counters (step_count, active_energy_burned_kcal, distance_walking_running_meters), avg for hr_average_bpm, max for hr_max_bpm, last-of-bucket for body measurements (weight/BP/body fat etc.).
  • sleep — One row per sleep session (score, stages, duration, HR, breathing).
  • workout — One row per workout session (translated workout_type name, duration, distance, calories, HR).

Use list-fields to discover available fields per category.

Output

JSON to stdout. Datetimes are local YYYY-MM-DD HH:MM:SS per record's timezone. Session rows include id (prefixed withings_<id>), start_datetime, end_datetime, timezone. daily-metrics buckets include date / hour / week_start + record_count instead of id.

Examples

# Recent workouts
withings query --category workout --start-date 2026-05-01

# Weight trend (last reading per day)
withings query --category daily-metrics --start-date 2026-04-01 --fields body_mass_kg

# Weekly step totals
withings query --category daily-metrics --start-date 2026-04-01 --interval weekly --fields step_count

Auth

Before any Withings API call:

  1. Run withings status.
  2. If status is not_connected, share [Connect Withings](<connect_url>) exactly — never paste the raw URL.
  3. After the user completes the callback, re-run withings status and proceed only when connected.

For disconnect: run withings disconnect and share [Disconnect Withings](<disconnect_url>) if present.

Never print tokens or credentials.

Operating Rules

  1. Treat linking as one-time onboarding — don't re-prompt for auth unless calls keep failing.
  2. Prefer query --category <CAT> over the legacy commands. Field names are snake_case with units in the name (body_mass_kg, step_count, hr_average_bpm, sleep_total_duration_sec) — never expose Withings's numeric meas-type IDs to the user.
  3. If unsure of a field name, run withings list-fields --category <CAT> BEFORE composing query --fields. Withings-native names (calories, distance, hr_average, weight) are NOT valid — they're translated to snake_case with units (energy_burned_kcal, distance_meters, hr_average_bpm, body_mass_kg). An empty filter result usually means the field name was wrong, not that the data is missing.
  4. Default to the last 7 days when the user asks for recent trends without specifying dates.
  5. For broad trends, use --category daily-metrics --interval weekly instead of pulling every reading. The --interval flag already aggregates per the rules above — do NOT apply additional aggregation (sum/avg) to the bucketed output client-side.
  6. If query returns [], say so clearly — never invent values. If the user is asking for a metric not surfaced by list-fields, drop to the legacy escape hatch (measures --meas-types <ID> or a more specific subcommand like heart-list; see references/commands.md for the meas-type ID table).

Legacy / Advanced Commands

Pre-query per-endpoint passthroughs that return raw {ok, status, body: <Withings native>} envelopes. Use only as an escape hatch for data not exposed by query — e.g. a meas-type missing from the translation table (withings measures --meas-types 130 for AFib ECG result), high-frequency sleep sensor data (withings sleep), or ECG signals (withings heart-list / heart-get).

Quick reference for the other passthroughs:

  • withings activity — raw daily Activity rows.
  • withings sleep-summary — raw nightly sleep summaries with Withings-native field names.
  • withings intraday — minute-resolution activity sensor data.
  • withings devices — list paired Withings devices.

Full command matrix, meas-type IDs, and Withings → Muse field mapping: references/commands.md.

  • Permission-withheld data: while the user's "Read measurements and heart data" permission is deny or ask, query --category daily-metrics wraps its rows in {"withheld": {...}, "records": [...]} with body metrics (weight, blood pressure, SpO2, heart measurements) removed, and a request for only those fields fails with data_class_excluded. Key off the withheld marker: when present, the permission is restricting those fields — say so instead of "no readings". When the user actually needs a withheld metric and the permission requires approval (withheld.reason is requires_approval, or a body-metrics-only query failed with data_class_excluded saying it requires approval), run withings measures --category 1 --start-date <d> --end-date <d>, which is governed by that permission and shows the user the approval prompt. Sleep and workout results are never wrapped; a response without the marker is an ordinary result.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

3d-object

FreeSummary

Create a 3D object with three.js, inspect it from every angle in an interactive viewer, and download it as OBJ + MTL or GLB for use in other 3D applications.

  • Create a 3D object and inspect it from every angle
  • Export a model for further editing in Blender
  • Review an object's silhouette and materials
asgeirtj/system_prompts_leaks70.1KUpdated Oct 23, 2026

action-items

FreeSummary

Maintain a private task list with deadlines, next steps, waiting parties, and blockers. Update progress and dependencies, merge duplicate items, and archive closed tasks so ongoing commitments stay clear and easy to follow.

  • Record tasks and commitments with deadlines
  • Track pending replies and reasons work cannot proceed
  • Update task dependencies when prerequisites are completed
asgeirtj/system_prompts_leaks70.1KUpdated Oct 23, 2026

agents

FreeSummary

Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.

  • Split independent tasks across agents
  • Check progress across ongoing tasks
  • Resume a previously started project
asgeirtj/system_prompts_leaks70.1KUpdated Oct 23, 2026

animated-video

FreeSummary

Create animated HTML pages with smooth scene transitions and playback controls. An editable timeline lets users adjust scene lengths and speeds, with fixed landscape or portrait layouts prepared for video export.

  • Create an animated product walkthrough
  • Explain a message through moving text and graphics
  • Build a portrait animation for video export
asgeirtj/system_prompts_leaks70.1KUpdated Oct 23, 2026

apple_healthkit

FreeSummary

Review synced Apple Health records, including steps, heart rate, sleep, and workouts. Retrieve daily summaries or detailed samples for a chosen period, and check sync status and missing data before interpreting the results.

  • Review daily steps and heart rate over time
  • Check sleep stages, duration, and awakenings
  • Review workout duration, distance, and calories
asgeirtj/system_prompts_leaks70.1KUpdated Oct 23, 2026

Create and edit Word documents and templates, reorganize text, replace images, and work with tracked changes or comments. Apply proper headings and lists, then render every page to check its appearance before delivery.

  • Create a structured Word document
  • Reorganize content in an existing document
  • Replace images or text in a document
asgeirtj/system_prompts_leaks70.1KUpdated Oct 23, 2026

See all skills by asgeirtj

Report a problem with this skill