oura-ring-data
Access Oura Ring health data using the ouracli CLI tool. Use when user asks about "oura data", "sleep stats", "activity data", "heart rate", "readiness score", "stress levels", or wants health metrics from their Oura Ring.
Install
mkdir -p .claude/skills/oura-ring-data && curl -L -o skill.zip "https://mcp.directory/api/skills/download/7205" && unzip -o skill.zip -d .claude/skills/oura-ring-data && rm skill.zipInstalls to .claude/skills/oura-ring-data
About this skill
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.envor~/.secrets/oura.env - If commands fail with authentication errors, inform the user to obtain a token from: https://cloud.ouraring.com/personal-access-tokens
Available Data Types
Core Health Metrics
activity- Daily activity (steps, MET values, calories)sleep- Sleep data (stages, efficiency, heart rate)readiness- Readiness scores and contributorsheartrate- Time-series heart rate data (5-minute resolution)spo2- Blood oxygen saturation datastress- Daily stress levels
Additional Data
workout- Workout sessionssession- Activity sessionstag- User-added tagsrest-mode- Rest mode periodspersonal-info- User profile informationall- All available data types
Date Range Specification
✅ 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
Common Usage Patterns
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
Key Notes
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
heartratecommand 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
Troubleshooting
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
Example Responses to User Queries
"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 Intent | Command |
|---|---|
| Today's activity | ouracli activity today --json |
| Last week's sleep | ouracli sleep "7 days" --json |
| Current readiness | ouracli readiness today --json |
| Heart rate today | ouracli heartrate today --json |
| Monthly summary | ouracli all "30 days" --json |
| Specific date range | ouracli [TYPE] "YYYY-MM-DD N days" --json |
| All data types | ouracli all "7 days" --json |
Notes
- Always prefer
--jsonformat 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
More by openclaw
View all skills by openclaw →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversBoost Postgres performance with Postgres MCP Pro—AI-driven index tuning, health checks, and safe, intelligent SQL optimi
Azure FHIR offers secure, authenticated access to Azure Health Data Services FHIR servers for standards-compliant health
DS Core Open API: Securely search and retrieve patient records, DICOM studies, digital impressions, and clinical documen
Unlock AI-ready web data with Firecrawl: scrape any website, handle dynamic content, and automate web scraping for resea
Empower AI with the Exa MCP Server—an AI research tool for real-time web search, academic data, and smarter, up-to-date
Connect Supabase projects to AI with Supabase MCP Server. Standardize LLM communication for secure, efficient developmen
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.