AgentSkillsCN

whoop

WHOOP CLI——是恢复、睡眠、HRV、RHR、压力负荷、SpO2、皮肤温度与呼吸频率的权威数据源。WHOOP可全天候佩戴,包括睡眠期间,因此它也是获取夜间指标最精准的来源。可用于:恢复分数、睡眠分数、睡眠分期(深睡/快速眼动/浅睡)、HRV、静息心率、每日压力负荷、睡眠债、健康洞察与各类图表。切勿用于步数、步行距离、VO2max——WHOOP API并不公开这些数据;如需相关数据,请使用hae-vault。可在以下指令下触发:“恢复”“我昨晚睡得怎么样”“睡眠分数”“睡眠分期”“HRV”“静息心率”“压力负荷”“健康仪表盘”“健康趋势”“给我看张图表”“健康洞察”“WHOOP”。

SKILL.md
--- frontmatter
name: whoop
metadata: {"openclaw": {"always": true, "emoji": "💪"}}
description: >
  WHOOP CLI — authoritative source for recovery, sleep, HRV, RHR, strain, SpO2,
  skin temperature, and respiratory rate. WHOOP is worn 24/7 including during
  sleep, making it the most accurate source for overnight metrics.
  Use for: recovery score, sleep score, sleep stages (deep/REM/light), HRV,
  resting heart rate, daily strain, sleep debt, health insights, charts.
  Do NOT use for step count, walking distance, VO2max — WHOOP API does not expose these; use hae-vault for those.
  Trigger on: "recovery", "how did I sleep", "sleep score", "sleep stages",
  "HRV", "resting heart rate", "strain", "health dashboard", "health trends",
  "show me a chart", "health insights", "whoop".

whoop-up

Fetch, analyze, and visualize WHOOP health metrics via CLI: sleep, recovery, HRV, strain, workouts, and interactive charts.

Quick start

bash
whoop summary --color                            # color-coded daily snapshot
whoop dashboard                                  # full dashboard + 7-day trends
whoop trends --days 14                           # 14-day trend analysis
whoop chart dashboard -n 30 -o /tmp/whoop.html  # interactive HTML chart

Commands

CommandDescriptionDefault output
sleepSleep stages, efficiency, respiratory rateJSON
recoveryRecovery score, HRV, RHR, SpO2, skin tempJSON
workoutWorkouts with strain, HR zones, caloriesJSON
cycleDaily strain, caloriesJSON
profileUser info (name, email)JSON
bodyHeight, weight, max HRJSON
summaryMulti-day health snapshot with averagesPretty
dashboardFull terminal dashboard with 7-day trendsPretty
trendsMulti-day averages with trend arrows ↑↓→Pretty
insightsHealth recommendationsPretty
chart <type>Interactive HTML chart (opens browser)HTML file
get <type> <id>Fetch single record by IDJSON
cycle-sleep <id>Sleep linked to a cycleJSON
cycle-recovery <id>Recovery linked to a cycleJSON

Chart types: sleep · recovery · strain · hrv · dashboard Get types: sleep (UUID string) · workout (UUID string) · cycle (integer)

Flags

FlagApplies toDescription
-n, --days <number>data + analysisDays of history (default: 7)
-d, --date <date>dataSpecific date (YYYY-MM-DD)
-s, --start <date>dataRange start
-e, --end <date>dataRange end
-l, --limit <n>dataMax results per page (max: 25)
-a, --alldataFetch all pages
-p, --prettydataHuman-readable output
-c, --colorsummaryColor-coded status indicators
--jsondashboard, trends, insightsRaw JSON output
-o, --output <file>chartSave HTML to file instead of opening browser
--sleep/--recovery/--workout/--cycle/--profile/--bodyglobalSelect data types

Key behaviors

  • Data commands → JSON by default; add --pretty for formatted output
  • Analysis commands → pretty by default; add --json for raw data
  • WHOOP day boundary is 4:00 AM, not midnight
  • Tokens stored at ~/.whoop-up/tokens.json, auto-refresh 15 min before expiry
  • trends --days only accepts 7, 14, or 30
  • chart commands open browser automatically; use -o file.html to save instead
  • get sleep <id> — id is a UUID string; get cycle <id> — id is an integer
  • Rate limits: 100 req/min, 10,000 req/day — avoid rapid repeated calls

Answering questions

User asksCommand
"How did I sleep last night?"whoop dashboard --json
"What's my recovery today?"whoop summary --color
"Show me my health overview"whoop dashboard
"How are my trends this week?"whoop trends --days 7 --json
"Analyze last 30 days"whoop trends --days 30 --json
"What are my health insights?"whoop insights
"Show me a chart / visualize my health"whoop chart dashboard -n 30 -o /tmp/whoop.html
"Show HRV chart"whoop chart hrv -n 30 -o /tmp/whoop-hrv.html
"Is my HRV improving?"whoop trends --days 14 --json
"How much did I train this week?"whoop workout -n 7 --pretty
"What was my sleep on 2026-01-15?"whoop sleep -d 2026-01-15 --pretty
"Show all data for last month"whoop --sleep --recovery --cycle --workout -n 30 --pretty

