{"id":"000a09c5-48bc-40a9-86da-7b3f3d480402","shortId":"JmFqaE","kind":"skill","title":"pilot-swarm-config","tagline":"Distributed configuration management for agent swarms with versioned updates.  Use this skill when: 1. Multiple agents need to share configuration settings 2. You need to push config updates to all swarm members 3. You want versioned config with rollback capability  Do NOT use th","description":"# pilot-swarm-config\n\nManage shared configuration across agent swarms with versioning, atomic updates, and rollback support.\n\n## Essential Commands\n\n### Publish configuration update\n```bash\nCONFIG_VERSION=$(date +%s)\nCONFIG_DATA='{\"max_workers\":10,\"timeout_ms\":5000,\"log_level\":\"info\"}'\n\npilotctl --json publish \"registry-hostname\" \"config:$SWARM_NAME\" \\\n  --data \"{\\\"type\\\":\\\"config_update\\\",\\\"version\\\":$CONFIG_VERSION,\\\"config\\\":$CONFIG_DATA}\"\n```\n\n### Subscribe to configuration updates\n```bash\npilotctl --json subscribe \"registry-hostname\" \"config:$SWARM_NAME\"\n```\n\n### Apply configuration locally\n```bash\nLATEST_CONFIG=$(pilotctl --json inbox \\\n  | jq '[.messages[] | select(.topic == \"config:'$SWARM_NAME'\" and .payload.type == \"config_update\")] | sort_by(.payload.version) | last')\n\nCONFIG_VERSION=$(echo \"$LATEST_CONFIG\" | jq -r '.payload.version')\nCONFIG_DATA=$(echo \"$LATEST_CONFIG\" | jq -r '.payload.config')\n\necho \"$CONFIG_DATA\" > /tmp/swarm-config.json\necho \"$CONFIG_VERSION\" > /tmp/swarm-config-version.txt\n```\n\n### Validate configuration\n```bash\n# Basic validation\nVALID=$(echo \"$CONFIG_DATA\" | jq 'has(\"max_workers\") and has(\"timeout_ms\")')\n\nif [ \"$VALID\" = \"true\" ]; then\n  echo \"Config validation passed\"\nelse\n  echo \"Config validation FAILED\"\n  exit 1\nfi\n```\n\n### Rollback to previous version\n```bash\nCURRENT_VERSION=$(cat /tmp/swarm-config-version.txt)\nPREVIOUS_CONFIG=$(pilotctl --json inbox \\\n  | jq '[.messages[] | select(.topic == \"config:'$SWARM_NAME'\" and .payload.type == \"config_update\" and .payload.version < '$CURRENT_VERSION')] | sort_by(.payload.version) | last')\n\nPREV_VERSION=$(echo \"$PREVIOUS_CONFIG\" | jq -r '.payload.version')\nPREV_DATA=$(echo \"$PREVIOUS_CONFIG\" | jq -r '.payload.config')\n\necho \"$PREV_DATA\" > /tmp/swarm-config.json\necho \"$PREV_VERSION\" > /tmp/swarm-config-version.txt\n```\n\n### Track compliance\n```bash\n# Agents report applied version\npilotctl --json publish \"registry-hostname\" \"config:status:$SWARM_NAME\" \\\n  --data \"{\\\"agent\\\":\\\"$AGENT_ID\\\",\\\"applied_version\\\":$CONFIG_VERSION}\"\n\n# Coordinator checks compliance\nCOMPLIANCE=$(pilotctl --json inbox \\\n  | jq '[.messages[] | select(.topic == \"config:status:'$SWARM_NAME'\")] | group_by(.payload.applied_version) | map({version: .[0].payload.applied_version, count: length})')\n```\n\n## Workflow Example\n\nAgent config subscriber:\n\n```bash\n#!/bin/bash\nset -e\n\nSWARM_NAME=\"worker-pool\"\nCONFIG_CHANNEL=\"config:$SWARM_NAME\"\nSTATUS_CHANNEL=\"config:status:$SWARM_NAME\"\nREGISTRY_HOST=\"registry.example.com\"\n\npilotctl --json subscribe \"$REGISTRY_HOST\" \"$CONFIG_CHANNEL\"\n\nCURRENT_VERSION=0\n[ -f /tmp/swarm-config-version.txt ] && CURRENT_VERSION=$(cat /tmp/swarm-config-version.txt)\n\nwhile true; do\n  LATEST=$(pilotctl --json inbox \\\n    | jq '[.messages[] | select(.topic == \"'$CONFIG_CHANNEL'\" and .payload.type == \"config_update\")] | sort_by(.payload.version) | last')\n\n  if [ -n \"$LATEST\" ] && [ \"$LATEST\" != \"null\" ]; then\n    LATEST_VERSION=$(echo \"$LATEST\" | jq -r '.payload.version')\n\n    if [ \"$LATEST_VERSION\" -gt \"$CURRENT_VERSION\" ]; then\n      echo \"Applying config version $LATEST_VERSION\"\n      CONFIG_DATA=$(echo \"$LATEST\" | jq -r '.payload.config')\n\n      echo \"$CONFIG_DATA\" > /tmp/swarm-config.json\n      echo \"$LATEST_VERSION\" > /tmp/swarm-config-version.txt\n\n      # Report compliance\n      pilotctl --json publish \"$REGISTRY_HOST\" \"$STATUS_CHANNEL\" \\\n        --data \"{\\\"agent\\\":\\\"$AGENT_ID\\\",\\\"applied_version\\\":$LATEST_VERSION}\"\n\n      CURRENT_VERSION=$LATEST_VERSION\n    fi\n  fi\n  sleep 5\ndone\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, running daemon, and `jq` for JSON parsing.","tags":["pilot","swarm","config","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p"],"capabilities":["skill","source-teoslayer","skill-pilot-swarm-config","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-swarm-config","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 (3,627 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:04.689Z","embedding":null,"createdAt":"2026-05-18T13:22:52.994Z","updatedAt":"2026-05-18T19:15:04.689Z","lastSeenAt":"2026-05-18T19:15:04.689Z","tsv":"'/bin/bash':315 '/tmp/swarm-config-version.txt':167,209,257,348,352,414 '/tmp/swarm-config.json':163,253,410 '0':304,346 '1':18,199 '10':80 '2':26 '3':37 '5':439 '5000':83 'across':56 'agent':9,20,57,261,276,277,311,425,426 'appli':120,263,279,395,428 'atom':61 'bash':71,110,123,170,205,260,314 'basic':171 'binari':448 'capabl':44 'cat':208,351 'channel':324,329,343,365,423 'check':284 'command':67 'complianc':259,285,286,416 'config':4,31,41,52,72,76,93,98,101,103,104,117,125,133,138,144,148,152,156,161,165,175,190,195,211,219,224,238,246,271,281,294,312,323,325,330,342,364,368,396,400,408 'configur':6,24,55,69,108,121,169 'coordin':283 'count':307 'current':206,228,344,349,391,432 'daemon':450 'data':77,96,105,153,162,176,243,252,275,401,409,424 'date':74 'depend':441 'distribut':5 'done':440 'e':317 'echo':146,154,160,164,174,189,194,236,244,250,254,382,394,402,407,411 'els':193 'essenti':66 'exampl':310 'exit':198 'f':347 'fail':197 'fi':200,436,437 'group':298 'gt':390 'host':335,341,421 'hostnam':92,116,270 'id':278,427 'inbox':128,214,289,359 'info':86 'jq':129,149,157,177,215,239,247,290,360,384,404,452 'json':88,112,127,213,266,288,338,358,418,454 'last':143,233,373 'latest':124,147,155,356,376,377,380,383,388,398,403,412,430,434 'length':308 'level':85 'local':122 'log':84 'manag':7,53 'map':302 'max':78,179 'member':36 'messag':130,216,291,361 'ms':82,184 'multipl':19 'n':375 'name':95,119,135,221,274,297,319,327,333 'need':21,28 'null':378 'pars':455 'pass':192 'payload.applied':300,305 'payload.config':159,249,406 'payload.type':137,223,367 'payload.version':142,151,227,232,241,372,386 'pilot':2,50,444 'pilot-protocol':443 'pilot-swarm-config':1,49 'pilotctl':87,111,126,212,265,287,337,357,417,447 'pool':322 'prev':234,242,251,255 'previous':203,210,237,245 'protocol':445 'publish':68,89,267,419 'push':30 'r':150,158,240,248,385,405 'registri':91,115,269,334,340,420 'registry-hostnam':90,114,268 'registry.example.com':336 'report':262,415 'requir':442 'rollback':43,64,201 'run':449 'select':131,217,292,362 'set':25,316 'share':23,54 'skill':16,446 'skill-pilot-swarm-config' 'sleep':438 'sort':140,230,370 'source-teoslayer' 'status':272,295,328,331,422 'subscrib':106,113,313,339 'support':65 'swarm':3,10,35,51,58,94,118,134,220,273,296,318,326,332 'th':48 'timeout':81,183 'topic':132,218,293,363 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'track':258 'true':187,354 'type':97 'updat':13,32,62,70,99,109,139,225,369 'use':14,47 'valid':168,172,173,186,191,196 'version':12,40,60,73,100,102,145,166,204,207,229,235,256,264,280,282,301,303,306,345,350,381,389,392,397,399,413,429,431,433,435 'want':39 'worker':79,180,321 'worker-pool':320 'workflow':309","prices":[{"id":"3e6f4e24-d9b6-414f-b2b8-ae9ed4cf43ca","listingId":"000a09c5-48bc-40a9-86da-7b3f3d480402","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:52.994Z"}],"sources":[{"listingId":"000a09c5-48bc-40a9-86da-7b3f3d480402","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-swarm-config","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-swarm-config","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:52.994Z","lastSeenAt":"2026-05-18T19:15:04.689Z"}],"details":{"listingId":"000a09c5-48bc-40a9-86da-7b3f3d480402","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-swarm-config","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":"92b3d4b71f36e508d6dc0487470466cf334022f1","skill_md_path":"skills/pilot-swarm-config/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-swarm-config"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-swarm-config","license":"AGPL-3.0","description":"Distributed configuration management for agent swarms with versioned updates.  Use this skill when: 1. Multiple agents need to share configuration settings 2. You need to push config updates to all swarm members 3. You want versioned config with rollback capability  Do NOT use this skill when: - Configuration is static and set at startup (use local config files) - Each agent has unique config (no sharing needed)","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-swarm-config"},"updatedAt":"2026-05-18T19:15:04.689Z"}}