{"id":"c8351b80-571e-4842-bc3d-aecaff963a8a","shortId":"kz29jy","kind":"skill","title":"pilot-release-management-setup","tagline":"Deploy an automated release management pipeline with 3 agents.  Use this skill when: 1. User wants to set up a release management or changelog automation pipeline 2. User is configuring an agent as part of a release versioning workflow 3. User asks about generating changelogs, bu","description":"# Release Management Setup\n\nDeploy 3 agents that generate changelogs, manage versions, and announce releases.\n\n## Roles\n\n| Role | Hostname | Skills | Purpose |\n|------|----------|--------|---------|\n| changelog-bot | `<prefix>-changelog-bot` | pilot-github-bridge, pilot-share, pilot-archive | Scans merged PRs and commits, generates release notes |\n| version-manager | `<prefix>-version-manager` | pilot-task-router, pilot-receipt, pilot-audit-log | Bumps versions, tags releases, coordinates rollout |\n| announcer | `<prefix>-announcer` | pilot-announce, pilot-slack-bridge, pilot-webhook-bridge | Posts release announcements to Slack, email, docs |\n\n## Setup Procedure\n\n**Step 1:** Ask the user which role this agent should play and what prefix to use.\n\n**Step 2:** Install the skills for the chosen role:\n```bash\n# For changelog-bot:\nclawhub install pilot-github-bridge pilot-share pilot-archive\n\n# For version-manager:\nclawhub install pilot-task-router pilot-receipt pilot-audit-log\n\n# For announcer:\nclawhub install pilot-announce pilot-slack-bridge pilot-webhook-bridge\n```\n\n**Step 3:** Set the hostname:\n```bash\npilotctl --json set-hostname <prefix>-<role>\n```\n\n**Step 4:** Write the setup manifest:\n```bash\nmkdir -p ~/.pilot/setups\ncat > ~/.pilot/setups/release-management.json << 'MANIFEST'\n<INSERT ROLE MANIFEST FROM BELOW>\nMANIFEST\n```\n\n**Step 5:** Tell the user to initiate handshakes with direct communication peers.\n\n## Manifest Templates Per Role\n\n### changelog-bot\n```json\n{\n  \"setup\": \"release-management\", \"setup_name\": \"Release Management\",\n  \"role\": \"changelog-bot\", \"role_name\": \"Changelog Bot\",\n  \"hostname\": \"<prefix>-changelog-bot\",\n  \"description\": \"Scans merged PRs and commits, generates release notes and changelogs automatically.\",\n  \"skills\": {\n    \"pilot-github-bridge\": \"Watch for merged PRs, fetch commit history and PR metadata.\",\n    \"pilot-share\": \"Share generated changelogs with version manager.\",\n    \"pilot-archive\": \"Archive previous release notes for historical reference.\"\n  },\n  \"peers\": [\n    { \"role\": \"version-manager\", \"hostname\": \"<prefix>-version-manager\", \"description\": \"Receives release notes for versioning\" },\n    { \"role\": \"announcer\", \"hostname\": \"<prefix>-announcer\", \"description\": \"Final stage — does not communicate directly\" }\n  ],\n  \"data_flows\": [\n    { \"direction\": \"send\", \"peer\": \"<prefix>-version-manager\", \"port\": 1002, \"topic\": \"release-notes\", \"description\": \"Release notes with categorized changes\" }\n  ],\n  \"handshakes_needed\": [\"<prefix>-version-manager\"]\n}\n```\n\n### version-manager\n```json\n{\n  \"setup\": \"release-management\", \"setup_name\": \"Release Management\",\n  \"role\": \"version-manager\", \"role_name\": \"Version Manager\",\n  \"hostname\": \"<prefix>-version-manager\",\n  \"description\": \"Bumps semantic versions, tags releases, coordinates rollout schedules.\",\n  \"skills\": {\n    \"pilot-task-router\": \"Route version bump decisions based on change categories.\",\n    \"pilot-receipt\": \"Confirm receipt of release notes from changelog bot.\",\n    \"pilot-audit-log\": \"Log all version bumps and release tags for traceability.\"\n  },\n  \"peers\": [\n    { \"role\": \"changelog-bot\", \"hostname\": \"<prefix>-changelog-bot\", \"description\": \"Sends release notes with categorized changes\" },\n    { \"role\": \"announcer\", \"hostname\": \"<prefix>-announcer\", \"description\": \"Receives release tags for announcement\" }\n  ],\n  \"data_flows\": [\n    { \"direction\": \"receive\", \"peer\": \"<prefix>-changelog-bot\", \"port\": 1002, \"topic\": \"release-notes\", \"description\": \"Release notes with categorized changes\" },\n    { \"direction\": \"send\", \"peer\": \"<prefix>-announcer\", \"port\": 1002, \"topic\": \"release-tag\", \"description\": \"Release tag with version and artifacts\" }\n  ],\n  \"handshakes_needed\": [\"<prefix>-changelog-bot\", \"<prefix>-announcer\"]\n}\n```\n\n### announcer\n```json\n{\n  \"setup\": \"release-management\", \"setup_name\": \"Release Management\",\n  \"role\": \"announcer\", \"role_name\": \"Release Announcer\",\n  \"hostname\": \"<prefix>-announcer\",\n  \"description\": \"Posts release announcements to Slack, email lists, and documentation sites.\",\n  \"skills\": {\n    \"pilot-announce\": \"Broadcast release announcements to all subscribed channels.\",\n    \"pilot-slack-bridge\": \"Post formatted release notes to Slack channels.\",\n    \"pilot-webhook-bridge\": \"Notify documentation sites and email services via webhooks.\"\n  },\n  \"peers\": [\n    { \"role\": \"changelog-bot\", \"hostname\": \"<prefix>-changelog-bot\", \"description\": \"First stage — does not communicate directly\" },\n    { \"role\": \"version-manager\", \"hostname\": \"<prefix>-version-manager\", \"description\": \"Sends release tags for announcement\" }\n  ],\n  \"data_flows\": [\n    { \"direction\": \"receive\", \"peer\": \"<prefix>-version-manager\", \"port\": 1002, \"topic\": \"release-tag\", \"description\": \"Release tag with version and artifacts\" },\n    { \"direction\": \"send\", \"peer\": \"external\", \"port\": 443, \"topic\": \"release-announcement\", \"description\": \"Release announcement via Slack and webhooks\" }\n  ],\n  \"handshakes_needed\": [\"<prefix>-version-manager\"]\n}\n```\n\n## Data Flows\n\n- `changelog-bot -> version-manager` : release-notes events (port 1002)\n- `version-manager -> announcer` : release-tag events (port 1002)\n- `announcer -> external` : release-announcement via webhook (port 443)\n\n## Handshakes\n\n```bash\n# changelog-bot and version-manager handshake with each other:\npilotctl --json handshake <prefix>-version-manager \"setup: release-management\"\npilotctl --json handshake <prefix>-changelog-bot \"setup: release-management\"\n\n# version-manager and announcer handshake with each other:\npilotctl --json handshake <prefix>-announcer \"setup: release-management\"\npilotctl --json handshake <prefix>-version-manager \"setup: release-management\"\n```\n\n## Workflow Example\n\n```bash\n# On version-manager — subscribe to release notes:\npilotctl --json subscribe <prefix>-changelog-bot release-notes\n\n# On announcer — subscribe to release tags:\npilotctl --json subscribe <prefix>-version-manager release-tag\n\n# On changelog-bot — publish release notes:\npilotctl --json publish <prefix>-version-manager release-notes '{\"version\":\"1.5.0\",\"changes\":[{\"type\":\"feature\",\"description\":\"Add webhook retry logic\"}],\"breaking\":false}'\n\n# On version-manager — publish a release tag:\npilotctl --json publish <prefix>-announcer release-tag '{\"version\":\"v1.5.0\",\"artifacts\":[\"linux-amd64\",\"darwin-arm64\"]}'\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `clawhub` binary, and a running daemon.","tags":["pilot","release","management","setup","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network"],"capabilities":["skill","source-teoslayer","skill-pilot-release-management-setup","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-release-management-setup","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 (6,451 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:00.039Z","embedding":null,"createdAt":"2026-05-18T13:22:46.103Z","updatedAt":"2026-05-18T19:15:00.039Z","lastSeenAt":"2026-05-18T19:15:00.039Z","tsv":"'/.pilot/setups':234 '/.pilot/setups/release-management.json':236 '1':19,141 '1.5.0':796 '1002':360,481,497,617,664,674 '2':32,157 '3':13,45,56,215 '4':226 '443':634,683 '5':240 'add':801 'agent':14,37,57,148 'amd64':827 'announc':64,118,119,122,133,200,205,341,343,463,465,471,495,514,515,526,530,532,536,547,550,607,638,641,668,675,679,721,729,765,818 'archiv':86,181,317,318 'arm64':830 'artifact':508,628,824 'ask':47,142 'audit':110,197,435 'autom':8,30 'automat':290 'base':418 'bash':165,219,231,685,746 'binari':838,840 'bot':73,76,169,257,270,274,278,432,450,454,479,513,582,586,655,688,712,760,782 'break':805 'bridg':80,126,130,175,209,213,295,558,569 'broadcast':548 'bu':51 'bump':112,401,416,440 'cat':235 'categor':369,460,490 'categori':421 'chang':370,420,461,491,797 'changelog':29,50,60,72,75,168,256,269,273,277,289,311,431,449,453,478,512,581,585,654,687,711,759,781 'changelog-bot':71,74,167,255,268,276,448,452,477,511,580,584,653,686,710,758,780 'channel':554,565 'chosen':163 'clawhub':170,186,201,839 'commit':91,284,301 'communic':249,349,592 'configur':35 'confirm':425 'coordin':116,406 'daemon':844 'darwin':829 'darwin-arm64':828 'data':351,472,608,651 'decis':417 'depend':831 'deploy':6,55 'descript':279,334,344,365,400,455,466,486,502,533,587,602,622,639,800 'direct':248,350,353,474,492,593,610,629 'doc':137 'document':542,571 'email':136,539,574 'event':662,672 'exampl':745 'extern':632,676 'fals':806 'featur':799 'fetch':300 'final':345 'first':588 'flow':352,473,609,652 'format':560 'generat':49,59,92,285,310 'github':79,174,294 'handshak':246,371,509,646,684,693,699,709,722,728,736 'histor':323 'histori':302 'hostnam':68,218,224,275,330,342,396,451,464,531,583,598 'initi':245 'instal':158,171,187,202 'json':221,258,379,516,698,708,727,735,756,771,787,816 'linux':826 'linux-amd64':825 'list':540 'log':111,198,436,437 'logic':804 'manag':4,10,27,53,61,97,100,185,262,266,314,329,333,358,375,378,383,387,391,395,399,520,524,597,601,615,650,658,667,692,702,706,716,719,733,739,743,750,775,791,810 'manifest':230,237,238,251 'merg':88,281,298 'metadata':305 'mkdir':232 'name':264,272,385,393,522,528 'need':372,510,647 'note':94,287,321,337,364,367,429,458,485,488,562,661,754,763,785,794 'notifi':570 'p':233 'part':39 'peer':250,325,355,446,476,494,578,612,631 'per':253 'pilot':2,78,82,85,102,106,109,121,124,128,173,177,180,189,193,196,204,207,211,293,307,316,411,423,434,546,556,567,834 'pilot-announc':120,203,545 'pilot-arch':84,179,315 'pilot-audit-log':108,195,433 'pilot-github-bridg':77,172,292 'pilot-protocol':833 'pilot-receipt':105,192,422 'pilot-release-management-setup':1 'pilot-shar':81,176,306 'pilot-slack-bridg':123,206,555 'pilot-task-rout':101,188,410 'pilot-webhook-bridg':127,210,566 'pilotctl':220,697,707,726,734,755,770,786,815,837 'pipelin':11,31 'play':150 'port':359,480,496,616,633,663,673,682 'post':131,534,559 'pr':304 'prefix':153 'previous':319 'procedur':139 'protocol':835 'prs':89,282,299 'publish':783,788,811,817 'purpos':70 'receipt':107,194,424,426 'receiv':335,467,475,611 'refer':324 'releas':3,9,26,42,52,65,93,115,132,261,265,286,320,336,363,366,382,386,405,428,442,457,468,484,487,500,503,519,523,529,535,549,561,604,620,623,637,640,660,670,678,705,715,732,742,753,762,768,777,784,793,813,820 'release-announc':636,677 'release-manag':260,381,518,704,714,731,741 'release-not':362,483,659,761,792 'release-tag':499,619,669,776,819 'requir':832 'retri':803 'role':66,67,146,164,254,267,271,326,340,388,392,447,462,525,527,579,594 'rollout':117,407 'rout':414 'router':104,191,413 'run':843 'scan':87,280 'schedul':408 'semant':402 'send':354,456,493,603,630 'servic':575 'set':23,216,223 'set-hostnam':222 'setup':5,54,138,229,259,263,380,384,517,521,703,713,730,740 'share':83,178,308,309 'site':543,572 'skill':17,69,160,291,409,544,836 'skill-pilot-release-management-setup' 'slack':125,135,208,538,557,564,643 'source-teoslayer' 'stage':346,589 'step':140,156,214,225,239 'subscrib':553,751,757,766,772 'tag':114,404,443,469,501,504,605,621,624,671,769,778,814,821 'task':103,190,412 'tell':241 'templat':252 'topic':361,482,498,618,635 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'traceabl':445 'type':798 'use':15,155 'user':20,33,46,144,243 'v1.5.0':823 'version':43,62,96,99,113,184,313,328,332,339,357,374,377,390,394,398,403,415,439,506,596,600,614,626,649,657,666,691,701,718,738,749,774,790,795,809,822 'version-manag':95,98,183,327,331,356,373,376,389,397,595,599,613,648,656,665,690,700,717,737,748,773,789,808 'via':576,642,680 'want':21 'watch':296 'webhook':129,212,568,577,645,681,802 'workflow':44,744 'write':227","prices":[{"id":"79721b7d-1a35-4093-86f2-bba55e4f7bb4","listingId":"c8351b80-571e-4842-bc3d-aecaff963a8a","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:46.103Z"}],"sources":[{"listingId":"c8351b80-571e-4842-bc3d-aecaff963a8a","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-release-management-setup","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-release-management-setup","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:46.103Z","lastSeenAt":"2026-05-18T19:15:00.039Z"}],"details":{"listingId":"c8351b80-571e-4842-bc3d-aecaff963a8a","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-release-management-setup","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":"ae46582648ac2c2dca16d7639dfc321465f7bb47","skill_md_path":"skills/pilot-release-management-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-release-management-setup"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-release-management-setup","license":"AGPL-3.0","description":"Deploy an automated release management pipeline with 3 agents.  Use this skill when: 1. User wants to set up a release management or changelog automation pipeline 2. User is configuring an agent as part of a release versioning workflow 3. User asks about generating changelogs, bumping versions, or announcing releases across agents  Do NOT use this skill when: - User wants to share a single file (use pilot-share instead) - User wants to send a one-off announcement (use pilot-announce instead)"},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-release-management-setup"},"updatedAt":"2026-05-18T19:15:00.039Z"}}