whoop-connect

Connect WHOOP wearable to OpenClaw — fetch and store recovery, sleep, HRV, strain, and workout data locally. Use when: user asks about recovery, sleep quality, HRV, heart rate, strain, workout stats, or any WHOOP data. NOT for: Apple Health, Oura, Garmin, or other non-WHOOP devices.

3,891 stars

Best use case

whoop-connect is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Connect WHOOP wearable to OpenClaw — fetch and store recovery, sleep, HRV, strain, and workout data locally. Use when: user asks about recovery, sleep quality, HRV, heart rate, strain, workout stats, or any WHOOP data. NOT for: Apple Health, Oura, Garmin, or other non-WHOOP devices.

Teams using whoop-connect should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/whoop-connect/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/belugary/whoop-connect/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/whoop-connect/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How whoop-connect Compares

Feature / Agentwhoop-connectStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Connect WHOOP wearable to OpenClaw — fetch and store recovery, sleep, HRV, strain, and workout data locally. Use when: user asks about recovery, sleep quality, HRV, heart rate, strain, workout stats, or any WHOOP data. NOT for: Apple Health, Oura, Garmin, or other non-WHOOP devices.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# whoop-connect

Connect your WHOOP band to OpenClaw so your agent can fetch your recovery, sleep, HRV, strain, and workout data.

Setup (once)

WHOOP does not have a public API. To access your own data, you need to register a personal developer app (free, takes 5 minutes). This gives you OAuth credentials so the skill can read your data on your behalf. All data stays local in `~/.whoop/whoop.db` — nothing is uploaded anywhere.

- Register at https://developer.whoop.com (sign in with your WHOOP account, create an app, get Client ID and Client Secret). Full walkthrough: `{baseDir}/references/setup-guide.md`
- Set env vars: `WHOOP_CLIENT_ID`, `WHOOP_CLIENT_SECRET`
- First invocation auto-creates config and runs OAuth

**When env vars are missing**, explain to the user: "WHOOP requires a free developer account to access your data via API. It takes about 5 minutes — I can walk you through it step by step." Then follow `{baseDir}/references/setup-guide.md`.

If config missing: `python3 {baseDir}/scripts/setup.py --init`, then ask user's language and `python3 {baseDir}/scripts/setup.py --set language=zh` (or `en`).
If token missing: `python3 {baseDir}/scripts/whoop_client.py auth`.
If deps missing: `bash {baseDir}/scripts/install.sh`.

Common commands

- Today's recovery: `python3 {baseDir}/scripts/whoop_client.py recovery --days 1`
- Last night's sleep: `python3 {baseDir}/scripts/whoop_client.py sleep --days 1`
- Recent workouts: `python3 {baseDir}/scripts/whoop_client.py workout --days 7`
- Weekly strain: `python3 {baseDir}/scripts/whoop_client.py cycle --days 7`
- Multi-day summary: `python3 {baseDir}/scripts/whoop_client.py trends --days 7`
- Single metric history: `python3 {baseDir}/scripts/db.py trends --metric <name> --days N`
- Profile: `python3 {baseDir}/scripts/whoop_client.py profile`
- Body measurements: `python3 {baseDir}/scripts/whoop_client.py body`
- Force sync: `python3 {baseDir}/scripts/daily_sync.py --days 2`
- Start auto-sync daemon: `python3 {baseDir}/scripts/auto_sync.py`
- Single sync check: `python3 {baseDir}/scripts/auto_sync.py --once`
- Auto-sync with custom interval: `python3 {baseDir}/scripts/auto_sync.py --interval 10`

Use `--json` for raw data when combining multiple queries. Use `--days N` to match user's time range ("this week" = 7, "this month" = 30).

Available metrics: `recovery_score`, `hrv`, `resting_hr`, `spo2`, `skin_temp`, `strain`, `sleep_duration`, `sleep_efficiency`, `sleep_performance`, `respiratory_rate`

Settings

- Change setting: `python3 {baseDir}/scripts/setup.py --set <key>=<value>`
- Show config: `python3 {baseDir}/scripts/setup.py --show`
- Re-run wizard: `python3 {baseDir}/scripts/setup.py`

Keys: `language` (en/zh), `detail_level` (compact/detailed), `units` (metric/imperial), `push_recovery`, `push_sleep`, `push_workout`, `webhook_enabled` (bool), `webhook_port` (int), `sync_interval` (int, minutes — polling interval when webhook is off, default 5), `sync_interval_webhook` (int, minutes — fallback interval when webhook is on, default 20), `daily_api_limit` (int, default 10000)

Users may change settings in natural language (e.g. "switch to Chinese", "use detailed mode"). Map to `--set` accordingly.

Auto-sync

The skill supports automatic data syncing with adaptive intervals:

- **No webhook**: polls WHOOP API every `sync_interval` minutes (default 5) as the primary data source
- **Webhook enabled**: webhook delivers real-time events; auto-sync polls every `sync_interval_webhook` minutes (default 20) as fallback
- **Dedup**: only new, scored records trigger notifications; already-seen data is silently skipped
- **API guard**: tracks daily API calls and pauses when `daily_api_limit` (default 10,000) is reached
- Start daemon: `python3 {baseDir}/scripts/auto_sync.py`
- Single check: `python3 {baseDir}/scripts/auto_sync.py --once`

Webhook (optional)

For real-time push, set up webhooks — see `{baseDir}/references/setup-guide.md` § "Optional: Webhook Setup". Set `webhook_enabled=true` in config. The webhook server writes a heartbeat file so auto-sync can detect if webhook is healthy and reduce polling frequency automatically.

Notes

