Agent skill

Upgrade Rails

by RailsEventStore in RailsEventStore/ecommerce

Upgrade Rails framework to a newer version following the smooth upgrade methodology

MITAuto-check passedBackend & APIs

Install Upgrade Rails

skills CLI
$ npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RailsEventStore/ecommerce upgrade-rails --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RailsEventStore/ecommerce.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/upgrade-rails .claude/skills/upgrade-rails && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
upgrade-rails
GitHub stars
507
Token cost
~976 tokens
SKILL.md length
451 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Upgrade Rails framework to a newer version following the smooth upgrade methodology

  • Works in 9 steps: Pre-flight checks → Audit dependencies before the bump → Fix deprecation warnings first → …
  • Tasks that involve Backend development
  • SKILL.md covers When to use, Background, Upgrade strategy and Upgrade process, plus 2 more sections
  • Calls bundle, make and rails

What it does

Upgrade Rails is an agent skill from RailsEventStore/ecommerce. Upgrade Rails framework to a newer version following the smooth upgrade methodology

Its SKILL.md is about 980 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Backend development. It works with Ruby. The repository describes itself as: Application with CQRS and Event Sourcing built on Rails and Rails Event Store. The licence is MIT.

When your agent uses it

  • Tasks that involve Backend development

Example prompts

  • “/upgrade-rails”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Pre-flight checks
  2. Audit dependencies before the bump
  3. Fix deprecation warnings first
  4. Update the Rails version constraint
  5. Run the full test suite
  6. Check for deprecation warnings in the new version
  7. Commit the version bump
  8. Bump config.load_defaults (separate commit)
  9. (Optional) Run rails app:update

What it can do on your machine

Read from SKILL.md and the folder at commit 42c6c23. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bundle
    • make
    • rails

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • blog.arkency.com
    • stdgems.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Upgrade Rails loads about 976 tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 451 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~24
When it runs · the whole SKILL.md, loaded when a task matches
~976

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from RailsEventStore/ecommerce at commit 42c6c23, republished under its MIT licence (© RailsEventStore). 451 words, ~976 tokens.

