agentsclimarketplace

Pilot webhook bridge

Skill TeoSlayer/pilot-skills/skills/pilot-webhook-bridge

80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more

Install
npx -y skills add TeoSlayer/pilot-skills --skill pilot-webhook-bridge

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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)

The file declares its own license as AGPL-3.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.7 KB, as published. Nobody here has run it

pilot-webhook-bridge

Forward Pilot Protocol events (port 1002) to HTTP webhooks for integration with Slack, Discord, Microsoft Teams, PagerDuty, and custom HTTP endpoints.

Commands

Configure global webhook

pilotctl --json set-webhook <webhook-url>

All events on port 1002 are forwarded as HTTP POST with JSON payload.

Clear webhook

pilotctl --json clear-webhook

Subscribe and forward (selective)

pilotctl --json subscribe <source-hostname> <topic> --timeout <seconds> | \
  jq -c '.data.events[]' | \
  while IFS= read -r event; do
    curl -X POST <webhook-url> -H "Content-Type: application/json" -d "$event"
  done

Workflow: Slack Integration

SOURCE="production-app"
TOPIC="alerts.*"
SLACK_WEBHOOK="https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
TIMEOUT=600

pilotctl --json subscribe "$SOURCE" "$TOPIC" --timeout "$TIMEOUT" | \
  jq -c '.data.events[]' | \
  while IFS= read -r event; do
    topic=$(echo "$event" | jq -r '.topic')
    message=$(echo "$event" | jq -r '.data.message // .')
    severity=$(echo "$event" | jq -r '.data.severity // "info"')

    # Map severity to color
    case "$severity" in
      critical|error) color="danger" ;;
      warning) color="warning" ;;
      *) color="good" ;;
    esac

    # Build Slack payload
    slack_payload=$(jq -n \
      --arg text "Pilot Event: $topic" \
      --arg msg "$message" \
      --arg color "$color" \
      '{
        text: $text,
        attachments: [{
          color: $color,
          fields: [{title: "Message", value: $msg, short: false}]
        }]
      }')

    curl -X POST "$SLACK_WEBHOOK" \
      -H "Content-Type: application/json" \
      -d "$slack_payload" \
      --silent --show-error
  done

Workflow: Discord Integration

DISCORD_WEBHOOK="https://discord.com/api/webhooks/YOUR/WEBHOOK"

pilotctl --json subscribe "$SOURCE" "$TOPIC" --timeout 300 | \
  jq -c '.data.events[]' | \
  while IFS= read -r event; do
    topic=$(echo "$event" | jq -r '.topic')
    value=$(echo "$event" | jq -r '.data.value // .data')

    discord_payload=$(jq -n \
      --arg title "Metric: $topic" \
      --arg value "$value" \
      '{
        embeds: [{
          title: $title,
          description: "Value: " + $value,
          color: 3447003
        }]
      }')

    curl -X POST "$DISCORD_WEBHOOK" \
      -H "Content-Type: application/json" \
      -d "$discord_payload" \
      --silent --show-error
  done

Dependencies

Requires pilot-protocol skill, curl, jq, running daemon, and trust relationships with source agents.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.