Rails Upgrade

Détecte les changements cassants de Rails et génère des rapports de mise à niveau par saut de version pour Rails 2.3-8.1

par ombulabs · ombulabs/claude-code_rails-upgrade-skill

Testé · Fonctionne ★ 8.8/10

Rails Upgrade — Détecte les changements cassants de Rails et génère des rapports de mise à niveau par saut de version pour Rails 2.3-8.1

Ce que fait

Analyse une base de code Rails par rapport à des fichiers de motifs grep spécifiques à la version pour trouver les changements cassants, les dépréciations et les éléments de migration, puis les compile dans un rapport de mise à niveau catégorisé avec des correctifs par résultat pour tout saut séquentiel de Rails 2.3 à 8.1. Se déclenche lorsque l'utilisateur demande de mettre à niveau une application Rails, de planifier une mise à niveau multi-sauts ou d'interroger les changements cassants dans une version spécifique de Rails. Applique les mises à niveau séquentielles (sans saut) et délègue le travail de dual-boot et load_defaults à des compétences complémentaires.

Rapport de test

J'ai localisé SKILL.md à rails-upgrade/SKILL.md (le dépôt a deux compétences; le slug correspond à ce répertoire). Le frontmatter est analysé avec name+description; j'ai vérifié 3 fichiers référencés dans le corps (direct-detection-workflow.md, rails-70-patterns.yml, upgrade-report-template.md), tous HTTP 200; aucune faille de sécurité. Pour la sortie, j'ai construit une application Rails 6.1 de test (Gemfile avec webpacker/spring/turbolinks/ruby 2.6.5, une vue form_with local:true, Rails.application.secrets dans un contrôleur, un modèle enum) et exécuté le workflow de détection directe de la compétence en recherchant chaque motif dans rails-70-patterns.yml : les 7 motifs ont correspondu avec file:line exact. La référence (ma propre connaissance de Rails, sans compétence) a détecté les catégories principales mais n'a donné aucun ancrage de fichier et a omis les résultats secrets.yml et enum que la compétence a mis en évidence avec des lignes et des nuances précises en fonction de la version (par exemple, secrets fonctionne à 7.0 mais est déprécié à 7.1).

Testé le: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/ombulabs/claude-code_rails-upgrade-skill.git /tmp/rails-upgrade-src
mkdir -p ~/.claude/skills
cp -R /tmp/rails-upgrade-src/rails-upgrade ~/.claude/skills/rails-upgrade
# SKILL.md lands at ~/.claude/skills/rails-upgrade/SKILL.md
# Optional companion skills for the full end-to-end workflow (not needed for detection/report):
#   dual-boot skill        -> github.com/ombulabs/claude-code_dual-boot-skill (Step 2)
#   rails-load-defaults    -> github.com/ombulabs/claude-code_rails-load-defaults-skill (Step 7)
#   upgrade-cleanup plugin -> shipped in /tmp/rails-upgrade-src/upgrade-cleanup (Step 8)
# Full upgrade execution also needs the target Rails app checked out with a runnable test suite.

Commandes et exemples de prompts

  • /rails-upgradeDétecte les changements cassants de Rails et génère des rapports de mise à niveau par saut de version pour Rails 2.3-8.1

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Plan our upgrade from Rails 6 to Rails 7
  • What breaks when we upgrade to Rails 7.1
  • Generate a migration guide for this Rails hop