Pilot Release Management Setup
/install pilot-release-management-setup
Release Management Setup
Deploy 3 agents that generate changelogs, manage versions, and announce releases.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| changelog-bot | \x3Cprefix>-changelog-bot |
pilot-github-bridge, pilot-share, pilot-archive | Scans merged PRs and commits, generates release notes |
| version-manager | \x3Cprefix>-version-manager |
pilot-task-router, pilot-receipt, pilot-audit-log | Bumps versions, tags releases, coordinates rollout |
| announcer | \x3Cprefix>-announcer |
pilot-announce, pilot-slack-bridge, pilot-webhook-bridge | Posts release announcements to Slack, email, docs |
Setup Procedure
Step 1: Ask the user which role this agent should play and what prefix to use.
Step 2: Install the skills for the chosen role:
# For changelog-bot:
clawhub install pilot-github-bridge pilot-share pilot-archive
# For version-manager:
clawhub install pilot-task-router pilot-receipt pilot-audit-log
# For announcer:
clawhub install pilot-announce pilot-slack-bridge pilot-webhook-bridge
Step 3: Set the hostname:
pilotctl --json set-hostname \x3Cprefix>-\x3Crole>
Step 4: Write the setup manifest:
mkdir -p ~/.pilot/setups
cat > ~/.pilot/setups/release-management.json \x3C\x3C 'MANIFEST'
\x3CINSERT ROLE MANIFEST FROM BELOW>
MANIFEST
Step 5: Tell the user to initiate handshakes with direct communication peers.
Manifest Templates Per Role
changelog-bot
{
"setup": "release-management", "setup_name": "Release Management",
"role": "changelog-bot", "role_name": "Changelog Bot",
"hostname": "\x3Cprefix>-changelog-bot",
"description": "Scans merged PRs and commits, generates release notes and changelogs automatically.",
"skills": {
"pilot-github-bridge": "Watch for merged PRs, fetch commit history and PR metadata.",
"pilot-share": "Share generated changelogs with version manager.",
"pilot-archive": "Archive previous release notes for historical reference."
},
"peers": [
{ "role": "version-manager", "hostname": "\x3Cprefix>-version-manager", "description": "Receives release notes for versioning" },
{ "role": "announcer", "hostname": "\x3Cprefix>-announcer", "description": "Final stage — does not communicate directly" }
],
"data_flows": [
{ "direction": "send", "peer": "\x3Cprefix>-version-manager", "port": 1002, "topic": "release-notes", "description": "Release notes with categorized changes" }
],
"handshakes_needed": ["\x3Cprefix>-version-manager"]
}
version-manager
{
"setup": "release-management", "setup_name": "Release Management",
"role": "version-manager", "role_name": "Version Manager",
"hostname": "\x3Cprefix>-version-manager",
"description": "Bumps semantic versions, tags releases, coordinates rollout schedules.",
"skills": {
"pilot-task-router": "Route version bump decisions based on change categories.",
"pilot-receipt": "Confirm receipt of release notes from changelog bot.",
"pilot-audit-log": "Log all version bumps and release tags for traceability."
},
"peers": [
{ "role": "changelog-bot", "hostname": "\x3Cprefix>-changelog-bot", "description": "Sends release notes with categorized changes" },
{ "role": "announcer", "hostname": "\x3Cprefix>-announcer", "description": "Receives release tags for announcement" }
],
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-changelog-bot", "port": 1002, "topic": "release-notes", "description": "Release notes with categorized changes" },
{ "direction": "send", "peer": "\x3Cprefix>-announcer", "port": 1002, "topic": "release-tag", "description": "Release tag with version and artifacts" }
],
"handshakes_needed": ["\x3Cprefix>-changelog-bot", "\x3Cprefix>-announcer"]
}
announcer
{
"setup": "release-management", "setup_name": "Release Management",
"role": "announcer", "role_name": "Release Announcer",
"hostname": "\x3Cprefix>-announcer",
"description": "Posts release announcements to Slack, email lists, and documentation sites.",
"skills": {
"pilot-announce": "Broadcast release announcements to all subscribed channels.",
"pilot-slack-bridge": "Post formatted release notes to Slack channels.",
"pilot-webhook-bridge": "Notify documentation sites and email services via webhooks."
},
"peers": [
{ "role": "changelog-bot", "hostname": "\x3Cprefix>-changelog-bot", "description": "First stage — does not communicate directly" },
{ "role": "version-manager", "hostname": "\x3Cprefix>-version-manager", "description": "Sends release tags for announcement" }
],
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-version-manager", "port": 1002, "topic": "release-tag", "description": "Release tag with version and artifacts" },
{ "direction": "send", "peer": "external", "port": 443, "topic": "release-announcement", "description": "Release announcement via Slack and webhooks" }
],
"handshakes_needed": ["\x3Cprefix>-version-manager"]
}
Data Flows
changelog-bot -> version-manager: release-notes events (port 1002)version-manager -> announcer: release-tag events (port 1002)announcer -> external: release-announcement via webhook (port 443)
Handshakes
# changelog-bot and version-manager handshake with each other:
pilotctl --json handshake \x3Cprefix>-version-manager "setup: release-management"
pilotctl --json handshake \x3Cprefix>-changelog-bot "setup: release-management"
# version-manager and announcer handshake with each other:
pilotctl --json handshake \x3Cprefix>-announcer "setup: release-management"
pilotctl --json handshake \x3Cprefix>-version-manager "setup: release-management"
Workflow Example
# On version-manager — subscribe to release notes:
pilotctl --json subscribe \x3Cprefix>-changelog-bot release-notes
# On announcer — subscribe to release tags:
pilotctl --json subscribe \x3Cprefix>-version-manager release-tag
# On changelog-bot — publish release notes:
pilotctl --json publish \x3Cprefix>-version-manager release-notes '{"version":"1.5.0","changes":[{"type":"feature","description":"Add webhook retry logic"}],"breaking":false}'
# On version-manager — publish a release tag:
pilotctl --json publish \x3Cprefix>-announcer release-tag '{"version":"v1.5.0","artifacts":["linux-amd64","darwin-arm64"]}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install pilot-release-management-setup - 安装完成后,直接呼叫该 Skill 的名称或使用
/pilot-release-management-setup触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Pilot Release Management Setup 是什么?
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 pipe... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 54 次。
如何安装 Pilot Release Management Setup?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install pilot-release-management-setup」即可一键安装,无需额外配置。
Pilot Release Management Setup 是免费的吗?
是的,Pilot Release Management Setup 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Pilot Release Management Setup 支持哪些平台?
Pilot Release Management Setup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Pilot Release Management Setup?
由 Calin Teodor(@teoslayer)开发并维护,当前版本 v1.0.0。