← Back to Skills Marketplace
brennaman

WHOOP Lab

by brennaman · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
272
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install whoop-lab
Description
Fetch, analyze, chart, and track WHOOP health data (recovery, HRV, RHR, sleep, strain, workouts). Use when: querying any WHOOP metric; generating visual char...
Usage Guidance
This skill appears to be internally consistent with its WHOOP-focused purpose, but review these practical points before installing: 1) You must create a WHOOP Developer App and enter its client_id/client_secret interactively; those tokens (access + refresh) are stored at ~/.config/whoop-skill/credentials.json (file is set to 600 permissions by the script). 2) The auth flow can open a local HTTP server (localhost:8888) to capture the OAuth callback — if you run this on a remote/cloud host, prefer the manual code-paste option so nothing listens on a public port. 3) log_to_obsidian.py will write to and may commit/push your Obsidian vault if it's a git repo; verify vault_path in config and confirm you want those files committed/pushed to your remote. 4) The only network endpoints contacted are api.prod.whoop.com and the Chart.js CDN; if you require a stricter network policy, audit the scripts and run in a network-restricted environment first. 5) Source is listed as unknown — if you do not trust the bundle, inspect the scripts (they are plaintext Python) or run them in an isolated environment. 6) Test with dry-run modes (log_to_obsidian.py --dry-run) and review created files before enabling automated or agent-driven runs. If you want additional assurance, ask for a short checklist of the key files/lines to inspect and I can point to the exact places to verify (e.g., where tokens are saved, where git commands are invoked).
Capability Analysis
Type: OpenClaw Skill Name: whoop-lab Version: 1.0.0 The WHOOP Lab skill is a well-structured tool for fetching and analyzing health data via the official WHOOP Developer API. It includes scripts for OAuth authentication (auth.py), data visualization (chart.py), and optional integration with Obsidian daily notes (log_to_obsidian.py). While the Obsidian script performs broad Git operations (git add -A && git push), these are explicitly documented as part of a vault synchronization feature and include safety checks to ensure the target directory is a valid Git repository. The code follows security best practices, such as setting restrictive file permissions (0o600) on credential files and using safe subprocess calls to prevent shell injection.
Capability Assessment
Purpose & Capability
Name/description match the included scripts: auth (OAuth), fetch (WHOOP API), refresh_token, charting, experiment tracking, and Obsidian logging. Required binaries (python3, git) are justified (python3 to run scripts, git used only for optional vault sync). No unrelated credentials or external services are requested.
Instruction Scope
SKILL.md and the scripts operate within the described scope: they instruct creating a WHOOP Developer App, running auth.py to obtain OAuth tokens, fetching WHOOP endpoints, generating Chart.js HTML (via CDN), and optionally writing to an Obsidian vault. Important behaviors to note: the auth flow can spin up a local HTTP server to capture the OAuth callback (or use manual paste), credentials are saved to ~/.config/whoop-skill/credentials.json, and log_to_obsidian.py will create/append markdown files in your vault and can run git pull/add/commit/push. All of these are consistent with the skill's purpose but are file- and network-affecting actions you should expect.
Install Mechanism
No opaque or remote install spec; SKILL.md asks the user to pip install -r requirements.txt (requests only). No downloads from untrusted URLs or archive extraction are present in the files provided.
Credentials
The skill does not require environment variables or other unrelated credentials. It optionally respects WHOOP_EXPERIMENTS_FILE (to override experiments.json). OAuth client ID/secret are collected interactively and stored locally — appropriate for this integration. The only external endpoints contacted are the WHOOP API and Chart.js CDN (cdn.jsdelivr.net).
Persistence & Privilege
The skill writes persistent data to ~/.config/whoop-skill/ (credentials.json, experiments.json, config.json) and writes/updates files inside your configured Obsidian vault; it will attempt git pull/commit/push if the vault is a git repo. always:false and no global config modification — privileges are limited to the skill's own config directory and the user-specified vault, which is coherent but important to be aware of.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install whoop-lab
  3. After installation, invoke the skill by name or use /whoop-lab
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
🚀 Initial Release - WHOOP Lab 1.0.0 First public release of the WHOOP Lab skill for OpenClaw / ClawHub. Features: 📊 Data Fetching OAuth 2.0 authentication with WHOOP Developer API v2 (scripts/auth.py) Automatic token refresh (scripts/refresh_token.py) General-purpose API fetcher for all WHOOP endpoints (scripts/fetch.py) Recovery, sleep, strain, workouts, user profile Date-range and limit-based pagination 📈 Charting HTML chart generation via Chart.js (scripts/chart.py) — dark theme, fully self-contained Recovery (color-coded green/yellow/red) Sleep (stacked bar: REM/Deep/Light/Awake) HRV trend (line + 7-day rolling average) Strain + calories (dual axis) Full dashboard (2×2 grid of all four) Stat cards showing avg/min/max + trend arrows Auto-opens in browser + delivers as attachment 🧪 Experiment Tracking Plan, monitor, and evaluate personal health experiments (scripts/experiment.py) Auto-captured 14-day baselines Post-workout segmentation mode (measures recovery windows after qualifying workouts) Mid-experiment status with rolling averages and trend arrows Final report with verdict (met / partially met / not met / inconclusive) Supports: HRV, recovery, sleep performance, RHR, strain 📓 Obsidian Logging (optional) Appends daily WHOOP stats to Obsidian daily note (scripts/log_to_obsidian.py) Backfill by date, dry-run preview Auto git commit + push (skips git gracefully if vault is not a repo) 🧠 Health Interpretation Science-backed HRV, RHR, sleep, strain, and recovery interpretation guide (references/health_analysis.md) WHOOP API endpoint reference (references/api.md) 🌅 Morning Brief Integration Drop-in HEARTBEAT.md snippet to include recovery + HRV in daily morning briefs Red recovery auto-flagging (score < 34) Requirements: Python 3 Git (optional — only needed if Obsidian vault is a git repo) A free WHOOP Developer App (https://developer-dashboard.whoop.com) Setup: See SKILL.md for full setup instructions.
Metadata
Slug whoop-lab
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is WHOOP Lab?

Fetch, analyze, chart, and track WHOOP health data (recovery, HRV, RHR, sleep, strain, workouts). Use when: querying any WHOOP metric; generating visual char... It is an AI Agent Skill for Claude Code / OpenClaw, with 272 downloads so far.

How do I install WHOOP Lab?

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

Is WHOOP Lab free?

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

Which platforms does WHOOP Lab support?

WHOOP Lab is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created WHOOP Lab?

It is built and maintained by brennaman (@brennaman); the current version is v1.0.0.

💬 Comments