← Back to Skills Marketplace
danmurphy1217

Nori Health

by Dan Murphy · GitHub ↗ · v1.0.6
cross-platform ✓ Security Clean
548
Downloads
2
Stars
1
Active Installs
7
Versions
Install in OpenClaw
/install nori-health
Description
Query your personal health data from wearables and nutrition logs and get AI coaching on sleep, workouts, heart rate, recovery, and health insights.
README (SKILL.md)

\r \r

Nori Health Coach\r

\r 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.\r \r

Setup\r

\r

  1. Install the Nori iOS app and connect your wearables\r
  2. In the Nori app, go to Settings > Integrations > OpenClaw\r
  3. Generate an API key (starts with nori_)\r
  4. Set the environment variable:\r
    export NORI_API_KEY="nori_your_key_here"\r
    ```\r
    Or add to `~/.openclaw/openclaw.json`:\r
    ```json\r
    {\r
      "skills": {\r
        "entries": {\r
          "nori-health": {\r
            "apiKey": "nori_your_key_here"\r
          }\r
        }\r
      }\r
    }\r
    ```\r
    

\r

When to Use\r

\r

  • "Compare my sleep on days I work out vs rest days"\r
  • "What should I eat to hit my protein goal today?"\r
  • "Show me my resting heart rate trend this month"\r
  • "How's my recovery looking after yesterday's run?"\r
  • "I had two eggs and toast with avocado for breakfast"\r
  • "I did 30 minutes of strength training"\r
  • "What patterns do you see between my sleep and HRV?"\r \r

Usage\r

\r Send the user's message to Nori via the chat endpoint. Always forward the user's exact words.\r \r Use jq -n to safely escape the user's message into valid JSON, and capture the HTTP status code to handle errors:\r \r

RESPONSE=$(curl -s -w "\
%{http_code}" -X POST "https://api.nori.health/api/v1/openclaw/chat" \\r
  -H "Authorization: Bearer $NORI_API_KEY" \\r
  -H "Content-Type: application/json" \\r
  -d "$(jq -n --arg msg "USER_MESSAGE_HERE" '{message: $msg}')")\r
HTTP_CODE=$(echo "$RESPONSE" | tail -1)\r
BODY=$(echo "$RESPONSE" | sed '$d')\r
\r
if [ "$HTTP_CODE" -eq 200 ]; then\r
  echo "$BODY" | jq -r '.reply'\r
elif [ "$HTTP_CODE" -eq 401 ]; then\r
  echo "Your Nori API key is invalid. Please regenerate it in the Nori app under Settings > Integrations > OpenClaw."\r
elif [ "$HTTP_CODE" -eq 429 ]; then\r
  echo "Rate limited. Wait a moment and try again."\r
else\r
  echo "Something went wrong connecting to Nori (HTTP $HTTP_CODE)."\r
fi\r
```\r
\r
## Response Handling\r
\r
- On success (200): return the `.reply` field directly to the user as plain text. Do not add markdown formatting, bullet points, or other decoration.\r
- On 401: tell the user their Nori API key is invalid and to regenerate it in the Nori app.\r
- On 429: tell the user to wait a moment and try again.\r
- On other errors: tell the user something went wrong connecting to Nori, including the HTTP status code.\r
\r
## Important\r
\r
- Forward the user's message verbatim. Do not rephrase, summarize, or add context.\r
- Return Nori's reply verbatim. Do not reformat, summarize, or add commentary.\r
- Nori handles all health data analysis, logging, and coaching. Your job is just to relay messages.\r
- 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.\r
Usage Guidance
This skill appears to do what it says: it relays your health-related messages to Nori's API and returns Nori's reply. Before installing: 1) Be sure you trust Nori (https://nori.health) and read its privacy policy — you're sending sensitive health data to an external service. 2) Verify the skill's source/owner if possible (registry shows an owner ID but no homepage in the top-level metadata); unknown source reduces trust. 3) Note the registry metadata mismatch: SKILL.md requires NORI_API_KEY and curl/jq but the registry entry earlier listed none — fix or verify this to avoid runtime failures. 4) Prefer storing the API key in a secure secrets store rather than in plaintext in ~/.openclaw/openclaw.json. 5) Consider limiting what you ask the skill (avoid sending identifiers, SSNs, or other non-essential sensitive data) and confirm Nori's data retention/sharing policies. If you need help validating the homepage, API domain, or privacy terms, verify those before enabling the skill.
Capability Analysis
Type: OpenClaw Skill Name: nori-health Version: 1.0.6 The skill bundle is benign. It securely handles user input by using `jq -n --arg msg` to prevent shell injection when constructing the JSON payload for the `curl` request. The `curl` command targets a specific, hardcoded domain (`api.nori.health`), and the `NORI_API_KEY` is used as expected for authentication. There are no signs of data exfiltration, malicious execution, persistence mechanisms, obfuscation, or prompt injection attempts against the AI agent; instructions in SKILL.md explicitly reinforce safe behavior like forwarding messages verbatim.
Capability Assessment
Purpose & Capability
The name/description (health coaching from wearables/nutrition) matches the runtime instructions: messages are POSTed to https://api.nori.health with a Bearer NORI_API_KEY. The requirement for curl/jq and an API key is appropriate. Note: the registry metadata supplied earlier stated no required env vars, but SKILL.md declares NORI_API_KEY and required bins (curl, jq) — this mismatch may cause runtime confusion or deployment errors.
Instruction Scope
SKILL.md limits behavior to forwarding the user's message verbatim to Nori and returning Nori's reply verbatim. It does not instruct reading unrelated files or other credentials. Important privacy note: forwarding verbatim health data to an external service is expected for the skill but is inherently sensitive — the instructions also suggest storing the API key in ~/.openclaw/openclaw.json (plaintext), which raises local-secret storage risk.
Install Mechanism
Instruction-only skill with no install spec and no code files — nothing is written to disk by the skill itself. This is a low-installation-risk configuration.
Credentials
The only credential the instructions require is NORI_API_KEY, which is proportional to the stated API-forwarding purpose. The declared dependency on curl and jq is reasonable. However, the registry-level metadata earlier indicated no required env vars while the SKILL.md requires NORI_API_KEY — this inconsistency should be resolved before install. Also consider that the API key and sensitive health data are being transmitted to a third party, which is a significant privacy consideration even if technically proportional.
Persistence & Privilege
The skill does not request always:true or any elevated persistence or system-wide configuration changes. It only suggests storing a key in the agent's config (its own config), which is normal for API-based skills.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install nori-health
  3. After installation, invoke the skill by name or use /nori-health
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.6
nori-health 1.0.6 - No file changes detected in this release.
v1.0.5
- No changes detected in this version. - All features and documentation remain the same as the previous release.
v1.0.4
Version 1.0.4 of nori-health - No file or documentation changes detected in this update. - Functionality, instructions, and usage remain the same as the previous version. (re-triggering vulnerability scan, which seems stuck)
v1.0.3
- Moved environment variable and dependency definitions into the metadata field of SKILL.md. - Removed top-level "requires" and "primaryEnv" fields in favor of metadata. - No functionality changes; configuration information is now more consistent with common standards.
v1.0.2
- Internal skill metadata and environment/requirements fields are now standardized in the SKILL.md format. - No changes to functionality or usage. - No impact on user experience.
v1.0.1
- Added a requirement for the "curl" and "jq" binaries in the skill metadata. - No other changes; functionality remains the same.
v1.0.0
- Initial release of the nori-health skill. - Allows users to query their personal health data and get AI coaching from Nori. - Supports questions about sleep, workouts, nutrition, weight, heart rate, HRV, and health insights. - Integrates with wearables including Apple Watch, Oura, Garmin, and Whoop. - Provides guidance for setup with the Nori app and API key integration. - Handles authentication and error responses, with clear user messages for invalid keys or rate limits.
Metadata
Slug nori-health
Version 1.0.6
License
All-time Installs 1
Active Installs 1
Total Versions 7
Frequently Asked Questions

What is Nori Health?

Query your personal health data from wearables and nutrition logs and get AI coaching on sleep, workouts, heart rate, recovery, and health insights. It is an AI Agent Skill for Claude Code / OpenClaw, with 548 downloads so far.

How do I install Nori Health?

Run "/install nori-health" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Nori Health free?

Yes, Nori Health is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Nori Health support?

Nori Health is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Nori Health?

It is built and maintained by Dan Murphy (@danmurphy1217); the current version is v1.0.6.

💬 Comments