pp-whoop
Original:🇺🇸 English
Translated
Printing Press CLI for Whoop.
2installs
Added on
NPX Install
npx skill4agent add mvanhorn/printing-press-library pp-whoopTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/devices/whoop/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See AGENTS.md "Generated artifacts: registry.json, cli-skills/". -->
resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code means at least one match; exit code means no confident match — fall back to or use a narrower query.
Whoop — Printing Press CLI
Prerequisites: Install the CLI
This skill drives the binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
whoop-pp-cli- Install via the Printing Press installer:
bash
npx -y @mvanhorn/printing-press install whoop --cli-only - Verify:
whoop-pp-cli --version - Ensure (or
$GOPATH/bin) is on$HOME/go/bin.$PATH
If the install fails before this CLI has a public-library category, install Node or use the category-specific Go fallback after publish.
npxIf reports "command not found" after install, the install step did not put the binary on . Do not proceed with skill commands until verification succeeds.
--version$PATHCommand Reference
activity — Manage activity
- — Get the sleep for the specified ID
whoop-pp-cli activity get-sleep-by-id - — Get all sleeps for a user, paginated. Results are sorted by start time in descending order.
whoop-pp-cli activity get-sleep-collection - — Get the workout for the specified ID
whoop-pp-cli activity get-workout-by-id - — Get all workouts for a user, paginated. Results are sorted by start time in descending order.
whoop-pp-cli activity get-workout-collection
activity-mapping — Manage activity mapping
- — Lookup the V2 UUID for a given V1 activity ID
whoop-pp-cli activity-mapping <activityV1Id>
cycle — Manage cycle
- — Get the cycle for the specified ID
whoop-pp-cli cycle get-by-id - — Get all physiological cycles for a user, paginated. Results are sorted by start time in descending order.
whoop-pp-cli cycle get-collection
partner — Endpoints for trusted WHOOP partner operations
- — Generates test user and lab requisition data for partner integration testing. This endpoint is only available in...
whoop-pp-cli partner add-test-data - — Retrieves a lab requisition with its associated service requests by its unique identifier. The requesting partner...
whoop-pp-cli partner get-lab-requisition-by-id - — Retrieves a service request by its unique identifier. The requesting partner must be an owner of the service request.
whoop-pp-cli partner get-service-request-by-id - — Exchanges partner client credentials for an access token.
whoop-pp-cli partner request-token - — Updates the business status of a service request task. The requesting partner must be an owner of the service request.
whoop-pp-cli partner update-service-request-status - — Creates a diagnostic report with results for a service request. The requesting partner must be an owner of the...
whoop-pp-cli partner upload-diagnostic-report-results
recovery — Manage recovery
- — Get all recoveries for a user, paginated. Results are sorted by start time of the related sleep in descending order.
whoop-pp-cli recovery
user — Endpoints for retrieving user profile and measurement data.
- — Retrieves the body measurements (height, weight, max heart rate) for the authenticated user.
whoop-pp-cli user get-body-measurement - — Retrieves the basic profile information (name, email) for the authenticated user.
whoop-pp-cli user get-profile-basic - — Revoke the access token granted by the user. If the associated OAuth client is configured to receive webhooks, it...
whoop-pp-cli user revoke-oauth-access
Finding the right command
When you know what you want to do but not which command does it, ask the CLI directly:
bash
whoop-pp-cli which "<capability in your own words>"which02--helpAuth Setup
Store your access token:
bash
whoop-pp-cli auth set-token YOUR_TOKEN_HEREOr set as an environment variable.
WHOOP_OAUTHRun to verify setup.
whoop-pp-cli doctorAgent Mode
Add to any command. Expands to: .
--agent--json --compact --no-input --no-color --yes-
Pipeable — JSON on stdout, errors on stderr
-
Filterable —keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
--selectbashwhoop-pp-cli activity-mapping mock-value --agent --select id,name,status -
Previewable —shows the request without sending
--dry-run -
Offline-friendly — sync/search commands can use the local SQLite store when available
-
Non-interactive — never prompts, every input is a flag
-
Explicit retries — useonly when an already-existing create should count as success, and
--idempotentonly when a missing delete target should count as success--ignore-missing
Response envelope
Commands that read from the local store or the API wrap output in a provenance envelope:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse for data and to know whether it's live or local. A human-readable summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.
.results.meta.sourceN results (live)Agent Feedback
When you (or the agent) notice something off about this CLI, record it:
whoop-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
whoop-pp-cli feedback --stdin < notes.txt
whoop-pp-cli feedback list --json --limit 10Entries are stored locally at . They are never POSTed unless is set AND either is passed or . Default behavior is local-only.
~/.whoop-pp-cli/feedback.jsonlWHOOP_FEEDBACK_ENDPOINT--sendWHOOP_FEEDBACK_AUTO_SEND=trueWrite what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Output Delivery
Every command accepts . The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
--deliver <sink>| Sink | Effect |
|---|---|
| Default; write to stdout only |
| Atomically write output to |
| POST the output body to the URL ( |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
Named Profiles
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
whoop-pp-cli profile save briefing --json
whoop-pp-cli --profile briefing activity-mapping mock-value
whoop-pp-cli profile list --json
whoop-pp-cli profile show briefing
whoop-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. lists all available profiles under so introspecting agents discover them at runtime.
agent-contextavailable_profilesExit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Argument Parsing
Parse :
$ARGUMENTS- Empty, , or
help→ show--helpoutputwhoop-pp-cli --help - Starts with → ends with
install→ MCP installation; otherwise → see Prerequisites abovemcp - Anything else → Direct Use (execute as CLI command with )
--agent
MCP Server Installation
Install the MCP binary from this CLI's published public-library entry or pre-built release, then register it:
bash
claude mcp add whoop-pp-mcp -- whoop-pp-mcpVerify:
claude mcp listDirect Use
- Check if installed: If not found, offer to install (see Prerequisites at the top of this skill).
which whoop-pp-cli - Match the user query to the best command from the Unique Capabilities and Command Reference above.
- Execute with the flag:
--agentbashwhoop-pp-cli <command> [subcommand] [args] --agent - If ambiguous, drill into subcommand help: .
whoop-pp-cli <command> --help