location-safety
Location-based safety monitoring with automatic alerts and escalation. Use when setting up safety monitoring for a user, tracking their location, checking for nearby dangers (weather, earthquakes, air quality, local emergencies), or configuring emergency contact escalation. Also includes self-preservation monitoring for the agent's host machine. Triggers on requests about safety alerts, location tracking, emergency monitoring, "keep me safe," or "monitor yourself."
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/sidu/location-safety-skillLocation Safety Monitor
Real-time safety monitoring based on user location with automatic alerting and escalation.
Overview
This skill provides:
- Location webhook — receives location updates from mobile apps (OwnTracks, iOS Shortcuts)
- Safety checker — monitors NWS alerts, earthquakes, air quality, local news
- Alert system — messages user when danger detected
- Escalation — contacts emergency contact if user doesn't respond
Quick Setup
Run the interactive setup wizard — it guides you through everything:
cd location-webhook/
node setup.js
The wizard walks you through 4 steps:
Step 1: Your Location
- Pick from presets (Seattle, Portland, SF, LA, NYC, Chicago)
- Or enter any city (auto-geocoded)
- Configures local news feeds and keywords
Step 2: Emergency Contact
- Name and email of someone to contact if you don't respond
- Optional but recommended for safety escalation
Step 3: Mobile App Setup
- Install OwnTracks on your phone:
- Configure app to HTTP mode
- Point to your webhook URL
Step 4: Start Webhook Server
- Run
node server.js - Copy the displayed URL to OwnTracks
- Test with the publish button
Quick setup (skip the wizard):
node setup.js --city "Portland"
node setup.js --show # View current config
5. Deploy the Location Webhook
# Copy scripts to workspace
cp -r scripts/ ~/location-webhook/
cd ~/location-webhook/
# Start the server (uses port 18800 by default)
node server.js
Configure the user's phone to send location updates to:
POST http://<your-host>:18800/location?key=<SECRET_KEY>
OwnTracks setup:
- Mode: HTTP
- URL:
http://<your-host>:18800/location?key=<SECRET_KEY>
iOS Shortcuts:
- Get Current Location → Get Contents of URL (POST, JSON body with
latandlon)
2. Configure Safety Monitoring
Create two cron jobs in Moltbot:
Safety Check (every 30 min):
Schedule: every 30 minutes
Payload: systemEvent
Text: "Run safety check at ~/location-webhook/safety-check.js. If ALERTS_FOUND, message user on WhatsApp with alert details and ask them to confirm safety. Track alert in safety-state.json."
Session: main
Escalation Check (every 10 min):
Schedule: every 10 minutes
Payload: systemEvent
Text: "Check ~/location-webhook/safety-state.json. If pendingAlert exists with alertSentAt > 15 min ago and acknowledgedAt is null, email emergency contact explaining the situation."
Session: main
3. Configure Emergency Contact
Add to MEMORY.md or TOOLS.md:
## Emergency Contact
- Name: [Name]
- Email: [email]
- Relationship: [spouse/parent/friend]
Data Sources
The safety checker monitors:
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-sidu-location-safety-skill": {
"enabled": true,
"auto_update": true
}
}
}