workspace/skills/twilio-emergency-call/SKILL.md
# Twilio Emergency Call Skill **Feature**: 042-twilio-voice-mcp **Priority**: P1 (MVP) **User Story**: US1 - Emergency Alert Calls ## Purpose Automatically call John when critical network events occur (P1 incidents, core device failures). Emergency calls bypass quiet hours and are auto-approved without user confirmation. ## Trigger Conditions This skill activates when: 1. **PagerDuty P1 Incident** - Source: `pagerduty` - Match: `severity:P1` - Auto-approved: Yes 2. **Core Device
npx skillsauth add automateyournetwork/netclaw workspace/skills/twilio-emergency-callInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Feature: 042-twilio-voice-mcp Priority: P1 (MVP) User Story: US1 - Emergency Alert Calls
Automatically call John when critical network events occur (P1 incidents, core device failures). Emergency calls bypass quiet hours and are auto-approved without user confirmation.
This skill activates when:
PagerDuty P1 Incident
pagerdutyseverity:P1Core Device Down
netclaw_monitoringdevice_type:(core_router|firewall|wan_link) AND status:downEvent Detected
│
├─► Check Emergency Category
│ └─► Not emergency? → Skip call
│
├─► Pre-call Validation
│ ├─► Rate limit check (warning only for emergencies)
│ └─► Get whitelist target
│
├─► Sanitize Message
│ └─► Remove IPs, credentials, sensitive data
│
├─► Initiate Call via Twilio
│ └─► Uses @twilio-alpha/mcp Api20100401Call
│
├─► Log to Memory MCP
│ └─► CallRecord with trigger_id
│
└─► Fallback on Failure
└─► T018: SMS or Slack notification
{
"tool": "twilio_voice_emergency_call",
"arguments": {
"source": "pagerduty",
"event_data": {
"severity": "P1",
"incident_id": "PD12345",
"summary": "Core router LAX-CORE-01 is unreachable"
}
}
}
{
"tool": "twilio_voice_call",
"arguments": {
"to": "[WHITELIST_NUMBER]",
"message": "Emergency: Core router is down. BGP sessions lost on LAX-CORE-01.",
"priority": "emergency"
}
}
NetClaw Emergency Alert.
PagerDuty Priority 1 Incident.
{incident_summary}.
Incident ID: {incident_id}.
NetClaw Emergency Alert.
Core device failure detected.
{device_name} is {status}.
Last seen: {last_seen}.
See config/twilio-voice.json:
{
"emergency_categories": [
{
"category_name": "pagerduty_p1",
"source": "pagerduty",
"match_pattern": "severity:P1",
"enabled": true
},
{
"category_name": "core_device_down",
"source": "netclaw_monitoring",
"match_pattern": "device_type:(core_router|firewall|wan_link) AND status:down",
"enabled": true
}
]
}
On call failure:
retry_config = {
"max_retries": 3,
"backoff_base_seconds": 30,
"backoff_multiplier": 2
}
If all call attempts fail:
Input:
- PagerDuty webhook received
- Severity: P1
- Summary: "Database primary node unresponsive"
Action:
1. Event matches pagerduty_p1 category
2. Call initiated to [WHITELIST_NUMBER]
3. Voice message: "NetClaw Emergency Alert. PagerDuty Priority 1 Incident. Database primary node unresponsive."
4. Call logged to Memory MCP
Input:
- NetClaw monitoring detects
- device_type: core_router
- status: down
- device_name: CHI-CORE-02
Action:
1. Event matches core_device_down category
2. Call initiated to [WHITELIST_NUMBER]
3. Voice message: "NetClaw Emergency Alert. Core device failure detected. CHI-CORE-02 is down."
tools
Federate your NetClaw with other NetClaw operators over the BGP mesh — exchange capability inventories and ask your claw what a peer can do. (US1; remote invocation and chat land in later phases.)
tools
3D network topology visualization and interactive digital twin in Unreal Engine 5.8 via the built-in UE5 MCP server.
testing
Human-in-the-loop escalation via HumanRail — route low-confidence agent decisions, pre-destructive operation approvals, and ambiguous incident tickets to real human engineers. Human answers are verified and returned as structured output. Workers are paid via Lightning Network. Use when the agent is uncertain, when a destructive change needs explicit human sign-off beyond a ServiceNow CR, or when an ambiguous ticket requires human triage before automated handling.
testing
IPv4 and IPv6 subnet calculator - CIDR breakdown, usable hosts, previous/next subnets, address classification, VLSM planning, and dual-stack analysis. Use when calculating subnets, figuring out how many hosts fit in a prefix, planning IP addressing, getting wildcard masks for ACLs, or checking if two IPs are in the same subnet.