apple-watch
Apple Watch health data sync via Health Auto Export app. Use when querying sleep, heart rate, steps, workouts, or any health metrics. Also use when setting up or troubleshooting the health data pipeline.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/lainnet-42/apple-watchAgent Instructions
This skill has TWO parts: PC setup (automated) and Phone setup (requires user action). Do NOT just run setup.py and say "done". You MUST walk the user through the full flow.
Before setup: confirm prerequisites with user
Ask the user to confirm ALL of these before proceeding:
- Do you have an Apple Watch?
- Do you have an iPhone paired with it?
- Have you installed Health Auto Export app?
- Are your iPhone and PC on the same Wi-Fi?
If any is missing, help them resolve it first. Do NOT run setup.py until all are confirmed.
Setup flow
Step 1: Run setup.py
Run python scripts/setup.py - generates server, dashboard, API key, and phone templates.
setup.py does NOT start the server. You must start it yourself in step 2.
Step 2: Start server as a persistent background service
The server MUST run independently of any agent session. Do NOT start it in an exec session that will get killed by heartbeat or session recycling.
Windows - register as a startup task:
$action = New-ScheduledTaskAction -Execute "pythonw.exe" -Argument "server.py" -WorkingDirectory "<health-sync-dir>"
$trigger = New-ScheduledTaskTrigger -AtLogon
Register-ScheduledTask -TaskName "HealthSyncServer" -Action $action -Trigger $trigger -RunLevel Highest -Force
Start-ScheduledTask -TaskName "HealthSyncServer"
macOS - use launchd plist:
cat > ~/Library/LaunchAgents/com.health-sync.server.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.health-sync.server</string>
<key>ProgramArguments</key><array>
<string>python3</string><string>server.py</string>
</array>
<key>WorkingDirectory</key><string>HEALTH_SYNC_DIR</string>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
<key>StandardOutPath</key><string>HEALTH_SYNC_DIR/server.log</string>
<key>StandardErrorPath</key><string>HEALTH_SYNC_DIR/server.log</string>
</dict>
</plist>
EOF
# replace HEALTH_SYNC_DIR with actual path, then:
launchctl load ~/Library/LaunchAgents/com.health-sync.server.plist
Quick start (if you just need it running now, not persistent):
# Windows
start /B pythonw.exe server.py
# macOS / Linux
nohup python3 server.py > server.log 2>&1 &
Before starting, kill anything already on port 3001:
# Windows
(Get-NetTCPConnection -LocalPort 3001 -State Listen -ErrorAction SilentlyContinue).OwningProcess | ForEach-Object { Stop-Process -Id $_ -Force }
# macOS / Linux
lsof -ti:3001 | xargs kill -9 2>/dev/null
Verify it's running:
curl.exe -s -H "api-key: <key>" http://localhost:3001/api/summary
Note: on Windows use curl.exe (not curl which is a PowerShell alias for Invoke-WebRequest).
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-lainnet-42-apple-watch": {
"enabled": true,
"auto_update": true
}
}
}