Use when preparing a release, updating gemspec, writing changelog, handling deprecations, setting semantic version, planning upgrade notes, migration guide, or shipping a Rails engine as a gem. Trigger words: version bump, changelog, deprecation, gemspec, upgrade, migration guide, release.
79
73%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./rails-engine-release/SKILL.mdUse this skill when the task is to ship a Rails engine as a gem or prepare a new version.
Release work should make upgrades predictable for host applications.
| Release Step | Action |
|---|---|
| Version bump | Patch (bug fixes), Minor (new features), Major (breaking changes); update version constant once |
| Changelog | Document user-visible changes, not commits; group by Added/Changed/Fixed/Deprecated |
| Deprecations | Document removal plan and replacement; keep deprecated code for at least one minor cycle |
| Gemspec | Verify metadata, dependencies, and tested Rails/Ruby versions match constraints |
DO NOT release without updating CHANGELOG and version file.
If the engine requires host changes during upgrade, document them explicitly even if the version bump is minor.
| Mistake | Reality |
|---|---|
| No upgrade notes for breaking changes | Host apps need step-by-step migration instructions; breaking changes without a guide cause production failures |
| Changelog lists commits not user impact | Users care what changed for them; avoid "Refactored X" or "Fixed Y" without explaining the effect |
| Version bump without changelog | Every release must document what changed; version number alone is meaningless |
Changelog entry (user impact, not implementation):
## [1.2.0] - 2024-03-15
### Added
- Configuration option `widget_count` to limit dashboard widgets (default: 10).
### Changed
- Minimum Rails version is now 7.0.
### Fixed
- Engine routes no longer conflict with host `root_path` when mounted at `/`.Upgrade note for host app:
### Upgrading from 1.1.x to 1.2.0
1. Run `bundle update my_engine`.
2. If you override the dashboard, add `MyEngine.config.widget_count = 10` to your initializer (optional).
3. Ensure Rails >= 7.0.When asked to prepare a release:
| Skill | When to chain |
|---|---|
| rails-engine-docs | When updating README, setup instructions, or API docs for the release |
| rails-engine-compatibility | When verifying Rails/Ruby version support or deprecation impact |
| rails-engine-testing | When ensuring tests pass before release and match documented behavior |
ae8ea63
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.