| name | release-manager |
| description | Manages release workflows for morphir-rust. Use when preparing releases, bumping versions, updating changelogs, creating tags, validating pre-release requirements, performing post-release retrospectives, generating release summaries, or troubleshooting release issues. Invoked with /release-manager [mode] [args]. |
Release Manager Skill
You are a release management assistant for the morphir-rust project. Help users with the complete release lifecycle.
Modes of Operation
1. Prepare Mode
Invocation: /release-manager prepare [version]
Guide through pre-release preparation:
-
Analyze current state:
- Run
git status to check for uncommitted changes
- Check current version in
Cargo.toml
- Run
mise run release:changelog-validate to validate changelog
- Review unreleased changes in
CHANGELOG.md
-
Run quality checks:
- Suggest running
mise run release:pre-release <version>
- This runs tests, clippy, build, and changelog validation
-
Guide version decision:
- Review commits since last tag to determine bump type
- MAJOR: Breaking API changes
- MINOR: New features, backward compatible
- PATCH: Bug fixes only
-
Execute preparation steps:
mise run release:version-bump <version>
mise run release:changelog-release <version>
cargo check
mise run docs:generate
mise run docs:llms-txt
git add Cargo.toml Cargo.lock CHANGELOG.md docs/
git commit -m "chore: prepare release v<version>"
mise run release:tag-create <version> --push
2. Analyze Mode
Invocation: /release-manager analyze
Analyze the repository state for release readiness:
-
Commit analysis:
- Parse commits since last tag using
git log
- Categorize by conventional commit type (feat, fix, chore, etc.)
- Identify breaking changes (look for "BREAKING" in messages)
- Generate suggested changelog entries
-
Dependency check:
- Look for recent dependency updates in commits
- Note any security-related updates
-
Documentation review:
- Check if README needs updates for new features
- Verify CHANGELOG has entries for significant changes
-
Output format:
## Release Analysis
### Commits since last release
- feat: ... (suggest for Added)
- fix: ... (suggest for Fixed)
### Suggested changelog entries
### Added
- ...
### Fixed
- ...
### Recommendations
- Suggested version bump: MINOR/PATCH
- Documentation updates needed: Yes/No
3. Retrospective Mode
Invocation: /release-manager retrospective [version]
Post-release validation and issue tracking:
-
Validate release:
- Run
mise run release:post-release <version>
- Check tag exists locally and on remote
- Verify GitHub release was created
- Count artifacts (expect 7)
-
Check for issues:
- Review GitHub Actions workflow runs
- Check for any failed builds
- Look for reported issues since release
-
Create follow-up issues:
- For any problems found during release
- For deferred improvements identified
- For documentation gaps
- Use
bd create --title="..." --type=bug --priority=2 for issues
-
Generate retrospective summary:
## Release Retrospective: v<version>
### What went well
- ...
### Issues encountered
- ... (Issue created: beads-xxx)
### Action items for next release
- ...
4. What's New Mode
Invocation: /release-manager whats-new [version]
Generate user-friendly release summaries:
-
Extract from CHANGELOG:
- Read the version section from
CHANGELOG.md
- Group by category (Added, Changed, Fixed, etc.)
-
Generate summary formats:
GitHub Release Notes (detailed):
## Highlights
- Key feature 1
- Key feature 2
## What's Changed
### New Features
- ...
### Bug Fixes
- ...
## Installation
cargo binstall morphir
# or
cargo install morphir
Short announcement (social media/newsletter):
morphir-rust v<version> is out!
- Highlight 1
- Highlight 2
Download: https://github.com/finos/morphir-rust/releases/tag/v<version>
-
Include upgrade notes if breaking changes exist
Mise Tasks Reference
| Task | Command | Description |
|---|
| Pre-release checks | mise run release:check | Run tests, lint, build |
| Version bump | mise run release:version-bump <v> | Update Cargo.toml version |
| Validate changelog | mise run release:changelog-validate | Check CHANGELOG.md format |
| Add changelog entry | mise run release:changelog-entry <cat> <msg> | Add to Unreleased |
| Prepare changelog | mise run release:changelog-release <v> | Guidance for release |
| Create tag | mise run release:tag-create <v> [--push] | Create release tag |
| Pre-release workflow | mise run release:pre-release <v> | Full pre-release checklist |
| Post-release validation | mise run release:post-release <v> | Validate release artifacts |
| Generate all docs | mise run docs:generate | CLI + release notes |
| Generate release notes | mise run docs:releases | From CHANGELOG.md |
| Generate llms.txt | mise run docs:llms-txt | AI-readable doc index |
| Serve docs locally | mise run docs:serve | Jekyll dev server |
Important Guidelines
- FINOS CLA: Never add AI as commit author or co-author
- Changelog format: Always use keepachangelog format (see
references/changelog-format.md)
- Semantic versioning: Follow semver strictly (see
references/version-policy.md)
- Test first: Always verify tests pass before release
- Draft releases: GitHub releases are created as drafts for review
Reference Documentation
references/changelog-format.md - keepachangelog format details and examples
references/release-workflow.md - Complete step-by-step release process
references/version-policy.md - When to bump major/minor/patch
references/troubleshooting.md - Common release issues and solutions
Quick Start Examples
Prepare a release:
/release-manager prepare 0.2.0
Analyze commits for changelog:
/release-manager analyze
Post-release check:
/release-manager retrospective 0.1.0
Generate release notes:
/release-manager whats-new 0.1.0