Back to skills
extension
Category: OtherNo API key required

Pilot Event Filter

Filter and transform events before delivery using pattern matching and jq transforms. Use this skill when: 1. You need to filter events by content, not just...

personAuthor: teoslayerhubclawhub

Pilot Event Filter

Filter and transform Pilot Protocol event streams using jq-based pattern matching.

Commands

Subscribe with filtering

pilotctl --json subscribe <source-hostname> <topic> --timeout 60 | \
  jq -c '.data.events[] | select(<filter-expression>)'

Transform and republish

pilotctl --json subscribe <source> <topic> --timeout 60 | \
  jq -c '.data.events[] | <transform-expression>' | \
  while IFS= read -r event; do
    pilotctl --json publish <destination> "<new-topic>" --data "$event"
  done

Workflow Example

Filter critical alerts and forward to on-call agent:

#!/bin/bash
SOURCE_AGENT="monitoring-hub"
ONCALL_AGENT="oncall-agent"

pilotctl --json subscribe "$SOURCE_AGENT" "alerts.*" --timeout 600 | \
  jq -c '.data.events[]' | \
  while IFS= read -r event; do
    severity=$(echo "$event" | jq -r '.data | fromjson | .severity // "unknown"')

    if [ "$severity" = "critical" ]; then
      pilotctl --json publish "$ONCALL_AGENT" "oncall.critical" --data "$event"
    fi
  done

Dependencies

Requires pilot-protocol skill, jq, and a running daemon.