Key metrics

  • Recovery (0–100%): Green ≥67%, Yellow 34–66%, Red <34%
  • Strain (0–21): Daily exertion. Optimal target: Green day ~14, Yellow ~10, Red ~6
  • HRV (ms): Higher = better recovery. Track vs personal baseline, not population norms
  • RHR (bpm): Lower = better fitness. Rising RHR signals fatigue or illness
  • Sleep Performance (%): Actual sleep vs. sleep needed. Green ≥85%, Yellow ≥70%
  • Sleep Efficiency (%): Time asleep / time in bed. Target ≥85%
  • SpO2 (%): Blood oxygen. Normal 95–100%. Values <94% warrant attention
  • Skin temp (°C): Deviation from personal baseline — elevation may signal illness

Health analysis

When the user asks about health, trends, or wants deeper interpretation, use references/health_analysis.md for:

  • Science-backed interpretation of HRV, RHR, sleep stages, recovery, strain, SpO2
  • Normal ranges by age and fitness level
  • Pattern detection (sleep debt, overtraining signals, day-of-week effects)
  • Actionable recommendations based on data
  • Red flags that suggest medical consultation

Analysis workflow

  1. Statuswhoop summary --color (today's snapshot)
  2. Trendswhoop trends --days 14 --json (direction of key metrics)
  3. Patterns — correlate: late workouts → poor sleep, high strain → low HRV next day
  4. Insightswhoop insights (automated recommendations)
  5. Flags — RHR rising >5 bpm, HRV <80% of 7-day average, SpO2 <94%

Always include: "This is not medical advice."

God mode: composite commands for deep insights

Best single command for LLM analysis:

bash
whoop dashboard --json

Most data-dense: today's full snapshot (profile + recovery + sleep + cycle + workout) plus 7-day arrays of recovery, sleep, and cycle history — all in one JSON blob.

Full daily picture (formatted for human reading):

bash
whoop dashboard        # today + 7-day terminal dashboard
whoop insights         # health recommendations

30-day deep dive (maximum historical context):

bash
whoop trends --days 30 --json
whoop sleep -n 30 --all --pretty
whoop recovery -n 30 --all --pretty
whoop workout -n 30 --all --pretty

Visual analysis (save charts to files):

bash
whoop chart dashboard -n 30 -o /tmp/whoop-dashboard.html
whoop chart hrv -n 90 -o /tmp/whoop-hrv.html
whoop chart sleep -n 30 -o /tmp/whoop-sleep.html
whoop chart recovery -n 30 -o /tmp/whoop-recovery.html

Drill into a specific record (use IDs from dashboard --json output):

bash
whoop get sleep <uuid>          # full detail for one sleep record
whoop get cycle <id>            # full detail for one day's cycle
whoop cycle-sleep <cycleId>     # sleep linked to that cycle
whoop cycle-recovery <cycleId>  # recovery linked to that cycle

Recommended god mode workflow:

  1. whoop dashboard --json — current state + 7-day history
  2. whoop trends --days 30 --json — 30-day trend context
  3. whoop --sleep --recovery --workout --cycle -n 30 --all — raw data for all key metrics
  4. Feed all JSON to LLM: correlate HRV↔sleep, recovery↔strain, sleep duration↔workout performance
  5. whoop chart dashboard -n 30 -o /tmp/whoop.html — visual confirmation

Example output

whoop summary --color:

code
📊 7-Day Summary

🔴 Avg Recovery:  31.5%
💓 Avg HRV:       124.4ms
❤️  Avg RHR:       56.1bpm
🔴 Avg Sleep:     44.8% | 4.0h
🔥 Avg Strain:    6.8

whoop dashboard:

code
📅 2026-02-17 | YOUR_NAME

── Recovery ──────────────────────────
🔴 13% | HRV: 129ms (↑ vs 124 avg) | RHR: 60bpm (↑ vs 56 avg)
   SpO2: 96% | Skin: 33.1°C | Resp: 15.6/min

── Sleep ─────────────────────────────
😴 27% | 2.0h total | Efficiency: 100%
   Deep: 1.0h (49%) | REM: 0.6h (30%) | Light: 0.4h
   Disturbances: 1 | Consistency: 66%
   💤 Sleep debt: 2.1h | Need tonight: 9.7h

── Strain ────────────────────────────
🔥 4.1 / 6 optimal | 767 cal

── 7-Day Trends ──────────────────────
   HRV:      148 → 129ms ↓  (range 66-179)
   RHR:      49 → 60bpm ↑  (range 49-64)
   Recovery: 44 → 13% ↓
   Sleep:    4.6 → 2.0h ↓
   Strain:   6.8 avg (range 4.1-16.4)

whoop trends --days 7:

code
📊 7-Day Trends

💚 Recovery: 31.5% avg (5-85) ↓
💓 HRV: 124.4ms avg (66-179) ↓
❤️ RHR: 56.1bpm avg (49-64) ↑
😴 Sleep: 44.8% avg (25-78) ↓
🛏️ Hours: 4.3h avg (1.3-7.2) ↓
🔥 Strain: 6.8 avg (4.1-16.4) ↓

whoop insights:

code
💡 Insights & Recommendations

🔴 Red Recovery
   Recovery at 13% — body needs rest.
   → Prioritize rest, hydration, and sleep tonight.

🔴 Significant Sleep Debt
   You have 2.1 hours of accumulated sleep debt.
   → Try to get to bed 30-60 min earlier for the next few days.

References

  • references/health_analysis.md — science-backed health data interpretation guide