Agent skill

Upgrade Res

by RailsEventStore in RailsEventStore/ecommerce

Upgrade RailsEventStore (RES) gems to a newer version. An agent skill from RailsEventStore/ecommerce.

MITAuto-check passedBackend & APIs

Install Upgrade Res

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

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

GitHub CLI
$ gh skill install RailsEventStore/ecommerce upgrade-res --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-res .claude/skills/upgrade-res && 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-res
GitHub stars
507
Token cost
~1k tokens
SKILL.md length
401 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Upgrade RailsEventStore (RES) gems to a newer version. An agent skill from RailsEventStore/ecommerce.

  • Works in 10 steps: Check current and target versions → Check release notes for breaking changes → Update version constraints if needed → …
  • Backend & APIs work in your project
  • SKILL.md covers When to use, Background, Version constraints live in… and Upgrade process
  • Calls bundle and make

What it does

Upgrade Res is an agent skill from RailsEventStore/ecommerce. Upgrade RailsEventStore (RES) gems to a newer version

Its SKILL.md is about 1k 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. 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

  • Backend & APIs work in your project

Example prompts

  • “/upgrade-res”

Workflow steps

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

  1. Check current and target versions
  2. Check release notes for breaking changes
  3. Update version constraints if needed
  4. Run bundle update
  5. Check if infra/Gemfile.lock also needs updating
  6. Run the full test suite
  7. Check for deprecation warnings
  8. Key integration points to verify
  9. Historical gotchas from past upgrades
  10. Commit

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

    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):

    • github.com

    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 Res loads about 1k tokens when it runs. Until then it costs about 16 tokens; SKILL.md has 401 words of instructions outside code blocks.

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

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). 401 words, ~1,035 tokens.

