agentleFS
igmarinigmarin/rails-agent-skills/skills/release-engine/SKILL.md

release-engine

Skill26 starsChanged 4 months agoMITView on GitHub

Use when preparing a versioned Rails engine release (SemVer, changelog). Trigger words: release engine, version bump, publish gem, changelog.

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 5 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Use this skill when the task is to ship a Rails engine as a gem or prepare a new version.

    line 16
  2. Very specific:

    Run full test suite: bundle exec rspec.

    line 35
  3. Distinctive:

    Update changelog and upgrade notes.

    line 37
  4. Distinctive:

    Verify gemspec metadata and dependencies match tested Rails/Ruby versions.

    line 38
  5. Distinctive:

    Ask the user to approve publishing the exact gem name and version.

    line 41
  6. Very specific:

    Read assets/release_checklist.md when producing the release verification checklist or quality gates.

    line 48
  7. Very specific:

    Read assets/release_notes_template.md when drafting GitHub release notes, a long-form announcement, or public release copy.

    line 49
  8. Very specific:

    Read assets/examples.md only when the user needs concrete release examples.

    line 50
  9. Very specific:

    Document user-visible changes, not commits.

    line 53
  10. Distinctive:

    If the engine requires host changes during upgrade, document them explicitly even if the version bump is minor.

    line 55

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Release Engine

Use this skill when the task is to ship a Rails engine as a gem or prepare a new version.

Quick Reference

BumpWhen to useAction
PatchBug fixes and internal changes without public behavior breakageUpdate version constant, document under Fixed
MinorBackward-compatible features and new extension pointsUpdate version constant, document under Added/Changed
MajorBreaking changes to API, setup, routes, migrations, config, or supported framework versionsUpdate version constant, document under Changed/Deprecated; write explicit upgrade notes

HARD-GATE

DO NOT release without updating CHANGELOG and version file.

Core Process

  1. Confirm scope and compatibility impact — is this patch, minor, or major?
  2. Run full test suite: bundle exec rspec. Fix all failures before proceeding.
  3. Set the version bump — update the version constant once: module MyEngine; VERSION = "1.2.0"; end in lib/my_engine/version.rb.
  4. Update changelog and upgrade notes.
  5. Verify gemspec metadata and dependencies match tested Rails/Ruby versions.
  6. Dry-run the gem build: gem build *.gemspec && gem push --dry-run *.gem. Verify contents.
  7. Confirm installation docs and README match the release — update if needed.
  8. Ask the user to approve publishing the exact gem name and version. Preparing a release is not authorization to publish.
  9. Publish only after that approval: gem push *.gem.

Extended Resources

Load release assets conditionally and say which one informed the output:

  • Read assets/release_checklist.md when producing the release verification checklist or quality gates.
  • Read assets/release_notes_template.md when drafting GitHub release notes, a long-form announcement, or public release copy.
  • Read assets/examples.md only 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.
  • assets/release_checklist.md
  • assets/release_notes_template.md
  • assets/examples.md

Output Style

  1. Version bump — patch/minor/major with explicit reasoning.
  2. Version constant — updated lib/[engine_name]/version.rb.
  3. CHANGELOG entries — under Added/Changed/Fixed/Deprecated headers.
  4. Upgrade notes — host app steps (config, migrations, dependencies).
  5. Gemspec + test status — metadata, files, dependency ranges confirmed; pass/fail result of bundle exec rspec.
  6. Dry-run output — exact command gem build *.gemspec && gem push --dry-run *.gem plus contents verification (tar tf pkg/*.gem or gem contents).
  7. Asset usage — state which of assets/release_checklist.md, assets/release_notes_template.md, assets/examples.md was loaded, or explicitly say none was needed.
  8. GitHub release notes — concise draft with summary, highlights, upgrade notes, and verification status.
  9. Release blockers — open issues, or explicitly "No blockers".

Integration

SkillWhen to chain
document-engineUpdating README, setup instructions, or API docs for the release
upgrade-engineVerifying Rails/Ruby version support or deprecation impact
test-engineEnsuring tests pass before release and match documented behavior

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.