{"id":"a34bcb60-bce8-46f1-b608-d99f709db0ee","shortId":"UPG2ax","kind":"skill","title":"pilot-webhook-bridge","tagline":"Forward Pilot Protocol events to HTTP webhooks for Slack, Discord, PagerDuty, and custom integrations.  Use this skill when: 1. You need to forward Pilot events to external services (Slack, Discord, Teams) 2. You need to integrate with monitoring/alerting platforms (PagerDuty, Da","description":"# pilot-webhook-bridge\n\nForward Pilot Protocol events (port 1002) to HTTP webhooks for integration with Slack, Discord, Microsoft Teams, PagerDuty, and custom HTTP endpoints.\n\n## Commands\n\n### Configure global webhook\n\n```bash\npilotctl --json set-webhook <webhook-url>\n```\n\nAll events on port 1002 are forwarded as HTTP POST with JSON payload.\n\n### Clear webhook\n\n```bash\npilotctl --json clear-webhook\n```\n\n### Subscribe and forward (selective)\n\n```bash\npilotctl --json subscribe <source-hostname> <topic> --timeout <seconds> | \\\n  jq -c '.data.events[]' | \\\n  while IFS= read -r event; do\n    curl -X POST <webhook-url> -H \"Content-Type: application/json\" -d \"$event\"\n  done\n```\n\n## Workflow: Slack Integration\n\n```bash\nSOURCE=\"production-app\"\nTOPIC=\"alerts.*\"\nSLACK_WEBHOOK=\"https://hooks.slack.com/services/YOUR/WEBHOOK/URL\"\nTIMEOUT=600\n\npilotctl --json subscribe \"$SOURCE\" \"$TOPIC\" --timeout \"$TIMEOUT\" | \\\n  jq -c '.data.events[]' | \\\n  while IFS= read -r event; do\n    topic=$(echo \"$event\" | jq -r '.topic')\n    message=$(echo \"$event\" | jq -r '.data.message // .')\n    severity=$(echo \"$event\" | jq -r '.data.severity // \"info\"')\n\n    # Map severity to color\n    case \"$severity\" in\n      critical|error) color=\"danger\" ;;\n      warning) color=\"warning\" ;;\n      *) color=\"good\" ;;\n    esac\n\n    # Build Slack payload\n    slack_payload=$(jq -n \\\n      --arg text \"Pilot Event: $topic\" \\\n      --arg msg \"$message\" \\\n      --arg color \"$color\" \\\n      '{\n        text: $text,\n        attachments: [{\n          color: $color,\n          fields: [{title: \"Message\", value: $msg, short: false}]\n        }]\n      }')\n\n    curl -X POST \"$SLACK_WEBHOOK\" \\\n      -H \"Content-Type: application/json\" \\\n      -d \"$slack_payload\" \\\n      --silent --show-error\n  done\n```\n\n## Workflow: Discord Integration\n\n```bash\nDISCORD_WEBHOOK=\"https://discord.com/api/webhooks/YOUR/WEBHOOK\"\n\npilotctl --json subscribe \"$SOURCE\" \"$TOPIC\" --timeout 300 | \\\n  jq -c '.data.events[]' | \\\n  while IFS= read -r event; do\n    topic=$(echo \"$event\" | jq -r '.topic')\n    value=$(echo \"$event\" | jq -r '.data.value // .data')\n\n    discord_payload=$(jq -n \\\n      --arg title \"Metric: $topic\" \\\n      --arg value \"$value\" \\\n      '{\n        embeds: [{\n          title: $title,\n          description: \"Value: \" + $value,\n          color: 3447003\n        }]\n      }')\n\n    curl -X POST \"$DISCORD_WEBHOOK\" \\\n      -H \"Content-Type: application/json\" \\\n      -d \"$discord_payload\" \\\n      --silent --show-error\n  done\n```\n\n## Dependencies\n\nRequires pilot-protocol skill, curl, jq, running daemon, and trust relationships with source agents.","tags":["pilot","webhook","bridge","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p"],"capabilities":["skill","source-teoslayer","skill-pilot-webhook-bridge","topic-agent-skills","topic-ai-agents","topic-clawhub","topic-networking","topic-openclaw","topic-overlay-network","topic-p2p","topic-pilot-protocol"],"categories":["pilot-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/TeoSlayer/pilot-skills/pilot-webhook-bridge","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add TeoSlayer/pilot-skills","source_repo":"https://github.com/TeoSlayer/pilot-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (2,609 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:15:06.549Z","embedding":null,"createdAt":"2026-05-18T13:22:55.233Z","updatedAt":"2026-05-18T19:15:06.549Z","lastSeenAt":"2026-05-18T19:15:06.549Z","tsv":"'/api/webhooks/your/webhook':256 '/services/your/webhook/url':145 '1':23 '1002':55,85 '2':36 '300':263 '3447003':304 '600':147 'agent':338 'alert':140 'app':138 'application/json':127,239,314 'arg':207,212,215,290,294 'attach':220 'bash':75,96,106,134,251 'bridg':4,49 'build':200 'c':112,156,265 'case':187 'clear':94,100 'clear-webhook':99 'color':186,192,195,197,216,217,221,222,303 'command':71 'configur':72 'content':125,237,312 'content-typ':124,236,311 'critic':190 'curl':120,230,305,329 'custom':17,68 'd':128,240,315 'da':45 'daemon':332 'danger':193 'data':285 'data.events':113,157,266 'data.message':175 'data.severity':181 'data.value':284 'depend':323 'descript':300 'discord':14,34,63,249,252,286,308,316 'discord.com':255 'discord.com/api/webhooks/your/webhook':254 'done':130,247,322 'echo':165,171,177,274,280 'emb':297 'endpoint':70 'error':191,246,321 'esac':199 'event':8,29,53,82,118,129,162,166,172,178,210,271,275,281 'extern':31 'fals':229 'field':223 'forward':5,27,50,87,104 'global':73 'good':198 'h':123,235,310 'hooks.slack.com':144 'hooks.slack.com/services/your/webhook/url':143 'http':10,57,69,89 'if':115,159,268 'info':182 'integr':18,40,60,133,250 'jq':111,155,167,173,179,205,264,276,282,288,330 'json':77,92,98,108,149,258 'map':183 'messag':170,214,225 'metric':292 'microsoft':64 'monitoring/alerting':42 'msg':213,227 'n':206,289 'need':25,38 'pagerduti':15,44,66 'payload':93,202,204,242,287,317 'pilot':2,6,28,47,51,209,326 'pilot-protocol':325 'pilot-webhook-bridg':1,46 'pilotctl':76,97,107,148,257 'platform':43 'port':54,84 'post':90,122,232,307 'product':137 'production-app':136 'protocol':7,52,327 'r':117,161,168,174,180,270,277,283 'read':116,160,269 'relationship':335 'requir':324 'run':331 'select':105 'servic':32 'set':79 'set-webhook':78 'sever':176,184,188 'short':228 'show':245,320 'show-error':244,319 'silent':243,318 'skill':21,328 'skill-pilot-webhook-bridge' 'slack':13,33,62,132,141,201,203,233,241 'sourc':135,151,260,337 'source-teoslayer' 'subscrib':102,109,150,259 'team':35,65 'text':208,218,219 'timeout':110,146,153,154,262 'titl':224,291,298,299 'topic':139,152,164,169,211,261,273,278,293 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'trust':334 'type':126,238,313 'use':19 'valu':226,279,295,296,301,302 'warn':194,196 'webhook':3,11,48,58,74,80,95,101,142,234,253,309 'workflow':131,248 'x':121,231,306","prices":[{"id":"dddaafcc-09cf-45ad-b36e-5ebe54fa610e","listingId":"a34bcb60-bce8-46f1-b608-d99f709db0ee","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"TeoSlayer","category":"pilot-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:55.233Z"}],"sources":[{"listingId":"a34bcb60-bce8-46f1-b608-d99f709db0ee","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-webhook-bridge","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-webhook-bridge","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:55.233Z","lastSeenAt":"2026-05-18T19:15:06.549Z"}],"details":{"listingId":"a34bcb60-bce8-46f1-b608-d99f709db0ee","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-webhook-bridge","github":{"repo":"TeoSlayer/pilot-skills","stars":6,"topics":["agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p","pilot-protocol"],"license":"agpl-3.0","html_url":"https://github.com/TeoSlayer/pilot-skills","pushed_at":"2026-05-13T06:08:49Z","description":"80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more","skill_md_sha":"5a85a9d2d74928bbe19fbe2db1273c21c373d0c1","skill_md_path":"skills/pilot-webhook-bridge/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-webhook-bridge"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-webhook-bridge","license":"AGPL-3.0","description":"Forward Pilot Protocol events to HTTP webhooks for Slack, Discord, PagerDuty, and custom integrations.  Use this skill when: 1. You need to forward Pilot events to external services (Slack, Discord, Teams) 2. You need to integrate with monitoring/alerting platforms (PagerDuty, Datadog) 3. You need to trigger external workflows via webhooks 4. You need bidirectional sync between Pilot and external systems  Do NOT use this skill when: - You need agent-to-agent messaging (use pilot-protocol directly) - You need persistent storage (use pilot-event-log instead) - You need complex transformations (use pilot-event-filter first)","compatibility":"Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start). Requires curl for HTTP requests and jq for JSON processing."},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-webhook-bridge"},"updatedAt":"2026-05-18T19:15:06.549Z"}}