{
  "schemaVersion": "1.0",
  "item": {
    "slug": "whoop-openclaw-skill",
    "name": "Whoop Openclaw Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/vraj1512/whoop-openclaw-skill",
    "canonicalUrl": "https://clawhub.ai/vraj1512/whoop-openclaw-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/whoop-openclaw-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=whoop-openclaw-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/whoop_oauth.py",
      "scripts/morning_briefing.py",
      "scripts/whoop_client.py",
      "references/whoop-api.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/whoop-openclaw-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/whoop-openclaw-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/whoop-openclaw-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/whoop-openclaw-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/whoop-openclaw-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Whoop Integration",
        "body": "Interact with the Whoop API to fetch and analyze recovery, strain, sleep, HRV, and workout data."
      },
      {
        "title": "First-time Setup",
        "body": "Prerequisites:\n\nPython 3.7+\nrequests library: pip install requests\n\nStep 1: Create Whoop Developer App\n\nGo to https://app.whoop.com/ → Settings → Developer\nClick \"Create Application\"\nFill in the required fields:\n\nApplication Name: Your choice (e.g., \"Personal Whoop Assistant\")\nPrivacy Policy URL: You need a public URL (see options below)\nRedirect URI: You need a callback URL (see options below)\nWebhook URL: Leave blank (optional for basic usage)\n\n\nSave your Client ID and Client Secret (keep these private!)\n\nPrivacy Policy & Redirect URI Options:\n\nOption A - Quick GitHub Pages Setup:\n\nCreate a GitHub repo (e.g., whoop-oauth)\nAdd the privacy/redirect HTML files from references/oauth-pages/\nEnable GitHub Pages in repo settings\nUse URLs like:\n\nPrivacy: https://yourusername.github.io/whoop-oauth/privacy.html\nRedirect: https://yourusername.github.io/whoop-oauth/redirect.html\n\nOption B - Use your own domain:\n\nHost the HTML files on your existing website\n\nOption C - Local testing only:\n\nPrivacy: http://localhost/privacy.html (Whoop may not accept this)\nRedirect: http://localhost:8080/callback\n\nStep 2: Complete OAuth Flow\n\nCreate whoop-config.json with your app credentials:\n{\n  \"client_id\": \"your-client-id-here\",\n  \"client_secret\": \"your-client-secret-here\",\n  \"redirect_uri\": \"https://yourusername.github.io/whoop-oauth/redirect.html\"\n}\n\n\n\nGenerate authorization URL and authorize:\npython3 scripts/whoop_oauth.py --config whoop-config.json\n\n\n\nClick the authorization URL, log in to Whoop, and authorize\n\n\nCopy the authorization code from the redirect page\n\n\nExchange code for access token:\npython3 scripts/whoop_oauth.py --config whoop-config.json exchange <CODE>\n\n\n\nToken is automatically saved to ~/.whoop_token\n\nStep 3: Test Connection\n\npython3 scripts/whoop_client.py --action profile\n\nYou should see your Whoop profile information!"
      },
      {
        "title": "Common Commands",
        "body": "Today's summary (recovery + sleep + strain):\n\npython3 scripts/whoop_client.py --action today\n\nSpecific metrics:\n\n# Recovery data (last 7 days)\npython3 scripts/whoop_client.py --action recovery --days 7\n\n# Sleep data\npython3 scripts/whoop_client.py --action sleep --days 7\n\n# Cycle data (strain, HRV, calories)\npython3 scripts/whoop_client.py --action cycle --days 7\n\n# Workout history\npython3 scripts/whoop_client.py --action workout --days 10\n\nGet raw JSON (for parsing/analysis):\n\npython3 scripts/whoop_client.py --action today --json"
      },
      {
        "title": "Morning Briefing",
        "body": "Fetch today's data:\npython3 scripts/whoop_client.py --action today --json\n\n\n\nAnalyze and provide insights:\n\nRecovery score: Green (67-100%), Yellow (34-66%), Red (0-33%)\nHRV: Compare to user's baseline (track trends, not absolute values)\nSleep: Check duration, quality, debt/credit\nRecommendations: Based on recovery, suggest high/moderate/low strain day\n\nExample briefing:\n\n\"🔋 Recovery: 85% (Green) - Your body is well-recovered!\n📊 HRV: 68ms (up 8% from baseline)\n❤️ RHR: 52 bpm (stable)\n😴 Sleep: 8.2 hours, 92% performance\n💪 Ready for a high-strain day. Go crush that workout!\""
      },
      {
        "title": "Weekly Analysis",
        "body": "Fetch week of data:\npython3 scripts/whoop_client.py --action recovery --days 7 --json\npython3 scripts/whoop_client.py --action sleep --days 7 --json\npython3 scripts/whoop_client.py --action cycle --days 7 --json\n\n\n\nIdentify trends:\n\nHRV trend (increasing/decreasing)\nSleep consistency\nStrain vs recovery balance\nPatterns (e.g., low recovery after high strain days)\n\n\n\nProvide recommendations:\n\nAdjust training load\nImprove sleep habits\nPlan recovery days"
      },
      {
        "title": "Real-time Alerts",
        "body": "Monitor for warning signs:\n\nHRV drops >20% from baseline → Consider rest day\nRecovery <33% for 2+ consecutive days → Prioritize recovery\nSleep performance <50% for 3+ days → Focus on sleep\nHigh strain (>17) with low recovery (<40%) → Risk of overtraining"
      },
      {
        "title": "Data Interpretation Guide",
        "body": "For detailed metric interpretation and optimal ranges, see references/whoop-api.md.\n\nKey principles:\n\nTrack trends, not absolute values - HRV/RHR baselines vary by individual\nMatch strain to recovery - High recovery = can handle high strain\nConsistency matters - Regular sleep schedule improves recovery\nListen to your body - Metrics are guides, not rules"
      },
      {
        "title": "Setup Issues",
        "body": "\"Privacy Policy URL must be HTTPS\":\n\nWhoop requires HTTPS URLs (not HTTP)\nUse GitHub Pages, Netlify, or your own HTTPS domain\nLocal URLs (localhost) won't work for production apps\n\n\"Redirect URI mismatch\":\n\nThe redirect URI must match EXACTLY what you configured in Whoop\nCheck for trailing slashes, http vs https, etc.\nExample: https://example.com/redirect.html ≠ https://example.com/redirect.html/\n\nOAuth code expired:\n\nAuthorization codes expire quickly (usually within 10 minutes)\nGenerate a new auth URL and try again immediately"
      },
      {
        "title": "API Issues",
        "body": "401 Unauthorized:\n\nToken expired → Re-run OAuth flow to get a new token\nInvalid token → Check ~/.whoop_token file exists and contains valid token\nWrong scopes → Make sure you authorized all required scopes\n\n404 Not Found (for sleep/cycle endpoints):\n\nSome endpoints may not be available depending on API version\nCheck Whoop developer docs for current endpoint structure\nTry fetching recovery data which includes sleep-related metrics\n\nNo data returned:\n\nWhoop needs to be synced recently (open Whoop app to sync)\nCheck date range (data only available for dates when you wore Whoop)\nNew users may have limited historical data\n\nRate limit errors:\n\nDefault limits: 10,000/day, 100/minute\nSpread out requests if hitting limits\nUse pagination (next_token) for large data fetches"
      },
      {
        "title": "Data Issues",
        "body": "Missing metrics:\n\nSome metrics require Whoop 4.0 (older devices have limited data)\nSleep data delayed ~1-2 hours after waking (processing time)\nRecovery score requires previous night's sleep to be processed\n\nUnexpected values:\n\nHRV and RHR vary by individual - track trends, not absolute values\nRecovery score can be affected by alcohol, illness, stress\nStrain accumulates throughout the day (starts low in morning)"
      },
      {
        "title": "Getting Help",
        "body": "Check Whoop Developer Docs: https://developer.whoop.com/\nReview your app settings: https://app.whoop.com/settings/developer\nTest with Whoop's API explorer (if available)\nVerify your token with --action profile (simplest endpoint)"
      }
    ],
    "body": "Whoop Integration\n\nInteract with the Whoop API to fetch and analyze recovery, strain, sleep, HRV, and workout data.\n\nQuick Start\nFirst-time Setup\n\nPrerequisites:\n\nPython 3.7+\nrequests library: pip install requests\n\nStep 1: Create Whoop Developer App\n\nGo to https://app.whoop.com/ → Settings → Developer\nClick \"Create Application\"\nFill in the required fields:\nApplication Name: Your choice (e.g., \"Personal Whoop Assistant\")\nPrivacy Policy URL: You need a public URL (see options below)\nRedirect URI: You need a callback URL (see options below)\nWebhook URL: Leave blank (optional for basic usage)\nSave your Client ID and Client Secret (keep these private!)\n\nPrivacy Policy & Redirect URI Options:\n\nOption A - Quick GitHub Pages Setup:\n\nCreate a GitHub repo (e.g., whoop-oauth)\nAdd the privacy/redirect HTML files from references/oauth-pages/\nEnable GitHub Pages in repo settings\nUse URLs like:\nPrivacy: https://yourusername.github.io/whoop-oauth/privacy.html\nRedirect: https://yourusername.github.io/whoop-oauth/redirect.html\n\nOption B - Use your own domain:\n\nHost the HTML files on your existing website\n\nOption C - Local testing only:\n\nPrivacy: http://localhost/privacy.html (Whoop may not accept this)\nRedirect: http://localhost:8080/callback\n\nStep 2: Complete OAuth Flow\n\nCreate whoop-config.json with your app credentials:\n\n{\n  \"client_id\": \"your-client-id-here\",\n  \"client_secret\": \"your-client-secret-here\",\n  \"redirect_uri\": \"https://yourusername.github.io/whoop-oauth/redirect.html\"\n}\n\n\nGenerate authorization URL and authorize:\n\npython3 scripts/whoop_oauth.py --config whoop-config.json\n\n\nClick the authorization URL, log in to Whoop, and authorize\n\nCopy the authorization code from the redirect page\n\nExchange code for access token:\n\npython3 scripts/whoop_oauth.py --config whoop-config.json exchange <CODE>\n\n\nToken is automatically saved to ~/.whoop_token\n\nStep 3: Test Connection\n\npython3 scripts/whoop_client.py --action profile\n\n\nYou should see your Whoop profile information!\n\nCommon Commands\n\nToday's summary (recovery + sleep + strain):\n\npython3 scripts/whoop_client.py --action today\n\n\nSpecific metrics:\n\n# Recovery data (last 7 days)\npython3 scripts/whoop_client.py --action recovery --days 7\n\n# Sleep data\npython3 scripts/whoop_client.py --action sleep --days 7\n\n# Cycle data (strain, HRV, calories)\npython3 scripts/whoop_client.py --action cycle --days 7\n\n# Workout history\npython3 scripts/whoop_client.py --action workout --days 10\n\n\nGet raw JSON (for parsing/analysis):\n\npython3 scripts/whoop_client.py --action today --json\n\nAnalysis Workflows\nMorning Briefing\n\nFetch today's data:\n\npython3 scripts/whoop_client.py --action today --json\n\n\nAnalyze and provide insights:\n\nRecovery score: Green (67-100%), Yellow (34-66%), Red (0-33%)\nHRV: Compare to user's baseline (track trends, not absolute values)\nSleep: Check duration, quality, debt/credit\nRecommendations: Based on recovery, suggest high/moderate/low strain day\n\nExample briefing:\n\n\"🔋 Recovery: 85% (Green) - Your body is well-recovered!\n\n📊 HRV: 68ms (up 8% from baseline) ❤️ RHR: 52 bpm (stable)\n\n😴 Sleep: 8.2 hours, 92% performance\n\n💪 Ready for a high-strain day. Go crush that workout!\"\n\nWeekly Analysis\n\nFetch week of data:\n\npython3 scripts/whoop_client.py --action recovery --days 7 --json\npython3 scripts/whoop_client.py --action sleep --days 7 --json\npython3 scripts/whoop_client.py --action cycle --days 7 --json\n\n\nIdentify trends:\n\nHRV trend (increasing/decreasing)\nSleep consistency\nStrain vs recovery balance\nPatterns (e.g., low recovery after high strain days)\n\nProvide recommendations:\n\nAdjust training load\nImprove sleep habits\nPlan recovery days\nReal-time Alerts\n\nMonitor for warning signs:\n\nHRV drops >20% from baseline → Consider rest day\nRecovery <33% for 2+ consecutive days → Prioritize recovery\nSleep performance <50% for 3+ days → Focus on sleep\nHigh strain (>17) with low recovery (<40%) → Risk of overtraining\nData Interpretation Guide\n\nFor detailed metric interpretation and optimal ranges, see references/whoop-api.md.\n\nKey principles:\n\nTrack trends, not absolute values - HRV/RHR baselines vary by individual\nMatch strain to recovery - High recovery = can handle high strain\nConsistency matters - Regular sleep schedule improves recovery\nListen to your body - Metrics are guides, not rules\nTroubleshooting\nSetup Issues\n\n\"Privacy Policy URL must be HTTPS\":\n\nWhoop requires HTTPS URLs (not HTTP)\nUse GitHub Pages, Netlify, or your own HTTPS domain\nLocal URLs (localhost) won't work for production apps\n\n\"Redirect URI mismatch\":\n\nThe redirect URI must match EXACTLY what you configured in Whoop\nCheck for trailing slashes, http vs https, etc.\nExample: https://example.com/redirect.html ≠ https://example.com/redirect.html/\n\nOAuth code expired:\n\nAuthorization codes expire quickly (usually within 10 minutes)\nGenerate a new auth URL and try again immediately\nAPI Issues\n\n401 Unauthorized:\n\nToken expired → Re-run OAuth flow to get a new token\nInvalid token → Check ~/.whoop_token file exists and contains valid token\nWrong scopes → Make sure you authorized all required scopes\n\n404 Not Found (for sleep/cycle endpoints):\n\nSome endpoints may not be available depending on API version\nCheck Whoop developer docs for current endpoint structure\nTry fetching recovery data which includes sleep-related metrics\n\nNo data returned:\n\nWhoop needs to be synced recently (open Whoop app to sync)\nCheck date range (data only available for dates when you wore Whoop)\nNew users may have limited historical data\n\nRate limit errors:\n\nDefault limits: 10,000/day, 100/minute\nSpread out requests if hitting limits\nUse pagination (next_token) for large data fetches\nData Issues\n\nMissing metrics:\n\nSome metrics require Whoop 4.0 (older devices have limited data)\nSleep data delayed ~1-2 hours after waking (processing time)\nRecovery score requires previous night's sleep to be processed\n\nUnexpected values:\n\nHRV and RHR vary by individual - track trends, not absolute values\nRecovery score can be affected by alcohol, illness, stress\nStrain accumulates throughout the day (starts low in morning)\nGetting Help\nCheck Whoop Developer Docs: https://developer.whoop.com/\nReview your app settings: https://app.whoop.com/settings/developer\nTest with Whoop's API explorer (if available)\nVerify your token with --action profile (simplest endpoint)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/vraj1512/whoop-openclaw-skill",
    "publisherUrl": "https://clawhub.ai/vraj1512/whoop-openclaw-skill",
    "owner": "vraj1512",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/whoop-openclaw-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/whoop-openclaw-skill",
    "agentUrl": "https://openagent3.xyz/skills/whoop-openclaw-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/whoop-openclaw-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/whoop-openclaw-skill/agent.md"
  }
}