Release engine
Skill igmarin/rails-agent-skills/skills/engines/release-engine
This is my personal configuration of skills as a Ruby on Rails Dev
npx -y skills add igmarin/rails-agent-skills --skill release-engineAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when shipping a Rails engine gem — FIRST run full test suite (`bundle exec rspec`) and fix ALL failures, verify gemspec metadata and dependencies match tested Rails/Ruby versions, dry-run: `gem build *.gemspec && gem push --dry-run *.gem` and verify contents, generate CHANGELOG.md organized by category (added/changed/deprecated/removed/fixed), produce step-by-step upgrade notes with before/after code, set semantic version in `lib/[engine_name]/version.rb`, document deprecations with migration paths, load release assets conditionally and state which one informed the output. Trigger words: version bump, changelog, deprecation, gemspec, upgrade, release, publish gem, ship gem.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.4 KB, as published. Nobody here has run it
Release Engine
Use this skill when the task is to ship a Rails engine as a gem or prepare a new version.
Quick Reference
| Bump | When to use | Action |
|---|---|---|
| Patch | Bug fixes and internal changes without public behavior breakage | Update version constant, document under Fixed |
| Minor | Backward-compatible features and new extension points | Update version constant, document under Added/Changed |
| Major | Breaking changes to API, setup, routes, migrations, config, or supported framework versions | Update version constant, document under Changed/Deprecated; write explicit upgrade notes |
HARD-GATE
DO NOT release without updating CHANGELOG and version file.
Core Process
- Confirm scope and compatibility impact — is this patch, minor, or major?
- Run full test suite:
bundle exec rspec. Fix all failures before proceeding. - Set the version bump — update the version constant once:
module MyEngine; VERSION = "1.2.0"; endinlib/my_engine/version.rb. - Update changelog and upgrade notes.
- Verify gemspec metadata and dependencies match tested Rails/Ruby versions.
- Dry-run the gem build:
gem build *.gemspec && gem push --dry-run *.gem. Verify contents. - Confirm installation docs and README match the release — update if needed.
- Publish:
gem push *.gem.
Extended Resources
Load release assets conditionally and say which one informed the output:
- Read
assets/release_checklist.mdwhen producing the release verification checklist or quality gates. - Read
assets/release_notes_template.mdwhen drafting GitHub release notes, a long-form announcement, or public release copy. - Read
assets/examples.mdonly when the user needs concrete release examples.
Changelog Guidelines
- Document user-visible changes, not commits; group by Added/Changed/Fixed/Deprecated.
- For deprecations, document removal plan and replacement; keep deprecated code for at least one minor cycle.
- If the engine requires host changes during upgrade, document them explicitly even if the version bump is minor.
Examples
## [1.2.0] - 2024-03-15
### Added
- `widget_count` config option to limit dashboard widgets (default: 10).
### Changed
- Minimum Rails version is now 7.0.
Output Style
- Version bump — patch/minor/major with explicit reasoning.
- Version constant — updated
lib/[engine_name]/version.rb. - CHANGELOG entries — under Added/Changed/Fixed/Deprecated headers.
- Upgrade notes — host app steps (config, migrations, dependencies).
- Gemspec + test status — metadata, files, dependency ranges confirmed; pass/fail result of
bundle exec rspec. - Dry-run output — exact command
gem build *.gemspec && gem push --dry-run *.gemplus contents verification (tar tf pkg/*.gemorgem contents). - Asset usage — state which of
assets/release_checklist.md,assets/release_notes_template.md,assets/examples.mdwas loaded, or explicitly say none was needed. - GitHub release notes — concise draft with summary, highlights, upgrade notes, and verification status.
- Release blockers — open issues, or explicitly "No blockers".
Integration
| Skill | When to chain |
|---|---|
| document-engine | Updating README, setup instructions, or API docs for the release |
| upgrade-engine | Verifying Rails/Ruby version support or deprecation impact |
| test-engine | Ensuring tests pass before release and match documented behavior |