{
  "schemaVersion": "1.0",
  "item": {
    "slug": "oura-ring-skill",
    "name": "Oura Ring",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/sameerbajaj/oura-ring-skill",
    "canonicalUrl": "https://clawhub.ai/sameerbajaj/oura-ring-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/oura-ring-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=oura-ring-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "cli.py",
      "probe_v2.py",
      "probe_v2_sessions.py",
      "requirements.txt",
      "scripts/morning_brief.sh"
    ],
    "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. 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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/oura-ring-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/oura-ring-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/oura-ring-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/oura-ring-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/oura-ring-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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Oura Ring (V1)",
        "body": "This skill provides a small, public-facing reference implementation for pulling Readiness, Sleep, and 7-day Readiness trends from the Oura V2 API (/v2/usercollection/*)."
      },
      {
        "title": "Quick Reference",
        "body": "CLI (raw data):\n\npython3 skills/oura-ring/cli.py --format json --pretty readiness\npython3 skills/oura-ring/cli.py --format json --pretty sleep\npython3 skills/oura-ring/cli.py --format json --pretty trends\npython3 skills/oura-ring/cli.py --format json --pretty resilience\npython3 skills/oura-ring/cli.py --format json --pretty stress\n\n\n\nMorning brief (formatted):\n\n./skills/oura-ring/scripts/morning_brief.sh"
      },
      {
        "title": "Features",
        "body": "Morning Readiness Brief: Tactical recommendation based on latest scores.\nTrend Analysis: Insights on score changes over the last 7 days.\nResilience Tracking: Real-time capacity mapping for stress management."
      },
      {
        "title": "1) Install dependencies (recommended: venv)",
        "body": "macOS/Homebrew Python often blocks system-wide pip install (PEP 668), so use a virtualenv:\n\npython3 -m venv skills/oura-ring/.venv\nsource skills/oura-ring/.venv/bin/activate\npython -m pip install -r skills/oura-ring/requirements.txt"
      },
      {
        "title": "2) Create your .env",
        "body": "Create skills/oura-ring/.env:\n\ncp skills/oura-ring/.env.example skills/oura-ring/.env\n# then edit skills/oura-ring/.env\n\nThe CLI reads:\n\nOURA_TOKEN (required)\nOURA_BASE_URL (optional; defaults to https://api.ouraring.com/v2/usercollection)"
      },
      {
        "title": "Getting an Oura token (OAuth2)",
        "body": "Oura V2 uses OAuth2 bearer tokens.\n\nCreate an Oura API application:\n\nhttps://cloud.ouraring.com/oauth/applications\n\n\nSet a Redirect URI (for local testing, something like http://localhost:8080/callback).\nOpen the authorization URL (replace CLIENT_ID, REDIRECT_URI, and scope):\n\nhttps://cloud.ouraring.com/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=readiness%20sleep\n\nAfter approving, you’ll be redirected to your Redirect URI with a code=... query parameter.\nExchange the code for an access token:\n\ncurl -X POST https://api.ouraring.com/oauth/token \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d grant_type=authorization_code \\\n  -d client_id=CLIENT_ID \\\n  -d client_secret=CLIENT_SECRET \\\n  -d redirect_uri=REDIRECT_URI \\\n  -d code=AUTH_CODE\n\nPut the returned access_token into skills/oura-ring/.env as OURA_TOKEN=....\n\nNotes:\n\nAccess tokens can expire; you may need to refresh using the refresh_token.\nDo not commit your .env file."
      },
      {
        "title": "Readiness",
        "body": "python3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty readiness"
      },
      {
        "title": "Sleep",
        "body": "python3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty sleep"
      },
      {
        "title": "Trends (last 7 days; paginated)",
        "body": "python3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty trends"
      },
      {
        "title": "Wrapper: Morning Readiness Brief",
        "body": "./skills/oura-ring/scripts/morning_brief.sh\n\nOverride the env file location:\n\nOURA_ENV_FILE=/path/to/.env ./skills/oura-ring/scripts/morning_brief.sh\n\nRun in mock mode (no token):\n\nOURA_MOCK=1 ./skills/oura-ring/scripts/morning_brief.sh"
      },
      {
        "title": "Verification (no token required)",
        "body": "python3 skills/oura-ring/cli.py --mock readiness --format json\npython3 skills/oura-ring/cli.py --mock sleep --format json\npython3 skills/oura-ring/cli.py --mock trends --format json"
      }
    ],
    "body": "Oura Ring (V1)\n\nThis skill provides a small, public-facing reference implementation for pulling Readiness, Sleep, and 7-day Readiness trends from the Oura V2 API (/v2/usercollection/*).\n\nQuick Reference\n\nCLI (raw data):\n\npython3 skills/oura-ring/cli.py --format json --pretty readiness\npython3 skills/oura-ring/cli.py --format json --pretty sleep\npython3 skills/oura-ring/cli.py --format json --pretty trends\npython3 skills/oura-ring/cli.py --format json --pretty resilience\npython3 skills/oura-ring/cli.py --format json --pretty stress\n\nMorning brief (formatted):\n\n./skills/oura-ring/scripts/morning_brief.sh\nFeatures\nMorning Readiness Brief: Tactical recommendation based on latest scores.\nTrend Analysis: Insights on score changes over the last 7 days.\nResilience Tracking: Real-time capacity mapping for stress management.\nSetup\n1) Install dependencies (recommended: venv)\n\nmacOS/Homebrew Python often blocks system-wide pip install (PEP 668), so use a virtualenv:\n\npython3 -m venv skills/oura-ring/.venv\nsource skills/oura-ring/.venv/bin/activate\npython -m pip install -r skills/oura-ring/requirements.txt\n\n2) Create your .env\n\nCreate skills/oura-ring/.env:\n\ncp skills/oura-ring/.env.example skills/oura-ring/.env\n# then edit skills/oura-ring/.env\n\n\nThe CLI reads:\n\nOURA_TOKEN (required)\nOURA_BASE_URL (optional; defaults to https://api.ouraring.com/v2/usercollection)\nGetting an Oura token (OAuth2)\n\nOura V2 uses OAuth2 bearer tokens.\n\nCreate an Oura API application:\nhttps://cloud.ouraring.com/oauth/applications\nSet a Redirect URI (for local testing, something like http://localhost:8080/callback).\nOpen the authorization URL (replace CLIENT_ID, REDIRECT_URI, and scope):\nhttps://cloud.ouraring.com/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=readiness%20sleep\n\nAfter approving, you’ll be redirected to your Redirect URI with a code=... query parameter.\nExchange the code for an access token:\ncurl -X POST https://api.ouraring.com/oauth/token \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d grant_type=authorization_code \\\n  -d client_id=CLIENT_ID \\\n  -d client_secret=CLIENT_SECRET \\\n  -d redirect_uri=REDIRECT_URI \\\n  -d code=AUTH_CODE\n\nPut the returned access_token into skills/oura-ring/.env as OURA_TOKEN=....\n\nNotes:\n\nAccess tokens can expire; you may need to refresh using the refresh_token.\nDo not commit your .env file.\nUsage\nReadiness\npython3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty readiness\n\nSleep\npython3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty sleep\n\nTrends (last 7 days; paginated)\npython3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty trends\n\nWrapper: Morning Readiness Brief\n./skills/oura-ring/scripts/morning_brief.sh\n\n\nOverride the env file location:\n\nOURA_ENV_FILE=/path/to/.env ./skills/oura-ring/scripts/morning_brief.sh\n\n\nRun in mock mode (no token):\n\nOURA_MOCK=1 ./skills/oura-ring/scripts/morning_brief.sh\n\nVerification (no token required)\npython3 skills/oura-ring/cli.py --mock readiness --format json\npython3 skills/oura-ring/cli.py --mock sleep --format json\npython3 skills/oura-ring/cli.py --mock trends --format json"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/sameerbajaj/oura-ring-skill",
    "publisherUrl": "https://clawhub.ai/sameerbajaj/oura-ring-skill",
    "owner": "sameerbajaj",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/oura-ring-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/oura-ring-skill",
    "agentUrl": "https://openagent3.xyz/skills/oura-ring-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/oura-ring-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/oura-ring-skill/agent.md"
  }
}