{"id":"963f3fc8-a025-4118-b7d8-4e559faf8446","shortId":"jxnT39","kind":"skill","title":"pilot-watchdog","tagline":"Security monitoring for suspicious network patterns in Pilot Protocol networks.  Use this skill when: 1. You need real-time detection of suspicious connection patterns 2. You want automated alerts for security anomalies 3. You need to monitor trust relationship changes continuous","description":"# Pilot Watchdog\n\nReal-time security monitoring for Pilot Protocol with anomaly detection, automated alerting, and threat response.\n\n## Commands\n\n### Initialize Watchdog\n\n```bash\nmkdir -p ~/.pilot/watchdog/{alerts,state}\ncat > ~/.pilot/watchdog/config.json <<EOF\n{\n  \"enabled\": true,\n  \"check_interval_seconds\": 30,\n  \"rules\": {\n    \"connection_rate_limit\": 10,\n    \"failed_handshake_threshold\": 3,\n    \"polo_score_drop_threshold\": 30\n  }\n}\nEOF\n```\n\n### Monitor Connection Rate\n\n```bash\n# Detect abnormal connection rate\nCURRENT=$(pilotctl --json connections 2>/dev/null | jq -r '.[].remote_hostname' | sort | uniq -c)\n\necho \"$CURRENT\" | while read -r COUNT AGENT; do\n  if [ \"$COUNT\" -gt 10 ]; then\n    echo \"ALERT: $AGENT has $COUNT connections\"\n  fi\ndone\n```\n\n### Monitor Polo Score Changes\n\n```bash\n# Detect sudden polo score drops\nSTATE_FILE=~/.pilot/watchdog/state/polo_scores.json\nTHRESHOLD=30\n\nCURRENT=$(pilotctl --json peers | jq '[.[] | {hostname, polo_score}]')\n\nif [ -f \"$STATE_FILE\" ]; then\n  echo \"$CURRENT\" | jq -r '.[] | \"\\(.hostname) \\(.polo_score)\"' | \\\n  while read -r HOSTNAME CURRENT_SCORE; do\n    PREVIOUS_SCORE=$(jq -r --arg h \"$HOSTNAME\" '.[] | select(.hostname == $h) | .polo_score' \"$STATE_FILE\")\n\n    if [ \"$PREVIOUS_SCORE\" != \"null\" ]; then\n      CHANGE=$((CURRENT_SCORE - PREVIOUS_SCORE))\n      if [ $CHANGE -lt 0 ] && [ ${CHANGE#-} -ge $THRESHOLD ]; then\n        echo \"ALERT: $HOSTNAME polo score dropped by ${CHANGE#-} points\"\n      fi\n    fi\n  done\nfi\n\necho \"$CURRENT\" > \"$STATE_FILE\"\n```\n\n### Set Webhook for Events\n\n```bash\n# Configure daemon webhook\npilotctl --json set-webhook \"http://localhost:8080/watchdog\"\n```\n\n## Workflow Example\n\nContinuous security monitoring with automated responses:\n\n```bash\n#!/bin/bash\nWATCHDOG_DIR=~/.pilot/watchdog\nINTERVAL=30\n\nmkdir -p \"$WATCHDOG_DIR\"/{alerts,state}\n\n# Alert function\nalert() {\n  echo \"$(date -u +%Y-%m-%dT%H:%M:%SZ) [$1] $2\" | tee -a \"$WATCHDOG_DIR/alerts/alerts.log\"\n}\n\n# Monitor loop\nwhile true; do\n  # Check connection rate\n  pilotctl --json connections | jq -r '.[].remote_hostname' | sort | uniq -c | \\\n    awk '$1 > 10 {print $2}' | while read agent; do\n      alert \"CONNECTION_RATE\" \"$agent exceeded connection limit\"\n    done\n\n  # Check failed handshakes\n  PENDING=$(pilotctl --json pending | jq length)\n  if [ \"$PENDING\" -gt 5 ]; then\n    alert \"HANDSHAKE\" \"High number of pending handshakes: $PENDING\"\n  fi\n\n  sleep $INTERVAL\ndone\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `jq`, and running daemon.","tags":["pilot","watchdog","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p","pilot-protocol"],"capabilities":["skill","source-teoslayer","skill-pilot-watchdog","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-watchdog","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,524 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.476Z","embedding":null,"createdAt":"2026-05-18T13:22:55.058Z","updatedAt":"2026-05-18T19:15:06.476Z","lastSeenAt":"2026-05-18T19:15:06.476Z","tsv":"'/.pilot/watchdog':70,257 '/.pilot/watchdog/config.json':74 '/.pilot/watchdog/state/polo_scores.json':151 '/bin/bash':254 '/dev/null':110 '0':208 '1':18,278,303 '10':86,129,304 '2':29,109,279,306 '3':37,90 '30':81,95,153,259 '5':331 '8080/watchdog':244 'abnorm':102 'agent':124,133,309,314 'alert':33,60,71,132,214,264,266,268,311,333 'anomali':36,57 'arg':185 'autom':32,59,251 'awk':302 'bash':67,100,143,234,253 'binari':352 'c':117,301 'cat':73 'chang':44,142,200,206,209,220 'check':78,289,319 'command':64 'configur':235 'connect':27,83,98,103,108,136,290,294,312,316 'continu':45,247 'count':123,127,135 'current':105,119,154,168,178,201,227 'daemon':236,356 'date':270 'depend':345 'detect':24,58,101,144 'dir':256,263 'dir/alerts/alerts.log':283 'done':138,224,318,344 'drop':93,148,218 'dt':274 'echo':118,131,167,213,226,269 'enabl':76 'eof':75,96 'event':233 'exampl':246 'exceed':315 'f':163 'fail':87,320 'fi':137,222,223,225,341 'file':150,165,194,229 'function':267 'ge':210 'gt':128,330 'h':186,190,275 'handshak':88,321,334,339 'high':335 'hostnam':114,159,171,177,187,189,215,298 'initi':65 'interv':79,258,343 'jq':111,158,169,183,295,326,353 'json':107,156,239,293,324 'length':327 'limit':85,317 'localhost':243 'loop':285 'lt':207 'm':273,276 'mkdir':68,260 'monitor':5,41,52,97,139,249,284 'need':20,39 'network':8,13 'null':198 'number':336 'p':69,261 'pattern':9,28 'peer':157 'pend':322,325,329,338,340 'pilot':2,11,46,54,348 'pilot-protocol':347 'pilot-watchdog':1 'pilotctl':106,155,238,292,323,351 'point':221 'polo':91,140,146,160,172,191,216 'previous':181,196,203 'print':305 'protocol':12,55,349 'r':112,122,170,176,184,296 'rate':84,99,104,291,313 'read':121,175,308 'real':22,49 'real-tim':21,48 'relationship':43 'remot':113,297 'requir':346 'respons':63,252 'rule':82 'run':355 'score':92,141,147,161,173,179,182,192,197,202,204,217 'second':80 'secur':4,35,51,248 'select':188 'set':230,241 'set-webhook':240 'skill':16,350 'skill-pilot-watchdog' 'sleep':342 'sort':115,299 'source-teoslayer' 'state':72,149,164,193,228,265 'sudden':145 'suspici':7,26 'sz':277 'tee':280 'threat':62 'threshold':89,94,152,211 'time':23,50 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'true':77,287 'trust':42 'u':271 'uniq':116,300 'use':14 'want':31 'watchdog':3,47,66,255,262,282 'webhook':231,237,242 'workflow':245 'y':272","prices":[{"id":"6d32de2e-f03c-4c3c-8e08-5e99d1cc6c43","listingId":"963f3fc8-a025-4118-b7d8-4e559faf8446","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.058Z"}],"sources":[{"listingId":"963f3fc8-a025-4118-b7d8-4e559faf8446","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-watchdog","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-watchdog","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:55.058Z","lastSeenAt":"2026-05-18T19:15:06.476Z"}],"details":{"listingId":"963f3fc8-a025-4118-b7d8-4e559faf8446","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-watchdog","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":"74a3fa8d046970374eb227e81470c80724e9b6fc","skill_md_path":"skills/pilot-watchdog/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-watchdog"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-watchdog","license":"AGPL-3.0","description":"Security monitoring for suspicious network patterns in Pilot Protocol networks.  Use this skill when: 1. You need real-time detection of suspicious connection patterns 2. You want automated alerts for security anomalies 3. You need to monitor trust relationship changes continuously  Do NOT use this skill when: - You need historical analysis (use pilot-reputation) - You only need audit logs (use pilot-audit-log) - You're doing one-time security checks (use pilot-verify)","compatibility":"Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start)."},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-watchdog"},"updatedAt":"2026-05-18T19:15:06.476Z"}}