● Communauté
ombulabs
⚡ Instantané
claude-code_rails-upgrade-skill
par ombulabs · ombulabs/claude-code_rails-upgrade-skill
Claude Code skill that methodically upgrades Rails — from audit through deprecation fixes to bundle update — without breaking everything.
Rails Upgrade Skill (by OmbuLabs) walks Claude through the standard Rails upgrade playbook: audit the codebase, fix deprecations, apply framework defaults, handle gem incompatibilities, and verify on the new version. Based on OmbuLabs' production experience upgrading Rails apps. Good for going N → N+1, or catching up from older versions.
Pourquoi l'utiliser
Fonctionnalités clés
- Version-aware playbooks (Rails 6 → 7, 7 → 7.1, 7.1 → 7.2, 7.2 → 8)
- Deprecation warning sweep + fix suggestions
- Framework defaults migration (rails app:update)
- Gem compatibility checks against target Rails version
- Spring cleaning (Spring removal in newer Rails)
- Test-first upgrade: fix tests before cutover
Démo en direct
Aperçu en pratique
claude-code-rails-upgrade-skill.replay
▶ prêt
Cas d'usage
Usages concrets : claude-code_rails-upgrade-skill
Quand l'utiliser : You're on Rails 6.1 and need to get to 7.2. You want a plan, not a prayer.
Déroulement
-
Audit current state
Audit this Rails app: current version, Ruby version, gems, deprecation warnings from a test run.✓ Copié
→ Baseline report
-
Build the path
Plan the upgrade to Rails 7.2. Go version-by-version (6.1 → 7.0 → 7.1 → 7.2), each with milestone criteria.✓ Copié
→ Multi-stage plan
-
Identify blockers
Which gems don't have a 7.2-compatible version? Proposals for each (upgrade/replace/fork).✓ Copié
→ Per-gem blocker list
Résultat : A realistic upgrade plan with staged milestones.
Pièges
- Jumping two major versions at once — Skill enforces one minor/major at a time — don't override
Quand l'utiliser : You're between versions and the test run is a wall of deprecation warnings.
Déroulement
-
Collect
Run tests, collect all unique deprecation warnings.✓ Copié
→ Deduped list with file:line occurrences
-
Group + fix
Group by cause. Propose minimal fixes with diffs for each group.✓ Copié
→ Grouped fix diffs
Résultat : A clean test run ready for the next version bump.
Quand l'utiliser : You've bumped the Gemfile and ran rails app:update; now you have a bunch of new initializers.
Déroulement
-
Review diff
Review the diff from rails app:update. Flag any default change that could break our app (strict_loading, zeitwerk mode, etc.).✓ Copié
→ Per-change risk annotation
-
Staged enable
For each risky default, produce a staged rollout: enable behind env flag, validate on staging, then flip.✓ Copié
→ Staged plan per default
Résultat : Defaults enabled without surprise regressions.
Pièges
- Enabling all load_defaults at once — Use new_framework_defaults_X.Y.rb to ramp individually
Combinaisons
Associez-le à d'autres MCPs pour un effet X10
Security review on the upgraded code
After upgrade to Rails 7.2, run OWASP review on the auth and params handling.✓ Copié
Coût et limites
Coût d'exécution
- Quota d'API
- None
- Tokens par appel
- 20-80k across an upgrade
- Monétaire
- Free
- Astuce
- Run deprecation sweeps on specific directories rather than the whole app at once.
Sécurité
Permissions, secrets, portée
Stockage des identifiants : No credentials
Sortie de données : Code sent to Claude for inference
- Always upgrade on a branch. Don't let Claude run destructive commands (db:migrate, bundle update) without explicit confirmation.
Dépannage
Erreurs courantes et correctifs
rails app:update produces uncommitted binary files
These are usually system files. Gitignore them and regenerate cleanly.
Tests pass locally, fail in CI after upgrade
Likely autoloading differences or eager_load in production mode. Run with RAILS_ENV=production locally.
Gem bundle resolution fails
Skill will suggest alternative gem versions; sometimes a fork or replacement is required.
Vérifier : bundle update --conservative
Alternatives
claude-code_rails-upgrade-skill vs autres
| Alternative | Quand l'utiliser | Compromis |
| next_rails gem | You want a deterministic upgrade helper | No LLM-guided deprecation fixes |