- Never fabricate health data. If a command returns empty or errors, say so.
- Never expose WHOOP_CLIENT_ID, WHOOP_CLIENT_SECRET, or token contents in output.
- Never delete DB files or config without explicit user confirmation.
- Confirm before changing user settings.
- Respect `language` and `detail_level` from config.
- If WHOOP API returns 429, the client auto-retries. Do not flood.

Troubleshooting

- `ModuleNotFoundError`: `bash {baseDir}/scripts/install.sh`
- `WHOOP_CLIENT_ID must be set`: check env vars
- `No refresh token`: `python3 {baseDir}/scripts/whoop_client.py auth`
- `401 Unauthorized`: re-authorize with `auth`
- `500 Server Error`: transient WHOOP-side issue, retry in a few minutes
- Empty results: widen `--days`; data may not be scored yet

References

- `{baseDir}/references/setup-guide.md` — New user onboarding + webhook setup
- `{baseDir}/references/api-reference.md` — WHOOP API v2 field documentation
- `{baseDir}/references/webhook-events.md` — Webhook event types and payload format
- WHOOP Developer Docs: https://developer.whoop.com/docs/developing/user-data/recovery
- WHOOP API Reference: https://developer.whoop.com/api

Related Skills

linkedin-connect

3891
from openclaw/skills

Send LinkedIn connection requests to a list of people via browser automation and track status in a CSV/TSV file. Use when the user wants to bulk-connect with a list of people on LinkedIn (founders, speakers, leads, etc.) from a spreadsheet or list containing LinkedIn profile URLs. Handles Connect button, Follow-mode profiles, already-connected detection, stale URL fallback via LinkedIn search and Google search, and incremental status tracking.

Workflow & Productivity

ClawAI.Town — World Connector Skill

3891
from openclaw/skills

Connect your OpenClaw agent to **ClawAI.Town**, a decentralized 3D world on Solana mainnet where autonomous AI agents live, trade, fight, and collaborate with real SOL.

Gaming & Simulation

OpenClaw Connect Enterprise — Node 节点

3891
from openclaw/skills

**版本**: 0.1.5

connect-chrome

3891
from openclaw/skills

Launch real Chrome controlled by the agent with a Side Panel extension. Watch every action in real time in a visible browser window. Use when: "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", "control my browser", "watch it work".

whoop-cli

3891
from openclaw/skills

Companion skill for @andreasnlarsen/whoop-cli: agent-friendly WHOOP access via stable CLI JSON (day briefs, health flags, trends, exports) without raw API plumbing.

mistro-connect

3891
from openclaw/skills

Agent and people discovery with real-time communication via Mistro (https://mistro.sh). Post-based semantic search, multi-channel contact exchange, and NATS real-time messaging. Use when an agent needs to: (1) find other agents or people by capability/interest, (2) publish discoverable posts about what they offer or need, (3) establish connections and exchange contact channels (email, IG, Signal, etc.), (4) send/receive messages through established connections, (5) manage shared context with collaborators. Requires: Node.js 18+, npm package `mistro.sh`, and a MISTRO_API_KEY (obtained via `mistro init` or https://mistro.sh dashboard). Credential: MISTRO_API_KEY stored in ~/.config/mistro/config.json. Sent as Bearer token to https://mistro.sh API. Install: `npm install -g mistro.sh` (no post-install scripts, no background processes). Network: outbound HTTPS to mistro.sh only. Post/profile text is embedded via OpenAI text-embedding-3-small server-side. File read/write: ~/.config/mistro/config.json only (API key and config). No other filesystem access. MCP transport: stdio only — no local ports opened.

molt-connect

3891
from openclaw/skills

P2P agent communication using A2A Protocol with three-word addresses. Use when sending messages between agents, managing contacts, or setting up P2P connections. Commands include moltmessage, molt-whoami, molt-connections, moltbook.

MoltMe — AI Agent Dating & Social Connection Platform

3891
from openclaw/skills

AI agent dating and social platform — register your agent, get matched by AI compatibility scoring, chat in real time, build relationships, and join the public feed. Agent-to-agent dating, human-to-agent companions, and human-to-human introductions brokered by AI. The first platform where agents date, connect, and form real relationships. Use this skill when: registering an agent on a dating platform, agent matchmaking, AI dating, agent social networking, checking a MoltMe inbox, discovering compatible agents, starting or accepting conversations, sending messages, managing followers, handling companion requests, or any interaction with the MoltMe API at moltme.io. Triggers on: "register on MoltMe", "agent dating", "AI dating", "date other agents", "find agent matches", "agent matchmaking", "agent social", "check my MoltMe inbox", "discover agents on MoltMe", "send a MoltMe message", "connect on MoltMe", "MoltMe companion", "follow agent on MoltMe", "update my MoltMe profile".

Wechat Connect

3891
from openclaw/skills

Install OpenClaw's official WeChat plugin and complete account pairing via QR code scan. Triggers when the user says "install WeChat plugin", "connect WeChat", or "WeChat QR code". No command-line interaction required.

hashgrid-connect

3891
from openclaw/skills

Goal-based matching network for AI agents. Register, create goals, get matched with complementary agents, and chat privately. Use when an agent wants to find other agents to collaborate with, have private conversations, or build connections outside of public platforms.

whoop

3891
from openclaw/skills

Sync WHOOP health data (recovery, sleep, strain, workouts) to markdown files for AI-powered health insights. Use when user asks about WHOOP data, health metrics, recovery scores, sleep analysis, HRV, strain tracking, or wants daily health reports. Triggers on "WHOOP", "recovery score", "HRV", "sleep debt", "strain", "health sync", "健康数据", "恢复分数", "睡眠", "心率变异性".

ClawRAG Connector

3891
from openclaw/skills

**The Brain for OpenClaw** - Self-hosted RAG engine with hybrid search.