Antipattern Prevention
doorkeeper-gem/doorkeeper
Avoid common Ruby and Rails antipatterns that degrade maintainability and performance.
Upgrade Rails framework to a newer version following the smooth upgrade methodology
$ npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RailsEventStore/ecommerce upgrade-rails --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "upgrade-rails" agent skill from https://github.com/RailsEventStore/ecommerce/tree/master/.claude/skills/upgrade-rails into .claude/skills/upgrade-rails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rails", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/RailsEventStore/ecommerce/tree/master/.claude/skills/upgrade-railsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RailsEventStore/ecommerce upgrade-rails --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RailsEventStore/ecommerce.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/upgrade-rails .agents/skills/upgrade-rails && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "upgrade-rails" agent skill from https://github.com/RailsEventStore/ecommerce/tree/master/.claude/skills/upgrade-rails into .agents/skills/upgrade-rails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rails", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RailsEventStore/ecommerce upgrade-rails --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RailsEventStore/ecommerce.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/upgrade-rails .cursor/skills/upgrade-rails && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "upgrade-rails" agent skill from https://github.com/RailsEventStore/ecommerce/tree/master/.claude/skills/upgrade-rails into .cursor/skills/upgrade-rails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rails", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/RailsEventStore/ecommerce.git --path .claude/skills/upgrade-rails--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RailsEventStore/ecommerce upgrade-rails --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RailsEventStore/ecommerce.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/upgrade-rails .gemini/skills/upgrade-rails && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "upgrade-rails" agent skill from https://github.com/RailsEventStore/ecommerce/tree/master/.claude/skills/upgrade-rails into .gemini/skills/upgrade-rails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rails", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install RailsEventStore/ecommerce upgrade-railsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RailsEventStore/ecommerce.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/upgrade-rails .github/skills/upgrade-rails && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "upgrade-rails" agent skill from https://github.com/RailsEventStore/ecommerce/tree/master/.claude/skills/upgrade-rails into .github/skills/upgrade-rails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rails", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RailsEventStore/ecommerce --skill upgrade-rails -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RailsEventStore/ecommerce upgrade-rails --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RailsEventStore/ecommerce.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/upgrade-rails .opencode/skills/upgrade-rails && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "upgrade-rails" agent skill from https://github.com/RailsEventStore/ecommerce/tree/master/.claude/skills/upgrade-rails into .opencode/skills/upgrade-rails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rails", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
upgrade-railsUpgrade Rails framework to a newer version following the smooth upgrade methodology
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.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 42c6c23. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
bundlemakerailsFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
blog.arkency.comstdgems.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from RailsEventStore/ecommerce at commit 42c6c23, republished under its MIT licence (© RailsEventStore). 451 words, ~976 tokens.
.claude/skills/upgrade-rails/SKILL.md (or your agent's skills folder).Use this skill when upgrading Rails to a newer minor or patch version.
Based on the Smooth Ruby and Rails Upgrades methodology. Key principles:
For a Rails upgrade from e.g. 7.0.x to 7.2.x:
Never jump multiple minors at once.
cd apps/rails_application
bundle outdated rails
rails -vCheck current version, target version, and plan the minor-version steps.
bundle exec bundler-audit check --updateAddress any CVEs in separate preparatory commits. Then attempt the update to see if gems conflict:
bundle update rails --conservativeIf gems conflict, update blocking gems first in separate commits on main.
Run the full test suite and grep for deprecation warnings:
make test 2>&1 | grep -i deprecatFix each deprecation in its own commit, deployed to main before the version bump. This is the backport-first approach — preparatory work lands independently.
In apps/rails_application/Gemfile, update:
gem "rails", "~> X.Y.0"Then:
cd apps/rails_application
bundle update rails --conservativeUse --conservative to minimize collateral gem updates.
make testIntegration tests are the most critical — they exercise the full HTTP stack. Fix any failures before proceeding.
make test 2>&1 | grep -i deprecatNote these for fixing before the next minor bump.
Use the /commit skill. Good message example: "Upgrade Rails from 8.0.3 to 8.1.3"
Bump config.load_defaults in config/application.rb to the new minor version. Before bumping:
new_framework_defaults_X_Y.rb in Rails source).first/.last for raise_on_missing_required_finder_order_columns, path-relative redirects)make test, commit separatelyFor minor version bumps, Rails provides an update task:
bin/rails app:updateThis 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.
config/application.rb — load_defaults, config changesconfig/environments/*.rb — new or changed settingsconfig/initializers/ — framework initializers that may need updatingbin/ scripts — may need regeneration© RailsEventStore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/upgrade-rails of RailsEventStore/ecommerce.
Open the folder on GitHubat commit 42c6c23
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Upgrade Rails this skillRailsEventStore/ecommerce | 507 | — | ~976 | Automated safety check: Pass | MIT | |
| Antipattern Preventiondoorkeeper-gem/doorkeeper | 5.5k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Backfill Event Datarubyevents/rubyevents | 569 | — | ~2.8k | Automated safety check: Pass | None | |
| Ruby Version Managerst0012/ruby-skills | 125 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Rails ExpertJeffallan/claude-skills | 12k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Production Log Inspectionbikeindex/bike_index | 308 | — | ~3.6k | Automated safety check: Pass | AGPL-3.0 |
doorkeeper-gem/doorkeeper
Avoid common Ruby and Rails antipatterns that degrade maintainability and performance.
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.
st0012/ruby-skills
Use at session start for Ruby projects (Gemfile, .ruby-version, or .tool-versions present).
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.
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…
getsentry/sentry-for-ai
Full Sentry SDK setup for Ruby. An agent skill from getsentry/sentry-for-ai.
RailsEventStore/ecommerce
Create atomic git commits following project conventions. An agent skill from RailsEventStore/ecommerce.
RailsEventStore/ecommerce
Create a controller with commands, read model queries, routes, and integration tests
RailsEventStore/ecommerce
Create a new domain bounded context with aggregates, commands, events, and handlers
RailsEventStore/ecommerce
Scaffold a new Rails app with event sourcing, following project conventions (todomvc as reference)
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
RailsEventStore/ecommerce
Build a new read model following project conventions (event handlers, tests, migration, configuration)
Works with
Categories
Upgrade Rails framework to a newer version following the smooth upgrade methodology. Upgrade Rails is an agent skill from RailsEventStore/ecommerce.
Upgrade Rails fits situations like: tasks that involve Backend development.
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.
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.
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.
Going by SKILL.md and its folder, Upgrade Rails needs the command-line tools its instructions call (bundle, make and rails).
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.
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.
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.
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.
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.
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.