home / skills / falkicon / mechanic / s-release
This skill guides WoW addon releases end-to-end, automating bump, changelog, commit, and tag steps to publish a new version.
npx playbooks add skill falkicon/mechanic --skill s-releaseReview the files below or copy the command above to add this skill to your agents.
---
name: s-release
description: >
Prepare and execute an addon release, including version bumping, changelog
updates, git tagging, and validation. Use when ready to publish a new version.
Triggers: release, version bump, changelog, git tag, publish.
---
# Releasing WoW Addons
Expert guidance for the full addon release workflow using Mechanic automation.
## Related Commands
- [c-release](../../commands/c-release.md) - Automated release workflow
## CLI Commands (Use These First)
> **MANDATORY**: Always use CLI commands before manual exploration.
| Task | Command |
|------|---------|
| Full Release | `mech release MyAddon 1.2.0 "Release message"` |
| Bump Version | `mech call version.bump -i '{"addon": "MyAddon", "version": "1.2.0"}'` |
| Add Changelog | `mech call changelog.add -i '{"addon": "MyAddon", "version": "1.2.0", "message": "..."}'` |
| Commit Changes | `mech call git.commit -i '{"addon": "MyAddon", "message": "Release 1.2.0"}'` |
| Create Tag | `mech call git.tag -i '{"addon": "MyAddon", "version": "1.2.0"}'` |
## Capabilities
1. **Full Automation** — Single-command release workflow (bump → changelog → commit → tag)
2. **Version Management** — Consistent version bumping across `.toc` files
3. **Changelog Maintenance** — Structured `CHANGELOG.md` updates with categories
4. **Git Integration** — Automated commits and annotated tags
## Routing Logic
| Request type | Load reference |
|--------------|----------------|
| Release workflow, changelog format | [../../docs/integration/release.md](../../docs/integration/release.md) |
| CLI Reference | [../../docs/cli-reference.md](../../docs/cli-reference.md) |
## Quick Reference
### The One-Command Release
```bash
# Recommended: Validates → Bumps → Changelogs → Commits → Tags
mech release MyAddon 1.2.0 "Added cooldown tracking and fixed memory leaks"
```
### Pre-Release Checklist
1. **Validate**: `mech call addon.validate -i '{"addon": "MyAddon"}'`
2. **Lint**: `mech call addon.lint -i '{"addon": "MyAddon"}'`
3. **Test**: `mech call addon.test -i '{"addon": "MyAddon"}'`
4. **Audit**: `mech call addon.deprecations -i '{"addon": "MyAddon"}'`
### Changelog Categories
- `### Added`: New features
- `### Changed`: Changes to existing features
- `### Fixed`: Bug fixes
- `### Removed`: Removed features
- `### Deprecated`: Features to be removed
- `### Security`: Security-related changes
This skill prepares and executes World of Warcraft addon releases, handling version bumps, changelog updates, git commits and tags, and validation. It bundles a recommended one-command workflow and individual automation steps to ensure consistent, reproducible releases. Use it when you are ready to publish a new addon version and want reliable, repeatable steps.
The skill drives Mechanic CLI commands to validate the addon, bump versions in .toc files, append structured entries to CHANGELOG.md, commit release changes, and create annotated git tags. It can run a full release in one step (validate → bump → changelog → commit → tag) or execute each subtask separately for granular control. Hooks perform linting, testing, and deprecation audits before finalizing the release.
Can I run just part of the workflow?
Yes. Each step (validation, version bump, changelog, commit, tag) is available as an individual CLI command so you can run only the parts you need.
What changelog format is used?
CHANGELOG.md entries are structured with categories like Added, Changed, Fixed, Removed, Deprecated, and Security for consistent release notes.
Does this update .toc files automatically?
Yes. The version.bump command updates version strings in .toc files to keep all manifest files consistent.
Should I always use the one-command release?
It is recommended for routine releases because it validates and automates all steps, but use individual commands when you need manual inspection or staged deployment.