# Send Oura Ring Data to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- 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.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ouracli",
    "name": "Oura Ring Data",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/visionik/ouracli",
    "canonicalUrl": "https://clawhub.ai/visionik/ouracli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/ouracli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ouracli",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "Taskfile.yml",
      "pyproject.toml",
      "src/ouracli/__init__.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "ouracli",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T19:29:06.970Z",
      "expiresAt": "2026-05-13T19:29:06.970Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ouracli",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ouracli",
        "contentDisposition": "attachment; filename=\"ouracli-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "ouracli"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ouracli"
    },
    "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."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ouracli",
    "downloadUrl": "https://openagent3.xyz/downloads/ouracli",
    "agentUrl": "https://openagent3.xyz/skills/ouracli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ouracli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ouracli/agent.md"
  }
}
```
## Documentation

### Oura Ring Data Access

Retrieves health and fitness data from the Oura Ring using the ouracli command-line interface.

### CRITICAL: Authentication Required

ALWAYS check for authentication before running ouracli commands. The tool requires a PERSONAL_ACCESS_TOKEN environment variable.

Token location: secrets/oura.env or ~/.secrets/oura.env
If commands fail with authentication errors, inform the user to obtain a token from: https://cloud.ouraring.com/personal-access-tokens

### Core Health Metrics

activity - Daily activity (steps, MET values, calories)
sleep - Sleep data (stages, efficiency, heart rate)
readiness - Readiness scores and contributors
heartrate - Time-series heart rate data (5-minute resolution)
spo2 - Blood oxygen saturation data
stress - Daily stress levels

### Additional Data

workout - Workout sessions
session - Activity sessions
tag - User-added tags
rest-mode - Rest mode periods
personal-info - User profile information
all - All available data types

### ✅ SUPPORTED FORMATS (Use These!)

# Single date (no quotes needed)
ouracli activity 2025-12-25
ouracli sleep today
ouracli heartrate yesterday

# Relative ranges from today (MUST use quotes)
ouracli activity "7 days"      # Last 7 days including today
ouracli sleep "30 days"        # Last 30 days
ouracli readiness "2 weeks"    # Last 2 weeks
ouracli stress "1 month"       # Last month

# Date + duration (MUST use quotes)
ouracli activity "2025-12-01 28 days"    # 28 days starting Dec 1
ouracli sleep "2025-09-23 7 days"        # Week starting Sept 23

⚠️ CRITICAL: Use quotes when the date range contains spaces!

### ❌ UNSUPPORTED FORMATS (DO NOT USE)

# ❌ WRONG - Two separate dates
ouracli activity 2025-09-23 2025-09-30

# ❌ WRONG - "to" syntax
ouracli activity "2025-09-23 to 2025-09-30"

# ❌ WRONG - Range operators
ouracli activity "2025-09-23..2025-09-30"

# ❌ WRONG - Relative past expressions
ouracli activity "3 months ago"

### Converting Date Ranges

If user requests data between two specific dates:

Step 1: Calculate the number of days (inclusive)

Example: Sept 23 to Sept 30 = 7 days
         Dec 1 to Dec 31 = 30 days

Step 2: Use the "date + duration" format

# ✅ CORRECT
ouracli activity "2025-09-23 7 days"
ouracli activity "2025-12-01 30 days"

### Output Formats

ALWAYS use --json for programmatic data analysis. This is the most reliable format for parsing.

# ✅ RECOMMENDED for AI analysis
ouracli activity "7 days" --json

# Other formats (human-readable)
ouracli activity today --tree        # Default: tree structure
ouracli activity "7 days" --markdown # Markdown with charts
ouracli activity "7 days" --html > activity.html  # Interactive HTML charts
ouracli activity "7 days" --dataframe  # Pandas DataFrame format

### Quick Data Check

# Today's activity
ouracli activity today --json

# Recent sleep data
ouracli sleep "7 days" --json

# Current readiness
ouracli readiness today --json

### Detailed Analysis

# Weekly health summary
ouracli all "7 days" --json

# Monthly activity report
ouracli activity "30 days" --json

# Heart rate for specific date
ouracli heartrate "2025-12-15 1 days" --json

### Multi-Day Reports

# All data grouped by day (HTML report)
ouracli all "7 days" --by-day --html > weekly-report.html

# All data grouped by type
ouracli all "7 days" --by-method --json

### Readiness Contributors Warning

⚠️ IMPORTANT: The contributors.resting_heart_rate field in readiness data is a SCORE (0-100), NOT actual BPM:

Low score (19, 47) = RHR elevated vs. baseline (negative impact)
High score (95, 100) = RHR optimal vs. baseline (positive impact)
Actual BPM values are in the heartrate command output

DO NOT interpret contributor scores as actual heart rate measurements.

### Oura API Quirks

Single-day queries sometimes return empty results due to timezone issues
Use date ranges (e.g., "YYYY-MM-DD 2 days") for more reliable results
When querying specific dates, consider adding a buffer day

### Data Availability

Ring must be synced recently for current data
Historical data availability depends on user's Oura subscription
If no data is returned, suggest broader date range or check sync status

### Error: "Got unexpected extra argument"

Cause: Used two separate date arguments instead of one quoted range

# ❌ WRONG
ouracli activity 2025-09-23 2025-09-30

# ✅ CORRECT
ouracli activity "2025-09-23 7 days"

### Error: "Invalid date specification"

Cause: Used unsupported syntax like "to", "..", or relative expressions

# ❌ WRONG
ouracli activity "2025-09-23 to 2025-09-30"

# ✅ CORRECT
ouracli activity "2025-09-23 7 days"

### No Data Returned

Solutions:

Try a broader date range: ouracli activity "7 days" --json
Add buffer days: ouracli activity "2025-12-25 2 days" --json
Check if Ring has synced recently
Verify date is within available data range

### "Show me my activity for the last week"

ouracli activity "7 days" --json

### "What was my sleep like last night?"

ouracli sleep today --json

### "How was my readiness in December?"

ouracli readiness "2025-12-01 30 days" --json

### "Get all my data from Sept 23 to Sept 30"

# Calculate: Sept 30 - Sept 23 = 7 days
ouracli all "2025-09-23 7 days" --json

### "Show my heart rate from yesterday"

ouracli heartrate yesterday --json

### Quick Reference

User IntentCommandToday's activityouracli activity today --jsonLast week's sleepouracli sleep "7 days" --jsonCurrent readinessouracli readiness today --jsonHeart rate todayouracli heartrate today --jsonMonthly summaryouracli all "30 days" --jsonSpecific date rangeouracli [TYPE] "YYYY-MM-DD N days" --jsonAll data typesouracli all "7 days" --json

### Notes

Always prefer --json format for AI analysis
Use quotes for all date ranges with spaces
Calculate day counts for specific date ranges
Check authentication if commands fail
Consider timezone quirks when querying specific dates
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: visionik
- Version: 0.1.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-06T19:29:06.970Z
- Expires at: 2026-05-13T19:29:06.970Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/ouracli)
- [Send to Agent page](https://openagent3.xyz/skills/ouracli/agent)
- [JSON manifest](https://openagent3.xyz/skills/ouracli/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/ouracli/agent.md)
- [Download page](https://openagent3.xyz/downloads/ouracli)