Back to skills
SKILL.md
Release Workflow
ASecurityRelease conventions and changelog configuration for lunar-claude, covering version bumping, changelog generation via git-cliff, and release tagging.
- 2 stars
- 0 votes
- 0 copies
- 7 views
- Added September 11, 2026
Works with
Security analysis
100/100npx -y skills add jcasnellie69/homelab-config --skill release-workflow --agent claude-codeAre you the author of Release Workflow?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jcasnellie69-release-workflow)---
name: release-workflow
description: >
Release conventions and changelog configuration for lunar-claude, covering version
bumping, changelog generation via git-cliff, and release tagging.
when_to_use: >
Use when preparing a release, bumping the version, updating the changelog, creating
a release tag, determining what version something should be, or understanding the
changelog/release process.
---
# Release Workflow
Project-specific release conventions for lunar-claude. For the interactive
release workflow, use the `/generate-changelog` command from the git-workflow
plugin.
## Current Release State
- Latest tag: !`git describe --tags --abbrev=0 2>/dev/null || echo "No tags yet"`
- Marketplace version: !`jq -r '.metadata.version' .claude-plugin/marketplace.json`
- Unreleased commits: !`git log --oneline $(git describe --tags --abbrev=0 2>/dev/null)..HEAD 2>/dev/null | wc -l | tr -d ' '`
## Version Scheme
- Semantic versioning: `MAJOR.MINOR.PATCH`
- Tag format: `v0.x.y` (prefixed with `v`)
- Marketplace and plugin manifests track versions independently
## Version Bump Decision
| Commit types present | Bump level |
|---------------------|------------|
| `BREAKING CHANGE:` in footer or `!` after type | Major |
| `feat:` (new features) | Minor |
| `fix:`, `docs:`, `refactor:`, `perf:`, `test:`, `chore:` only | Patch |
## Commit β Changelog Group Mapping
git-cliff (`cliff.toml`) maps conventional commits to changelog groups:
| Commit prefix | Changelog group |
|---------------|----------------|
| `feat` | π Features |
| `fix` | π Bug Fixes |
| `refactor` | π Refactor |
| `doc` | π Documentation |
| `perf` | β‘ Performance |
| `style` | π¨ Styling |
| `test` | π§ͺ Testing |
| `chore`, `ci` | βοΈ Miscellaneous Tasks |
| body contains "security" | π‘οΈ Security |
| `revert` | βοΈ Revert |
### Auto-Skipped Commits
These are filtered out of the changelog automatically:
- `chore(release): prepare for` β release prep commits
- `chore(deps*)` β dependency updates (Renovate/Dependabot)
- `chore(pr)` / `chore(pull)` β PR merge housekeeping
## Files to Update on Release
1. **CHANGELOG.md** β Generated by `git-cliff --tag vX.Y.Z -o CHANGELOG.md`
2. **`.claude-plugin/marketplace.json`** β Update `metadata.version`
3. **Plugin manifests** β Update `version` in each changed plugin's
`plugins/<cat>/<name>/.claude-plugin/plugin.json` (only if that plugin changed)
## Release Commit & Tag
```bash
$ git add CHANGELOG.md .claude-plugin/marketplace.json
$ git commit -m "docs: update changelog for vX.Y.Z"
$ git tag -a vX.Y.Z -m "Release vX.Y.Z"
$ git push && git push --tags
```
GitHub Actions (`release.yml`) automatically creates the GitHub release from
the tag, generating release notes via git-cliff.
## Gotchas
- **Push tags separately**: `git push` does not push tags β always follow with
`git push --tags`
- **Marketplace version**: Easy to forget updating `.claude-plugin/marketplace.json`
alongside CHANGELOG.md
- **Plugin versions are independent**: Only bump a plugin's version if that
plugin had changes β not every release bumps every plugin
- **Pre-release tags**: Tags containing `rc`, `beta`, or `alpha` are marked as
pre-release in GitHub automatically
- **Dependency commits vanish**: Renovate/Dependabot commits are auto-skipped
in the changelog β this is intentional, not a bug
Attribution
Comments
Loading commentsβ¦
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.