Download SKILL.mdSave it as .claude/skills/upgrade-res/SKILL.md (or your agent's skills folder).
name
upgrade-res
description
Upgrade RailsEventStore (RES) gems to a newer version

Upgrade RailsEventStore (RES)

When to use

Use this skill when upgrading RES gems (rails_event_store, ruby_event_store, aggregate_root, etc.) to a newer version.

Background

RES is deeply integrated into this project. All gems must be upgraded together since they share a version. The dependency chain is:

  • rails_event_store (Gemfile in rails_application) — top-level Rails integration
  • ruby_event_store (infra.gemspec) — core event store
  • aggregate_root (infra.gemspec) — aggregate root pattern
  • ruby_event_store-active_record — AR repository (transitive)
  • ruby_event_store-browser — event browser UI (transitive)
  • ruby_event_store-transformations — type transformations (infra.gemspec, no version pin)
  • arkency-command_bus — command bus (infra.gemspec, no version pin)

Version constraints live in two places

  1. apps/rails_application/Gemfile — rails_event_store with range constraint
  2. infra/infra.gemspec — aggregate_root and ruby_event_store with pessimistic constraint

Both must allow the target version or be updated first.

Upgrade process

1. Check current and target versions
bash
cd apps/rails_application
bundle outdated | grep -iE "event|aggregate"
2. Check release notes for breaking changes

Visit https://github.com/RailsEventStore/rails_event_store/releases and review all versions between current and target. Pay attention to:

  • Removed methods or changed signatures
  • New required migrations
  • Changed configuration API
  • Deprecated features becoming errors
3. Update version constraints if needed

If the target version is outside current constraints:

  • Update infra/infra.gemspec — change ~> X.Y for aggregate_root and ruby_event_store
  • Update apps/rails_application/Gemfile — change range for rails_event_store
4. Run bundle update
bash
cd apps/rails_application
bundle update rails_event_store ruby_event_store aggregate_root ruby_event_store-active_record ruby_event_store-browser

This updates both the rails_application Gemfile.lock AND infra's resolved versions (infra is a path gem).

5. Check if infra/Gemfile.lock also needs updating

The infra gem has its own Gemfile.lock for isolated testing:

bash
cd infra
bundle update ruby_event_store aggregate_root
6. Run the full test suite
bash
make test

Integration tests are the most important — they exercise the full RES stack including AR persistence, event subscriptions, and process managers.

Show full SKILL.md (154 more words)Show less
7. Check for deprecation warnings

Look for deprecation warnings in test output. Address them before they become errors in future versions.

8. Key integration points to verify

If tests pass, these are the areas most likely to break on API changes:

  • infra/lib/infra/event_store.rb — EventStore wrapper, mapper pipeline, preserve_types
  • infra/lib/infra/event.rb — Event base class extending RubyEventStore::Event
  • infra/lib/infra/aggregate_root_repository.rb — AggregateRoot::Repository wrapper
  • infra/lib/infra/process_manager.rb — ProcessManager using event_store.read/link
  • infra/lib/infra/process.rb — Simple event-to-command process
  • apps/rails_application/config/initializers/rails_event_store.rb — RES initialization
  • apps/rails_application/lib/configuration.rb — LinkByEventType, LinkByCorrelationId, LinkByCausationId
9. Historical gotchas from past upgrades
  • RES 2.0: Required 3 database migrations (timestamp precision, valid_at column, stream restructuring)
  • ProcessManager API: Changed from constructor-based subscription to declarative subscribes_to
  • Mapper pipeline: Changed multiple times; the project wraps it in Infra::EventStore to isolate changes
  • In-memory vs production divergence: Transformations were removed from in-memory stores to prevent test issues
  • Class-level state: Was removed in favor of dependency injection; watch for similar patterns
10. Commit

Use the /commit skill. Good message example: "Upgrade RailsEventStore from 2.17.1 to 2.18.0"

© 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-res of RailsEventStore/ecommerce.

Open the folder on GitHubat commit 42c6c23

Compare with similar skills

Upgrade Res 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 Res compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upgrade Res this skillRailsEventStore/ecommerce507—~1kAutomated safety check: PassMIT
Antipattern Preventiondoorkeeper-gem/doorkeeper5.5k—~1.1kAutomated safety check: PassMIT
Dependency Safetydoorkeeper-gem/doorkeeper5.5k—~931Automated safety check: PassMIT
Backfill Event Datarubyevents/rubyevents569—~2.8kAutomated safety check: PassNone
Temporal Developertemporalio/skill-temporal-developer230—~2.5kAutomated safety check: PassMIT
Nxvutensils/nxv136—~7.9kAutomated safety check: NotesMIT

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 today
    Backend & APIsAuto-check passed
  • Dependency Safety

    doorkeeper-gem/doorkeeper

    Ensure gems are safe, necessary, and properly constrained when adding, updating, or reviewing dependencies in Doorkeeper.

    5.5k GitHub stars~931 tokensUpdated today
    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
  • Temporal Developer

    temporalio/skill-temporal-developer

    Official

    Develop, debug, and manage Temporal applications across Python, TypeScript, Go, Java, .NET, Ruby, and Rust.

    230 GitHub stars~2.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Nxv

    utensils/nxv

    Find any version of any Nix package across nixpkgs git history using the nxv CLI or HTTP API.

    136 GitHub stars~7.9k tokensUpdated 1 mo ago
    Backend & APIsAuto-check: notes
  • Schked

    bibendi/schked

    Guide for working with Schked, a Ruby recurring-job scheduler built on top of rufus-scheduler.

    138 GitHub stars~454 tokensUpdated 1 mo ago
    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 18 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 18 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 18 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 18 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 18 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 18 days ago
    Auto-check passed

Works with

Categories

Questions about Upgrade Res

What does Upgrade Res do?

Upgrade RailsEventStore (RES) gems to a newer version. An agent skill from RailsEventStore/ecommerce. Upgrade Res is an agent skill from RailsEventStore/ecommerce.

When should I use Upgrade Res?

Upgrade Res fits situations like: backend & APIs work in your project.

How do I install Upgrade Res in Claude Code?

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

How do I install Upgrade Res in Codex?

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

Can I use Upgrade Res 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-res -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-res, .gemini/skills/upgrade-res, .github/skills/upgrade-res and .opencode/skills/upgrade-res in your project.

What does Upgrade Res need to run?

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

Does Upgrade Res access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Upgrade Res 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 Res use?

Upgrade Res 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 Res use?

About 1k tokens (SKILL.md is roughly 4.1k 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 Res?

Skills that share tags, products or a category with Upgrade Res: Antipattern Prevention (doorkeeper-gem/doorkeeper, 5.5k stars), Dependency Safety (doorkeeper-gem/doorkeeper, 5.5k stars), Backfill Event Data (rubyevents/rubyevents, 569 stars) and Temporal Developer (temporalio/skill-temporal-developer, 230 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upgrade Res?

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.