Claude-code-flow agent-release-swarm
Agent skill for release-swarm - invoke with $agent-release-swarm
install
source · Clone the upstream repo
git clone https://github.com/ruvnet/ruflo
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ruvnet/ruflo "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agents/skills/agent-release-swarm" ~/.claude/skills/ruvnet-claude-code-flow-agent-release-swarm && rm -rf "$T"
manifest:
.agents/skills/agent-release-swarm/SKILL.mdsource content
name: release-swarm description: Orchestrate complex software releases using AI swarms that handle everything from changelog generation to multi-platform deployment type: coordination color: "#4ECDC4" tools:
- Bash
- Read
- Write
- Edit
- TodoWrite
- TodoRead
- Task
- WebFetch
- mcp__github__create_pull_request
- mcp__github__merge_pull_request
- mcp__github__create_branch
- mcp__github__push_files
- mcp__github__create_issue
- mcp__claude-flow__swarm_init
- mcp__claude-flow__agent_spawn
- mcp__claude-flow__task_orchestrate
- mcp__claude-flow__parallel_execute
- mcp__claude-flow__load_balance hooks: pre_task: | echo "🐝 Initializing release swarm coordination..." npx ruv-swarm hook pre-task --mode release-swarm --init-swarm post_edit: | echo "🔄 Synchronizing release swarm state and validating changes..." npx ruv-swarm hook post-edit --mode release-swarm --sync-swarm post_task: | echo "🎯 Release swarm task completed. Coordinating final deployment..." npx ruv-swarm hook post-task --mode release-swarm --finalize-release notification: | echo "📡 Broadcasting release completion across all swarm agents..." npx ruv-swarm hook notification --mode release-swarm --broadcast
Release Swarm - Intelligent Release Automation
Overview
Orchestrate complex software releases using AI swarms that handle everything from changelog generation to multi-platform deployment.
Core Features
1. Release Planning
# Plan next release using gh CLI # Get commit history since last release LAST_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName') COMMITS=$(gh api repos/:owner/:repo$compare/${LAST_TAG}...HEAD --jq '.commits') # Get merged PRs MERGED_PRS=$(gh pr list --state merged --base main --json number,title,labels,mergedAt \ --jq ".[] | select(.mergedAt > \"$(gh release view $LAST_TAG --json publishedAt -q .publishedAt)\")") # Plan release with commit analysis npx ruv-swarm github release-plan \ --commits "$COMMITS" \ --merged-prs "$MERGED_PRS" \ --analyze-commits \ --suggest-version \ --identify-breaking \ --generate-timeline
2. Automated Versioning
# Smart version bumping npx ruv-swarm github release-version \ --strategy "semantic" \ --analyze-changes \ --check-breaking \ --update-files
3. Release Orchestration
# Full release automation with gh CLI # Generate changelog from PRs and commits CHANGELOG=$(gh api repos/:owner/:repo$compare/${LAST_TAG}...HEAD \ --jq '.commits[].commit.message' | \ npx ruv-swarm github generate-changelog) # Create release draft gh release create v2.0.0 \ --draft \ --title "Release v2.0.0" \ --notes "$CHANGELOG" \ --target main # Run release orchestration npx ruv-swarm github release-create \ --version "2.0.0" \ --changelog "$CHANGELOG" \ --build-artifacts \ --deploy-targets "npm,docker,github" # Publish release after validation gh release edit v2.0.0 --draft=false # Create announcement issue gh issue create \ --title "🎉 Released v2.0.0" \ --body "$CHANGELOG" \ --label "announcement,release"
Release Configuration
Release Config File
# .github$release-swarm.yml version: 1 release: versioning: strategy: semantic breaking-keywords: ["BREAKING", "!"] changelog: sections: - title: "🚀 Features" labels: ["feature", "enhancement"] - title: "🐛 Bug Fixes" labels: ["bug", "fix"] - title: "📚 Documentation" labels: ["docs", "documentation"] artifacts: - name: npm-package build: npm run build publish: npm publish - name: docker-image build: docker build -t app:$VERSION . publish: docker push app:$VERSION - name: binaries build: .$scripts$build-binaries.sh upload: github-release deployment: environments: - name: staging auto-deploy: true validation: npm run test:e2e - name: production approval-required: true rollback-enabled: true notifications: - slack: releases-channel - email: stakeholders@company.com - discord: webhook-url
Release Agents
Changelog Agent
# Generate intelligent changelog with gh CLI # Get all merged PRs between versions PRS=$(gh pr list --state merged --base main --json number,title,labels,author,mergedAt \ --jq ".[] | select(.mergedAt > \"$(gh release view v1.0.0 --json publishedAt -q .publishedAt)\")") # Get contributors CONTRIBUTORS=$(echo "$PRS" | jq -r '[.author.login] | unique | join(", ")') # Get commit messages COMMITS=$(gh api repos/:owner/:repo$compare$v1.0.0...HEAD \ --jq '.commits[].commit.message') # Generate categorized changelog CHANGELOG=$(npx ruv-swarm github changelog \ --prs "$PRS" \ --commits "$COMMITS" \ --contributors "$CONTRIBUTORS" \ --from v1.0.0 \ --to HEAD \ --categorize \ --add-migration-guide) # Save changelog echo "$CHANGELOG" > CHANGELOG.md # Create PR with changelog update gh pr create \ --title "docs: Update changelog for v2.0.0" \ --body "Automated changelog update" \ --base main
Capabilities:
- Semantic commit analysis
- Breaking change detection
- Contributor attribution
- Migration guide generation
- Multi-language support
Version Agent
# Determine next version npx ruv-swarm github version-suggest \ --current v1.2.3 \ --analyze-commits \ --check-compatibility \ --suggest-pre-release
Logic:
- Analyzes commit messages
- Detects breaking changes
- Suggests appropriate bump
- Handles pre-releases
- Validates version constraints
Build Agent
# Coordinate multi-platform builds npx ruv-swarm github release-build \ --platforms "linux,macos,windows" \ --architectures "x64,arm64" \ --parallel \ --optimize-size
Features:
- Cross-platform compilation
- Parallel build execution
- Artifact optimization
- Dependency bundling
- Build caching
Test Agent
# Pre-release testing npx ruv-swarm github release-test \ --suites "unit,integration,e2e,performance" \ --environments "node:16,node:18,node:20" \ --fail-fast false \ --generate-report
Deploy Agent
# Multi-target deployment npx ruv-swarm github release-deploy \ --targets "npm,docker,github,s3" \ --staged-rollout \ --monitor-metrics \ --auto-rollback
Advanced Features
1. Progressive Deployment
# Staged rollout configuration deployment: strategy: progressive stages: - name: canary percentage: 5 duration: 1h metrics: - error-rate < 0.1% - latency-p99 < 200ms - name: partial percentage: 25 duration: 4h validation: automated-tests - name: full percentage: 100 approval: required
2. Multi-Repo Releases
# Coordinate releases across repos npx ruv-swarm github multi-release \ --repos "frontend:v2.0.0,backend:v2.1.0,cli:v1.5.0" \ --ensure-compatibility \ --atomic-release \ --synchronized
3. Hotfix Automation
# Emergency hotfix process npx ruv-swarm github hotfix \ --issue 789 \ --target-version v1.2.4 \ --cherry-pick-commits \ --fast-track-deploy
Release Workflows
Standard Release Flow
# .github$workflows$release.yml name: Release Workflow on: push: tags: ['v*'] jobs: release-swarm: runs-on: ubuntu-latest steps: - uses: actions$checkout@v3 with: fetch-depth: 0 - name: Setup GitHub CLI run: echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token - name: Initialize Release Swarm run: | # Get release tag and previous tag RELEASE_TAG=${{ github.ref_name }} PREV_TAG=$(gh release list --limit 2 --json tagName -q '.[1].tagName') # Get PRs and commits for changelog PRS=$(gh pr list --state merged --base main --json number,title,labels,author \ --search "merged:>=$(gh release view $PREV_TAG --json publishedAt -q .publishedAt)") npx ruv-swarm github release-init \ --tag $RELEASE_TAG \ --previous-tag $PREV_TAG \ --prs "$PRS" \ --spawn-agents "changelog,version,build,test,deploy" - name: Generate Release Assets run: | # Generate changelog from PR data CHANGELOG=$(npx ruv-swarm github release-changelog \ --format markdown) # Update release notes gh release edit ${{ github.ref_name }} \ --notes "$CHANGELOG" # Generate and upload assets npx ruv-swarm github release-assets \ --changelog \ --binaries \ --documentation - name: Upload Release Assets run: | # Upload generated assets to GitHub release for file in dist/*; do gh release upload ${{ github.ref_name }} "$file" done - name: Publish Release run: | # Publish to package registries npx ruv-swarm github release-publish \ --platforms all # Create announcement issue gh issue create \ --title "🚀 Released ${{ github.ref_name }}" \ --body "See [release notes](https:/$github.com/${{ github.repository }}$releases$tag/${{ github.ref_name }})" \ --label "announcement"
Continuous Deployment
# Automated deployment pipeline npx ruv-swarm github cd-pipeline \ --trigger "merge-to-main" \ --auto-version \ --deploy-on-success \ --rollback-on-failure
Release Validation
Pre-Release Checks
# Comprehensive validation npx ruv-swarm github release-validate \ --checks " version-conflicts, dependency-compatibility, api-breaking-changes, security-vulnerabilities, performance-regression, documentation-completeness " \ --block-on-failure
Compatibility Testing
# Test backward compatibility npx ruv-swarm github compat-test \ --previous-versions "v1.0,v1.1,v1.2" \ --api-contracts \ --data-migrations \ --generate-report
Security Scanning
# Security validation npx ruv-swarm github release-security \ --scan-dependencies \ --check-secrets \ --audit-permissions \ --sign-artifacts
Monitoring & Rollback
Release Monitoring
# Monitor release health npx ruv-swarm github release-monitor \ --version v2.0.0 \ --metrics "error-rate,latency,throughput" \ --alert-thresholds \ --duration 24h
Automated Rollback
# Configure auto-rollback npx ruv-swarm github rollback-config \ --triggers '{ "error-rate": ">5%", "latency-p99": ">1000ms", "availability": "<99.9%" }' \ --grace-period 5m \ --notify-on-rollback
Release Analytics
# Analyze release performance npx ruv-swarm github release-analytics \ --version v2.0.0 \ --compare-with v1.9.0 \ --metrics "adoption,performance,stability" \ --generate-insights
Documentation
Auto-Generated Docs
# Update documentation npx ruv-swarm github release-docs \ --api-changes \ --migration-guide \ --example-updates \ --publish-to "docs-site,wiki"
Release Notes
<!-- Auto-generated release notes template --> # Release v2.0.0 ## 🎉 Highlights - Major feature X with 50% performance improvement - New API endpoints for feature Y - Enhanced security with feature Z ## 🚀 Features ### Feature Name (#PR) Detailed description of the feature... ## 🐛 Bug Fixes ### Fixed issue with... (#PR) Description of the fix... ## 💥 Breaking Changes ### API endpoint renamed - Before: `$api$old-endpoint` - After: `$api$new-endpoint` - Migration: Update all client calls... ## 📈 Performance Improvements - Reduced memory usage by 30% - API response time improved by 200ms ## 🔒 Security Updates - Updated dependencies to patch CVE-XXXX - Enhanced authentication mechanism ## 📚 Documentation - Added examples for new features - Updated API reference - New troubleshooting guide ## 🙏 Contributors Thanks to all contributors who made this release possible!
Best Practices
1. Release Planning
- Regular release cycles
- Feature freeze periods
- Beta testing phases
- Clear communication
2. Automation
- Comprehensive CI/CD
- Automated testing
- Progressive rollouts
- Monitoring and alerts
3. Documentation
- Up-to-date changelogs
- Migration guides
- API documentation
- Example updates
Integration Examples
NPM Package Release
# NPM package release npx ruv-swarm github npm-release \ --version patch \ --test-all \ --publish-beta \ --tag-latest-on-success
Docker Image Release
# Docker multi-arch release npx ruv-swarm github docker-release \ --platforms "linux$amd64,linux$arm64" \ --tags "latest,v2.0.0,stable" \ --scan-vulnerabilities \ --push-to "dockerhub,gcr,ecr"
Mobile App Release
# Mobile app store release npx ruv-swarm github mobile-release \ --platforms "ios,android" \ --build-release \ --submit-review \ --staged-rollout
Emergency Procedures
Hotfix Process
# Emergency hotfix npx ruv-swarm github emergency-release \ --severity critical \ --bypass-checks security-only \ --fast-track \ --notify-all
Rollback Procedure
# Immediate rollback npx ruv-swarm github rollback \ --to-version v1.9.9 \ --reason "Critical bug in v2.0.0" \ --preserve-data \ --notify-users
See also: workflow-automation.md, multi-repo-swarm.md