Software release management and coordination. Use when creating releases, bumping versions, or rolling back deployments. Trigger with release tasks or /eia-create-release.
npx claudepluginhub emasoft/emasoft-plugins --plugin emasoft-integrator-agentThis skill uses the workspace's default tool permissions.
This skill defines the **release management procedures** for coordinating software releases across patch, minor, and major version changes.
references/cicd-integration.mdreferences/git-cliff-integration.mdreferences/op-bump-version.mdreferences/op-create-release-tag.mdreferences/op-determine-version.mdreferences/op-escalate-release-blocker.mdreferences/op-execute-rollback.mdreferences/op-generate-changelog.mdreferences/op-update-readme-badges.mdreferences/op-validate-changelog-gate.mdreferences/op-validate-release-tags.mdreferences/op-verify-release-readiness.mdreferences/post-release-verification.mdreferences/pre-release-verification.mdreferences/release-process.mdreferences/release-responsibilities.mdreferences/release-types.mdreferences/release-workflow-chain.mdreferences/rollback-procedures.mdreferences/semantic-versioning.mdAutomates GitHub releases with gh CLI including semantic versioning, changelog generation from PRs, tagging, and asset management. Use for creating, editing, or verifying releases.
Creates GitHub releases with semantic versioning: analyzes commits for version bumps, generates changelogs, updates version files like package.json or pyproject.toml, creates git tags, publishes notes, and attaches artifacts.
Automates semantic versioning releases via CHANGELOG validation, comparison links, GitHub Actions triggering/monitoring, and scaffolds release pipelines for projects.
Share bugs, ideas, or general feedback.
This skill defines the release management procedures for coordinating software releases across patch, minor, and major version changes.
Release management is the final gate before code reaches production. It requires systematic verification, proper versioning, comprehensive documentation, and reliable rollback procedures.
Before using this skill, ensure:
gh) installed and authenticated| Output Type | Format | Contents |
|---|---|---|
| Release Verification Report | Markdown | Pre-release checklist results, pass/fail status, blocking issues |
| Changelog | Markdown | Categorized list of changes since last release |
| Release Notes | Markdown | User-facing summary of changes, highlights, migration notes |
| Version Bump Confirmation | JSON | Old version, new version, files modified |
| Release Tag | Git tag | Annotated tag with version and release notes summary |
| Rollback Report | Markdown | Rollback steps taken, verification of rollback success |
Copy this checklist and track your progress:
Release Request Received
|
+--> What type of release?
| +--> PATCH (bug fixes only)
| | +--> Version: X.Y.Z+1
| | +--> No breaking changes allowed
| | +--> Minimal changelog required
| |
| +--> MINOR (new features, backward compatible)
| | +--> Version: X.Y+1.0
| | +--> New features documented
| | +--> Deprecation notices if applicable
| |
| +--> MAJOR (breaking changes)
| +--> Version: X+1.0.0
| +--> Migration guide required
| +--> Breaking changes documented
| +--> User notification required
|
+--> Pre-release verification passes?
| +--> YES --> Proceed to release
| +--> NO --> Identify blocking issues
| +--> Critical issues --> STOP, escalate to user
| +--> Non-critical --> Document and proceed (with approval)
|
+--> Release deployed successfully?
+--> YES --> Create release notes, notify stakeholders
+--> NO --> Initiate rollback (see Section 7)
Complete detailed procedures are in reference files:
references/release-responsibilities.md - What coordinators must/must not do
references/release-types.md - Patch, minor, major, pre-release definitions
references/semantic-versioning.md - Version format and incrementing rules
references/release-process.md - Version bumping, changelog, release notes, tagging
references/pre-release-verification.md - Quality gates and verification checklist
references/post-release-verification.md - Deployment verification and smoke testing
references/rollback-procedures.md - When and how to rollback releases
references/cicd-integration.md - Pipeline configuration and automation
For tag-branch collision troubleshooting, see troubleshooting-tag-branch-collision.md:
Script: scripts/eia_cleanup_version_branches.sh — Detects and reports version tag/branch name collisions (safe, print-only)
| Change Type | Version Increment | Example |
|---|---|---|
| Bug fix (no API change) | PATCH | 1.2.3 -> 1.2.4 |
| New feature (backward compatible) | MINOR | 1.2.3 -> 1.3.0 |
| Breaking change | MAJOR | 1.2.3 -> 2.0.0 |
| Pre-release alpha | PATCH + suffix | 1.2.3 -> 1.2.4-alpha.1 |
| Pre-release beta | PATCH + suffix | 1.2.4-alpha.1 -> 1.2.4-beta.1 |
| Release candidate | PATCH + suffix | 1.2.4-beta.1 -> 1.2.4-rc.1 |
Instead of time-based checks, use state-based transitions:
UNVERIFIED
|
v
VERIFICATION_IN_PROGRESS
|
+--> All gates pass --> READY_FOR_RELEASE
|
+--> Any gate fails --> BLOCKED
|
v
Identify blocker type
|
+--> Critical --> ESCALATE_TO_USER
+--> Non-critical --> DOCUMENT_AND_AWAIT_APPROVAL
When verification fails, follow this escalation order:
| Order | Condition | Action |
|---|---|---|
| 1 | Test failure | Delegate fix to implementation agent, await resolution |
| 2 | Critical bug open | Escalate to user for release decision |
| 3 | Missing documentation | Delegate documentation task, await completion |
| 4 | Dependency vulnerability | Escalate to user with severity assessment |
| 5 | CI/CD failure | Investigate cause, escalate if infrastructure issue |
Location: scripts/eia_release_verify.py
Purpose: Run pre-release verification checklist
When to use: Before any release to verify readiness
Output: JSON with pass/fail status for each gate
# Usage
python scripts/eia_release_verify.py --repo owner/repo --version 1.2.3
# Output format
{
"version": "1.2.3",
"ready": true|false,
"gates": {
"tests_pass": {"status": "pass", "details": "142 tests passed"},
"no_critical_bugs": {"status": "pass", "details": "0 critical issues"},
"docs_updated": {"status": "pass", "details": "CHANGELOG.md updated"},
"dependencies_clean": {"status": "pass", "details": "No vulnerabilities"}
},
"blockers": []
}
Location: scripts/eia_changelog_generate.py
Purpose: Generate changelog from commit history
When to use: Before creating release notes
Output: Markdown changelog content
# Usage
python scripts/eia_changelog_generate.py --repo owner/repo --from v1.2.2 --to HEAD
# Output: Markdown formatted changelog
Location: scripts/eia_version_bump.py
Purpose: Bump version in all required files
When to use: After determining new version number
Output: JSON with files modified
# Usage
python scripts/eia_version_bump.py --repo owner/repo --type patch|minor|major
# Output format
{
"old_version": "1.2.2",
"new_version": "1.2.3",
"files_modified": ["package.json", "pyproject.toml", "VERSION"]
}
Location: scripts/eia_create_release.py
Purpose: Create GitHub release with tag and notes
When to use: After all verification passes
Output: Release URL
# Usage
python scripts/eia_create_release.py --repo owner/repo --version 1.2.3 --notes release_notes.md
# Output format
{
"release_url": "https://github.com/owner/repo/releases/tag/v1.2.3",
"tag": "v1.2.3",
"status": "published"
}
Location: scripts/eia_rollback.py
Purpose: Execute rollback to previous version
When to use: When post-release verification fails
Output: Rollback status report
# Usage
python scripts/eia_rollback.py --repo owner/repo --from v1.2.3 --to v1.2.2 --reason "Critical bug"
# Output format
{
"rolled_back_from": "v1.2.3",
"rolled_back_to": "v1.2.2",
"status": "success",
"actions_taken": [
"Deprecated npm package 1.2.3",
"Deleted git tag v1.2.3",
"Created rollback issue #456"
]
}
Location: scripts/eia_cleanup_version_branches.sh
Purpose: Detect and report version tag/branch name collisions
When to use: When HTTP 300 errors occur on release downloads, or as a periodic maintenance check
Output: Colored terminal output listing collisions and safe deletion commands (print-only, does not auto-delete)
# Usage
bash scripts/eia_cleanup_version_branches.sh
The release coordinator must NEVER publish a release without explicit user approval. Always present verification results and await decision.
Always run pre-release verification before starting release process. Always run post-release verification after deployment completes.
Every release must have:
Always have a rollback plan before releasing. Know exactly how to revert if issues arise.
Version numbers communicate meaning. Never use incorrect version increments.
# 1. Verify release readiness
python scripts/eia_release_verify.py --repo owner/repo --version 1.2.4
# 2. Generate changelog
python scripts/eia_changelog_generate.py --repo owner/repo --from v1.2.3 --to HEAD
# 3. Bump version
python scripts/eia_version_bump.py --repo owner/repo --type patch
# 4. Create release (after user approval)
python scripts/eia_create_release.py --repo owner/repo --version 1.2.4 --notes release_notes.md
# 1. Verify release readiness (includes migration guide check)
python scripts/eia_release_verify.py --repo owner/repo --version 2.0.0 --type major
# 2. Generate comprehensive changelog
python scripts/eia_changelog_generate.py --repo owner/repo --from v1.9.0 --to HEAD --include-breaking
# 3. Bump version
python scripts/eia_version_bump.py --repo owner/repo --type major
# 4. Create release with migration notes
python scripts/eia_create_release.py --repo owner/repo --version 2.0.0 --notes release_notes.md --prerelease false
# 1. Execute rollback
python scripts/eia_rollback.py --repo owner/repo --from v1.2.4 --to v1.2.3 --reason "Critical regression in API"
# 2. Verify rollback success
python scripts/eia_release_verify.py --repo owner/repo --version 1.2.3 --mode verify-deployed
Cause: One or more quality gates not passing Solution: Identify failing gates from verification report, delegate fixes to appropriate agent, await resolution before proceeding
Cause: Version already bumped in another branch or manual edit Solution: Check current version across all files, resolve conflicts, ensure consistency before proceeding
Cause: Tag was created previously (possibly from failed release) Solution: Verify tag points to correct commit. If incorrect, delete tag and recreate. If correct, skip tag creation.
Cause: Infrastructure issue, test failure, or configuration problem Solution: Check pipeline logs, identify failure stage, address root cause, re-trigger pipeline
Cause: Deployment delay, monitoring misconfiguration, or actual failure Solution: Check deployment logs, verify package registry, run manual smoke tests, escalate if issue persists
Cause: Package registry restrictions, deployment system issues Solution: Document manual rollback steps, escalate to user, consider publishing hotfix version instead
Check for incoming release requests by checking your inbox using the agent-messaging skill. Filter for messages with content.type == "release-request".
Notify requesting agent that release verification is complete. Send a message using the agent-messaging skill with:
orchestrator-eoaRelease Verification: v1.2.3high{"type": "release-ready", "message": "Release v1.2.3 verification complete. All gates passed. Awaiting user approval to publish."}agent-messaging skill send confirmation.After successful release, send a message using the agent-messaging skill with:
orchestrator-eoaRelease Published: v1.2.3normal{"type": "release-complete", "message": "Release v1.2.3 published successfully. URL: https://github.com/owner/repo/releases/tag/v1.2.3"}agent-messaging skill send confirmation.When a critical issue blocks release, send a message using the agent-messaging skill with:
orchestrator-eoa[RELEASE BLOCKED] v1.2.3urgent{"type": "release-blocked", "message": "Release v1.2.3 blocked. Blocker: CI pipeline failure in security scan. Requires resolution before release."}agent-messaging skill send confirmation.When rollback is initiated, send a message using the agent-messaging skill with:
orchestrator-eoa[ROLLBACK] v1.2.3 -> v1.2.2urgent
---
## Resources
- [references/release-responsibilities.md](references/release-responsibilities.md) - Release coordinator role definition
- [references/release-types.md](references/release-types.md) - Patch, minor, major release guidelines
- [references/semantic-versioning.md](references/semantic-versioning.md) - Version numbering rules
- [references/release-process.md](references/release-process.md) - Step-by-step release process
- [references/pre-release-verification.md](references/pre-release-verification.md) - Pre-release checklist
- [references/post-release-verification.md](references/post-release-verification.md) - Post-release checklist
- [references/rollback-procedures.md](references/rollback-procedures.md) - Rollback execution guide
- [references/cicd-integration.md](references/cicd-integration.md) - CI/CD pipeline configuration
- [references/troubleshooting-tag-branch-collision.md](references/troubleshooting-tag-branch-collision.md) - Tag-branch collision troubleshooting
## Getting Started
1. Read this SKILL.md file for release management overview
2. Review [references/semantic-versioning.md](references/semantic-versioning.md) for version rules
3. Review [references/release-types.md](references/release-types.md) to understand release categories
4. Review [references/pre-release-verification.md](references/pre-release-verification.md) for verification checklist
5. Use `scripts/eia_release_verify.py` to verify release readiness
6. Use `scripts/eia_changelog_generate.py` to create changelog
7. Use `scripts/eia_create_release.py` to publish release (after user approval)
---
**Version**: 1.0.0
**Last Updated**: 2025-02-04
**Skill Type**: Release Management
**Difficulty**: Intermediate
**Required Knowledge**: Semantic versioning, git tagging, CI/CD pipelines