{"id":"8eae1d7f-6802-402a-ab88-80078d0ce8e7","entityType":"agent","slug":"clawhub-skills-andreasnlarsen-whoop-cli","name":"whoop-cli","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-andreasnlarsen-whoop-cli","canonicalPath":"/agent/clawhub-skills-andreasnlarsen-whoop-cli","generatedAt":"2026-10-10T04:39:36.750Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"whoop-cli --- name: whoop-cli description: Companion skill for @andreasnlarsen/whoop-cli: agent-friendly WHOOP access via stable CLI JSON (day briefs, health flags, trends, exports) without raw API plumbing. metadata: openclaw: requires: bins: - whoop env: - WHOOP_CLIENT_ID - WHOOP_CLIENT_SECRET - WHOOP_REDIRECT_URI primaryEnv: WHOOP_CLIENT_SECRET homepage: https://github.com/andreasnlarsen/whoop-cli install: - kind: node pack","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:andreasnlarsen:whoop-cli","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/andreasnlarsen/whoop-cli","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/andreasnlarsen/whoop-cli","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"whoop-cli --- name: whoop-cli description: Companion skill for @andreasnlarsen/whoop-cli: agent-friendly WHOOP access via stable CLI JSON (day briefs, health fl"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T03:36:24.442Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T03:36:24.442Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T03:36:24.442Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:andreasnlarsen:whoop-cli","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T04:39:36.750Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-andreasnlarsen-whoop-cli/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: whoop-cli\ndescription: Companion skill for @andreasnlarsen/whoop-cli: agent-friendly WHOOP access via stable CLI JSON (day briefs, health flags, trends, exports) without raw API plumbing.\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - whoop\n      env:\n        - WHOOP_CLIENT_ID\n        - WHOOP_CLIENT_SECRET\n        - WHOOP_REDIRECT_URI\n    primaryEnv: WHOOP_CLIENT_SECRET\n    homepage: https://github.com/andreasnlarsen/whoop-cli\n    install:\n      - kind: node\n        package: \"@andreasnlarsen/whoop-cli@0.3.1\"\n        bins:\n          - whoop\n        label: Install whoop-cli from npm\n---\n\n# whoop-cli\n\nUse the installed `whoop` command.\n\n## Security + credential handling (required)\n\n- Never ask users to paste client secrets/tokens into chat.\n- For first-time auth, the user should run login **locally on their own shell**.\n- Prefer read-only operational commands in agent flows (`summary`, `day-brief`, `health`, `trend`, `sync pull`).\n- Do not run `whoop auth login` unless the user explicitly asks for login help.\n- Tokens are stored locally at `~/.whoop-cli/profiles/<profile>.json` by the CLI.\n\n## Install / bootstrap\n\nIf `whoop` is missing:\n\n```bash\nnpm install -g @andreasnlarsen/whoop-cli@0.3.1\n```\n\nOptional OpenClaw skill install from package bundle:\n\n```bash\nwhoop openclaw install-skill --force\n```\n\n## Core checks\n\n1. `whoop auth status --json`\n2. If unauthenticated, ask the user to run local login:\n   - `whoop auth login --client-id ... --client-secret ... --redirect-uri ...`\n3. Validate:\n   - `whoop day-brief --json --pretty`\n\n## Useful commands\n\n- Daily:\n  - `whoop summary --json --pretty`\n  - `whoop day-brief --json --pretty`\n  - `whoop strain-plan --json --pretty`\n  - `whoop health flags --days 7 --json --pretty`\n- Activity analysis:\n  - `whoop activity list --days 30 --json --pretty`\n  - `whoop activity trend --days 30 --json --pretty`\n  - `whoop activity types --days 30 --json --pretty`\n  - training-only: `whoop activity trend --days 30 --labeled-only --json --pretty`\n\n### Activity interpretation guardrail (important)\n\n- WHOOP generic `activity` rows (often `sport_id=-1`) are auto-detected and may be unlabeled movement (housework/incidental activity), not intentional training.\n- Do not treat generic `activity` as confirmed training volume by default.\n- For coaching/training recommendations, default to `--labeled-only` and report both total vs filtered counts.\n\n### Agent filtering pattern (jq-friendly)\n\n- Canonical source: `whoop activity list --json`\n- Prefer built-in filters first (`--labeled-only`, `--generic-only`, `--sport-id`, `--sport-name`).\n- If custom slicing is needed and `jq` is available, filter shell-side from raw JSON (example):\n\n```bash\nwhoop activity list --days 30 --json | jq '.data.records | map(select(.sport_id != -1))'\n```\n\n- Export:\n  - `whoop sync pull --start YYYY-MM-DD --end YYYY-MM-DD --out ./whoop.jsonl --json --pretty`\n\n## Experiment protocol (agent-required)\n\n- Canonical state: `~/.whoop-cli/experiments.json` only.\n- Plan experiments with context at creation time:\n  - `whoop experiment plan --name ... --behavior ... --start-date YYYY-MM-DD [--end-date YYYY-MM-DD] --description ... --why ... --hypothesis ... --success-criteria ... --protocol ... --json --pretty`\n- Update context without creating duplicate state:\n  - `whoop experiment context --id ... [--description ... --why ... --hypothesis ... --success-criteria ... --protocol ...] --json --pretty`\n- Check lifecycle/status with:\n  - `whoop experiment status [--status planned|running|completed] [--id ...] --json --pretty`\n- Evaluate outcomes with:\n  - `whoop experiment report --id ... --json --pretty`\n- Profile scope is strict by default (active `--profile` only).\n  - Use `--all-profiles` only when cross-profile visibility is explicitly needed.\n- Prefer output field `sourceOfTruth` (path to canonical state file); `experimentsFile` is kept as compatibility alias.\n- Avoid duplicating experiment state into other files unless the user explicitly asks for separate notes.\n\n## Safety\n\n- Never print client secrets or raw tokens.\n- Keep API errors concise and actionable.\n- Treat this integration as unofficial/non-affiliated.\n","readmeExcerpt":"--- name: whoop-cli description: Companion skill for @andreasnlarsen/whoop-cli: agent-friendly WHOOP access via stable CLI JSON (day briefs, health flags, trends, exports) without raw API plumbing. metadata: openclaw: requires: bins: - whoop env: - WHOOP_CLIENT_ID - WHOOP_CLIENT_SECRET - WHOOP_REDIRECT_URI primaryEnv: WHOOP_CLIENT_SECRET homepage: https://github.com/andreasnlarsen/whoop-cli install: - kind: node pack","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npm install -g @andreasnlarsen/whoop-cli@0.3.1"},{"language":"bash","snippet":"whoop openclaw install-skill --force"},{"language":"bash","snippet":"whoop activity list --days 30 --json | jq '.data.records | map(select(.sport_id != -1))'"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"whoop-cli --- name: whoop-cli description: Companion skill for @andreasnlarsen/whoop-cli: agent-friendly WHOOP access via stable CLI JSON (day briefs, health flags, trends, exports) without raw API plumbing. metadata: openclaw: requires: bins: - whoop env: - WHOOP_CLIENT_ID - WHOOP_CLIENT_SECRET - WHOOP_REDIRECT_URI primaryEnv: WHOOP_CLIENT_SECRET homepage: https://github.com/andreasnlarsen/whoop-cli install: - kind: node pack","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":364,"uniquenessScore":70,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T04:39:36.750Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}