Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Query your personal health data from wearables and nutrition logs and get AI coaching on sleep, workouts, heart rate, recovery, and health insights.
Query your personal health data from wearables and nutrition logs and get AI coaching on sleep, workouts, heart rate, recovery, and health insights.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
Send health questions to Nori and return the response. Nori analyzes data from wearables (Apple Watch, Oura, Garmin, Whoop, etc.), meals, workouts, weight, and lab results.
Install the Nori iOS app and connect your wearables In the Nori app, go to Settings > Integrations > OpenClaw Generate an API key (starts with nori_) Set the environment variable: export NORI_API_KEY="nori_your_key_here" Or add to ~/.openclaw/openclaw.json: { "skills": { "entries": { "nori-health": { "apiKey": "nori_your_key_here" } } } }
"Compare my sleep on days I work out vs rest days" "What should I eat to hit my protein goal today?" "Show me my resting heart rate trend this month" "How's my recovery looking after yesterday's run?" "I had two eggs and toast with avocado for breakfast" "I did 30 minutes of strength training" "What patterns do you see between my sleep and HRV?"
Send the user's message to Nori via the chat endpoint. Always forward the user's exact words. Use jq -n to safely escape the user's message into valid JSON, and capture the HTTP status code to handle errors: RESPONSE=$(curl -s -w "\n%{http_code}" -X POST "https://api.nori.health/api/v1/openclaw/chat" \ -H "Authorization: Bearer $NORI_API_KEY" \ -H "Content-Type: application/json" \ -d "$(jq -n --arg msg "USER_MESSAGE_HERE" '{message: $msg}')") HTTP_CODE=$(echo "$RESPONSE" | tail -1) BODY=$(echo "$RESPONSE" | sed '$d') if [ "$HTTP_CODE" -eq 200 ]; then echo "$BODY" | jq -r '.reply' elif [ "$HTTP_CODE" -eq 401 ]; then echo "Your Nori API key is invalid. Please regenerate it in the Nori app under Settings > Integrations > OpenClaw." elif [ "$HTTP_CODE" -eq 429 ]; then echo "Rate limited. Wait a moment and try again." else echo "Something went wrong connecting to Nori (HTTP $HTTP_CODE)." fi
On success (200): return the .reply field directly to the user as plain text. Do not add markdown formatting, bullet points, or other decoration. On 401: tell the user their Nori API key is invalid and to regenerate it in the Nori app. On 429: tell the user to wait a moment and try again. On other errors: tell the user something went wrong connecting to Nori, including the HTTP status code.
Forward the user's message verbatim. Do not rephrase, summarize, or add context. Return Nori's reply verbatim. Do not reformat, summarize, or add commentary. Nori handles all health data analysis, logging, and coaching. Your job is just to relay messages. Nori is not a medical service. If the user asks for medical diagnosis or emergency help, direct them to a doctor or emergency services instead.
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.