Install
openclaw skills install whoop-cliUse whoop-cli to fetch WHOOP data, generate day briefs/health flags, and export trend data for automation workflows.
openclaw skills install whoop-cliUse the installed whoop command.
summary, day-brief, health, trend, sync pull).whoop auth login unless the user explicitly asks for login help.~/.whoop-cli/profiles/<profile>.json by the CLI.If whoop is missing:
npm install -g @andreasnlarsen/whoop-cli@0.3.1
Optional OpenClaw skill install from package bundle:
whoop openclaw install-skill --force
whoop auth status --jsonwhoop auth login --client-id ... --client-secret ... --redirect-uri ...whoop day-brief --json --prettywhoop summary --json --prettywhoop day-brief --json --prettywhoop strain-plan --json --prettywhoop health flags --days 7 --json --prettywhoop activity list --days 30 --json --prettywhoop activity trend --days 30 --json --prettywhoop activity types --days 30 --json --prettywhoop activity trend --days 30 --labeled-only --json --prettyactivity rows (often sport_id=-1) are auto-detected and may be unlabeled movement (housework/incidental activity), not intentional training.activity as confirmed training volume by default.--labeled-only and report both total vs filtered counts.whoop activity list --json--labeled-only, --generic-only, --sport-id, --sport-name).jq is available, filter shell-side from raw JSON (example):whoop activity list --days 30 --json | jq '.data.records | map(select(.sport_id != -1))'
whoop sync pull --start YYYY-MM-DD --end YYYY-MM-DD --out ./whoop.jsonl --json --pretty~/.whoop-cli/experiments.json only.whoop experiment plan --name ... --behavior ... --start-date YYYY-MM-DD [--end-date YYYY-MM-DD] --description ... --why ... --hypothesis ... --success-criteria ... --protocol ... --json --prettywhoop experiment context --id ... [--description ... --why ... --hypothesis ... --success-criteria ... --protocol ...] --json --prettywhoop experiment status [--status planned|running|completed] [--id ...] --json --prettywhoop experiment report --id ... --json --pretty--profile only).
--all-profiles only when cross-profile visibility is explicitly needed.sourceOfTruth (path to canonical state file); experimentsFile is kept as compatibility alias.