🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Test Skill Xyz999

by @crxiaobailiu-gif

Connect your iPhone/Apple Watch Apple Health data to OpenClaw via a local webhook to analyze recovery, detect anomalies, and get health alerts.

Versionv1.0.0
⚑ When to Use
TriggerAction
|---------|-------------|
| [Recovery Score](examples/recovery-score.md) | Daily HRV + RHR + sleep score with cron job setup |
| [Health Alerts](examples/health-alerts.md) | Proactive anomaly detection with configurable thresholds |
---
βš™οΈ Configuration

1. Start the webhook server

npx healthclaw-webhook-server

The server starts on port 3000 by default. Keep it running (consider a LaunchAgent / systemd service for persistence).

Optional environment variables:

PORT=3000                         # Server port
HEALTHCLAW_DATA_DIR=~/custom/path # Override data directory
ADMIN_TOKEN=your-secret           # Protect admin endpoints

2. Expose to the internet (for iOS sync)

The iOS app needs to reach your server from outside your local network.

#### Option A: Tailscale Funnel (recommended)

Tailscale Funnel gives your machine a stable public HTTPS URL tied to your Tailscale domain β€” no dynamic DNS, no port forwarding needed.

# 1. Install Tailscale and log in (skip if already done)

https://tailscale.com/download

tailscale login

2. Enable Funnel for port 3000

tailscale funnel --bg 3000

Your public URL will be:

https://..ts.net

To find it:

tailscale funnel status

or

tailscale status --json | grep DNSName

> Note: Funnel runs in the background (--bg). It persists across reboots. > To stop it: tailscale funnel --bg --off

#### Option B: Cloudflare Tunnel

# Install cloudflared: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
cloudflared tunnel --url http://localhost:3000

Cloudflare prints a randomly-assigned https://xxxxx.trycloudflare.com URL

> URLs are ephemeral β€” you'll need to re-pair the iOS app each time you restart the tunnel.

#### Option C: ngrok

ngrok http 3000

ngrok prints a https://xxxxx.ngrok-free.app URL

> Same caveat as Cloudflare β€” URL changes on restart unless you have a paid plan.

Note your public URL β€” you'll need it in the next step when generating the pairing link.

3. Generate a pairing link

curl -X POST https://your-public-url/admin/generate-pairing

Response:

{
  "pairingToken": "abc123...",
  "deepLink": "healthclaw://pair?url=...&token=...",
  "openUrl": "https://your-public-url/pair/open?token=...",
  "expiresInSeconds": 120
}

Open openUrl on your iPhone, or paste deepLink into Safari. The page has a button that opens the HealthClaw app directly.

> Token expires in 2 minutes. If it expires, run the curl command again.

4. Install the iOS app

The HealthClaw iOS companion app handles background HealthKit syncing.

Current status: App is pending App Store review.

TestFlight (beta):

Once installed, open the app and follow the pairing flow. After pairing, the app will sync data automatically in the background β€” no need to keep it open.

5. Verify the connection

curl https://your-public-url/health

β†’ { "status": "ok", "paired": true, ... }

Check that data is flowing:

tail -f ~/Library/Application\ Support/healthclaw-webhook/health-data.jsonl


View on ClawHub
TERMINAL
clawhub install test-skill-xyz999

πŸ§ͺ Use this skill with your agent

Most visitors already have an agent. Pick your environment, install or copy the workflow, then run the smoke-test prompt above.

πŸ” Can't find the right skill?

Search 60,000+ AI agent skills β€” free, no login needed.

Search Skills β†’