# Whoop Morning

> Check WHOOP recovery/sleep/strain each morning and send suggestions.

- Skill: `modbender/whoop-morning` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add modbender/whoop-morning`
- Raw SKILL.md: https://api.skillmd.com/api/skills/modbender/whoop-morning/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: modbender (https://skillmd.com/u/modbender)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/modbender/whoop-morning

---


# whoop-morning

Morning WHOOP check-in:
- fetches your latest WHOOP data (Recovery, Sleep, Cycle/Strain)
- generates a short set of suggestions for the day

## Setup

### 1) Create WHOOP OAuth credentials

You already have:
- `WHOOP_CLIENT_ID`
- `WHOOP_CLIENT_SECRET`

Store these in `~/.clawdbot/.env`.

### 2) Authorize once (get refresh token)

Run:

```bash
/home/claw/clawd/skills/whoop-morning/bin/whoop-auth --scopes offline read:recovery read:sleep read:cycles read:profile
```

This prints an authorization URL.
Open it in your browser, approve, and paste the `code` back into the terminal.

The script will exchange it for tokens and write `WHOOP_REFRESH_TOKEN=...` to `~/.clawdbot/.env`.

### 3) Run the morning report

```bash
/home/claw/clawd/skills/whoop-morning/bin/whoop-morning
```

## Automation

Recommended: schedule with Gateway cron (daily, morning).
The cron job should run `whoop-morning` and send its output as a message.

## Notes

- This skill uses WHOOP OAuth2:
  - auth URL: `https://api.prod.whoop.com/oauth/oauth2/auth`
  - token URL: `https://api.prod.whoop.com/oauth/oauth2/token`
- WHOOP rotates refresh tokens; avoid running multiple refreshes in parallel.
- API availability/fields can change; if WHOOP returns 401/400 during token refresh, re-run `whoop-auth`.