Download SKILL.mdSave it as .claude/skills/upgrade-rails/SKILL.md (or your agent's skills folder).
name
upgrade-rails
description
Upgrade Rails framework to a newer version following the smooth upgrade methodology

Upgrade Rails

When to use

Use this skill when upgrading Rails to a newer minor or patch version.

Background

Based on the Smooth Ruby and Rails Upgrades methodology. Key principles:

  • Move by minor versions — upgrade incrementally through each minor version to the latest patch, never skip minors
  • Separate Ruby and Rails upgrades — never combine them in one step
  • Backport-first — preparatory commits (gem updates, deprecation fixes) land on main first, then the version bump is a small final step
  • Small, reversible changes — each commit leaves tests green and is independently deployable

Upgrade strategy

For a Rails upgrade from e.g. 7.0.x to 7.2.x:

  1. 7.0.x → 7.0.latest (patch only)
  2. 7.0.latest → 7.1.latest (minor bump)
  3. 7.1.latest → 7.2.latest (minor bump)

Never jump multiple minors at once.

Upgrade process

1. Pre-flight checks
bash
cd apps/rails_application
bundle outdated rails
rails -v

Check current version, target version, and plan the minor-version steps.

2. Audit dependencies before the bump
bash
bundle exec bundler-audit check --update

Address any CVEs in separate preparatory commits. Then attempt the update to see if gems conflict:

bash
bundle update rails --conservative

If gems conflict, update blocking gems first in separate commits on main.

3. Fix deprecation warnings first

Run the full test suite and grep for deprecation warnings:

bash
make test 2>&1 | grep -i deprecat

Fix each deprecation in its own commit, deployed to main before the version bump. This is the backport-first approach — preparatory work lands independently.

4. Update the Rails version constraint

In apps/rails_application/Gemfile, update:

ruby
gem "rails", "~> X.Y.0"

Then:

bash
cd apps/rails_application
bundle update rails --conservative

Use --conservative to minimize collateral gem updates.

5. Run the full test suite
bash
make test

Integration tests are the most critical — they exercise the full HTTP stack. Fix any failures before proceeding.

6. Check for deprecation warnings in the new version
bash
make test 2>&1 | grep -i deprecat

Note these for fixing before the next minor bump.

Show full SKILL.md (184 more words)Show less
7. Commit the version bump

Use the /commit skill. Good message example: "Upgrade Rails from 8.0.3 to 8.1.3"

8. Bump config.load_defaults (separate commit)

Bump config.load_defaults in config/application.rb to the new minor version. Before bumping:

  1. Check the new defaults (search for new_framework_defaults_X_Y.rb in Rails source)
  2. Grep the codebase for patterns that could break (e.g. unscoped .first/.last for raise_on_missing_required_finder_order_columns, path-relative redirects)
  3. Bump, run make test, commit separately
9. (Optional) Run rails app:update

For minor version bumps, Rails provides an update task:

bash
bin/rails app:update

This project has minimal Rails config surface (event-sourced architecture), so this is often unnecessary. Only run if the upgrade guide mentions config changes that matter.

Key areas to verify if tests fail

  • config/application.rb — load_defaults, config changes
  • config/environments/*.rb — new or changed settings
  • config/initializers/ — framework initializers that may need updating
  • bin/ scripts — may need regeneration
  • Asset pipeline / CSS / JS tooling — often changes between minors

Important notes

  • Always keep Ruby and Rails upgrades separate
  • If a gem blocks the upgrade, update that gem first in a separate commit
  • Each step must leave the test suite green
  • Check stdgems.org when upgrading Ruby (separate from this skill)

© RailsEventStore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/upgrade-rails of RailsEventStore/ecommerce.

Open the folder on GitHubat commit 42c6c23

Compare with similar skills

Upgrade Rails next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Upgrade Rails compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upgrade Rails this skillRailsEventStore/ecommerce507—~976Automated safety check: PassMIT
Antipattern Preventiondoorkeeper-gem/doorkeeper5.5k—~1.1kAutomated safety check: PassMIT
Backfill Event Datarubyevents/rubyevents569—~2.8kAutomated safety check: PassNone
Ruby Version Managerst0012/ruby-skills125—~1.3kAutomated safety check: PassMIT
Rails ExpertJeffallan/claude-skills12k—~1.4kAutomated safety check: PassMIT
Production Log Inspectionbikeindex/bike_index308—~3.6kAutomated safety check: PassAGPL-3.0

Similar skills

  • Antipattern Prevention

    doorkeeper-gem/doorkeeper

    Avoid common Ruby and Rails antipatterns that degrade maintainability and performance.

    5.5k GitHub stars~1.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Backfill Event Data

    rubyevents/rubyevents

    Add or backfill RubyEvents conference data for an event from its website — involvements (organizers/MCs), sponsors, venue + hotels, schedule, talk running order, and speaker GitHub/Twitter handles.

    569 GitHub stars~2.8k tokensUpdated today
    Backend & APIsAuto-check passed
  • Ruby Version Manager

    st0012/ruby-skills

    Use at session start for Ruby projects (Gemfile, .ruby-version, or .tool-versions present).

    125 GitHub stars~1.3k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed
  • Rails Expert

    Jeffallan/claude-skills

    Builds Rails 7+ apps with Hotwire Turbo Frames and Streams, Active Record tuning, Action Cable, Sidekiq jobs and RSpec specs, with migration and N+1 checks.

    12k GitHub stars~1.4k tokensUpdated 7 days ago
    Backend & APIsAuto-check passed
  • Production Log Inspection

    bikeindex/bike_index

    Inspect the Bike Index production Rails logs downloaded by binxlogs and streamed with binxcat web / binxcat worker — JSON-per-request (Lograge) on web plus free-form background-job lines on worker…

    308 GitHub stars~3.6k tokensUpdated today
    Backend & APIsAuto-check passed
  • Sentry Ruby SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Ruby. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~3.4k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from RailsEventStore/ecommerce

All 8 skills in this repo
  • Commit

    RailsEventStore/ecommerce

    Create atomic git commits following project conventions. An agent skill from RailsEventStore/ecommerce.

    507 GitHub stars~767 tokensUpdated 19 days ago
    Auto-check passed
  • Controller

    RailsEventStore/ecommerce

    Create a controller with commands, read model queries, routes, and integration tests

    507 GitHub stars~1.9k tokensUpdated 19 days ago
    Auto-check passed
  • Domain

    RailsEventStore/ecommerce

    Create a new domain bounded context with aggregates, commands, events, and handlers

    507 GitHub stars~2.6k tokensUpdated 19 days ago
    Auto-check passed
  • New App

    RailsEventStore/ecommerce

    Scaffold a new Rails app with event sourcing, following project conventions (todomvc as reference)

    507 GitHub stars~3.1k tokensUpdated 19 days ago
    Auto-check passed
  • New Feature

    RailsEventStore/ecommerce

    Plan a new feature end-to-end — impact analysis across all layers, start-from-the-middle slicing into deployable steps, then delegating to /domain, /read-model, /controller skills

    507 GitHub stars~1.6k tokensUpdated 19 days ago
    Auto-check passed
  • Read Model

    RailsEventStore/ecommerce

    Build a new read model following project conventions (event handlers, tests, migration, configuration)

    507 GitHub stars~3k tokensUpdated 19 days ago
    Auto-check passed

Works with

Categories

Questions about Upgrade Rails

What does Upgrade Rails do?

Upgrade Rails framework to a newer version following the smooth upgrade methodology. Upgrade Rails is an agent skill from RailsEventStore/ecommerce.

When should I use Upgrade Rails?

Upgrade Rails fits situations like: tasks that involve Backend development.

How do I install Upgrade Rails in Claude Code?

Run `npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a claude-code`. Or copy the skill folder (.claude/skills/upgrade-rails in RailsEventStore/ecommerce) into .claude/skills/upgrade-rails in your project. Claude Code loads it when a task matches its description.

How do I install Upgrade Rails in Codex?

Run `npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a codex`. Or copy the skill folder (.claude/skills/upgrade-rails in RailsEventStore/ecommerce) into .agents/skills/upgrade-rails in your project. Codex loads it when a task matches its description.

Can I use Upgrade Rails in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upgrade-rails, .gemini/skills/upgrade-rails, .github/skills/upgrade-rails and .opencode/skills/upgrade-rails in your project.

What does Upgrade Rails need to run?

Going by SKILL.md and its folder, Upgrade Rails needs the command-line tools its instructions call (bundle, make and rails).

Does Upgrade Rails access the network?

SKILL.md names 2 domains. As links in the text: blog.arkency.com and stdgems.org. This is read from the text; nothing was executed.

Is Upgrade Rails safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Upgrade Rails use?

Upgrade Rails is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Upgrade Rails use?

About 976 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Upgrade Rails?

Skills that share tags, products or a category with Upgrade Rails: Antipattern Prevention (doorkeeper-gem/doorkeeper, 5.5k stars), Backfill Event Data (rubyevents/rubyevents, 569 stars), Ruby Version Manager (st0012/ruby-skills, 125 stars) and Rails Expert (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upgrade Rails?

RailsEventStore (a GitHub organization) maintains it in RailsEventStore/ecommerce, which has 507 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 21, 2026.

Source: RailsEventStore/ecommerce on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.