1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | claude-code_rails-upgrade-skill |
| 作者/维护者 | OmbuLabs.ai / FastRuby.io(Ernesto Tagwerker,创始人兼 CTO),另有多位社区贡献者提交过实质性改动 |
| 来源链接 | https://github.com/ombulabs/claude-code_rails-upgrade-skill |
| 许可证 | MIT(GitHub API 确认) |
| GitHub Stars / Forks | 368 / 13(GitHub API 实测) |
| 最新版本 | 无独立 tag 版本号;最近一次实质性提交在 2026-07-12(GitHub API commits 确认) |
| 安装方式 | Claude Code 插件市场一键安装,或手动克隆仓库复制到 skills 目录 |
2. 功能介绍与亮点
这是一个帮助 Ruby on Rails 应用从 2.3 一路升级到 8.1 的 Claude Code 技能,核心是分析当前代码库并生成两类报告:详细的升级迁移指南(含代码库中实际的 OLD vs NEW 对比示例),以及 rails app:update 会改动哪些配置文件的预览。
技能强制顺序升级策略(如 5.2 → 6.0 → 6.1 → 7.0,不允许跳版本),并内置一套完整的检测机制:静态代码模式扫描(覆盖 Rails 4.0 至 8.1 各版本的已知 breaking change)、Gem 兼容性检查、以及一个“启动烟雾测试”步骤——通过实际启动 Rails 进程捕捉静态扫描发现不了的运行时崩溃(例如某个 gem 在目标版本下能通过依赖解析,却在启动时因调用了已移除的方法而崩溃)。
亮点:
- 方法论有真实来源:基于 FastRuby.io 团队“60,000+ 小时”的 Rails 升级实战经验与其著作《The Complete Guide to Upgrade Rails》,而非泛泛的官方文档整理
- 明确说明“不做什么”:README 专门列出技能的边界——不做自动化重构(只生成指导和示例,改动由用户自己实施)、不处理灰度发布策略、不解决复杂 gem 依赖冲突
- 持续被真实升级项目反哺:仓库的 Pull Request 记录里有多份“来自一次真实 Rails 6.1→7.1 升级项目的经验总结”式提交,检测规则库随实际踩坑案例迭代
3. 适用场景
所属分类:工程效率与代码质量。
适合维护老旧 Ruby on Rails 应用、需要规划跨版本升级路径的开发团队与个人开发者,尤其是那些卡在 Rails 5.x/6.x 等较早版本、担心升级过程中遗漏已废弃 API 或配置变更的场景。也适合作为升级前的风险评估工具,先了解每一跳升级的难度与所需 Ruby 版本,再决定升级节奏。不适合需要“一键自动改代码”的场景——该技能只生成分析报告与迁移指导,实际代码修改仍需人工完成。
4. 跨 Agent 兼容性
- Claude Code:原生支持。README 提供插件市场一键安装(
/plugin marketplace add+/plugin install)与手动克隆两种方式,是该技能的原生目标平台 - Codex:未验证。全部安装文档均围绕 Claude Code 的插件机制与
~/.claude/skills/目录展开,未见任何提及 Codex 安装路径的材料 - OpenClaw:未验证。同上,未见相关材料
- Hermes Agent:未验证。同上,未见相关材料
技能主体是标准 Markdown 格式的 SKILL.md 与参考文档,理论上具备迁移到其他支持 Agent Skills 规范的平台的可能性,但仓库本身未提供针对其他 Agent 的安装说明或验证记录。
5. 推荐理由
由专业 Rails 升级咨询公司 60000 小时实战经验沉淀,提供分步安全升级方法论与检测报告
这个技能的差异化价值在于它把一家专门做 Rails 升级咨询业务的公司(FastRuby.io,自 2017 年起专职做这件事)的实战经验封装成了可复用的检测规则与迁移指南,而不是简单转述 Rails 官方 CHANGELOG。顺序升级+启动烟雾测试的组合设计,专门针对“静态扫描看不出来、但一启动就崩”这类隐蔽的升级坑,这是纯文档类升级指南通常覆盖不到的部分。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | GitHub 368 stars 规模不大,但有官方公司博客发布(FastRuby.io,2026-03-27)、两场 Ruby 社区会议演讲(Artificial Ruby NYC、Blue Ridge Ruby 2026)、三个第三方技能目录收录(Tomevault、SkillsMP、Skillsllm),且已有外部开发者独立复刻同类实现,形成多来源的社区可见度 |
| 可用性 | 9 | 插件市场一条命令安装;SKILL.md 与 README 文档详尽、含真实升级案例;最近一次实质性提交在 9 天前(2026-07-12),Pull Request 持续被合并,维护活跃;完全免费开源,无付费依赖 |
| 安全性 | 8 | 涉及真实代码执行(启动 Rails 进程、运行测试套件以做启动烟雾测试),但范围明确限定在用户自己的项目目录内,README 逐步骤解释了每次执行的原因;不涉及外部网络请求或凭据;仅生成分析报告和迁移指南,不自动改写用户代码;License 清晰(MIT),作者身份公开可查(公司创始人,真实姓名) |
综合评分(三项均值):8.0
安全检查清单: ① Shell 命令执行——是,用于启动 Rails 进程做烟雾测试、运行项目自身测试套件、grep 检索问题 gem,均限定在用户本地项目目录内,用途在文档中逐步说明 ② 联网外发——否,未发现任何向作者或第三方回传数据的行为 ③ API Key/凭据——不涉及,技能运行不需要任何外部服务凭据 ④ 可疑指令——未发现,SKILL.md 与检测脚本内容均为 Rails 版本迁移知识与 YAML 模式匹配规则,无隐蔽指令或混淆代码 ⑤ 作者信誉——OmbuLabs.ai/FastRuby.io 为专职 Rails 升级咨询公司,创始人身份公开可查,未发现刷星或 SEO 操纵措辞 ⑥ License——MIT,明确 ⑦ 维护时间——近 9 天内仍有实质性提交,处于活跃维护状态
7. 跟同类 Skills 相比的优势
| Skill | 定位 | 与本技能的差异 |
|---|---|---|
| migrate-xml-views-to-jetpack-compose-android-skills(Google 官方出品) | Android 应用从 XML View 迁移到 Jetpack Compose 的十步流程 | 同属“框架迁移助手”这一大类,但面向完全不同的技术栈(Android UI 框架 vs Ruby on Rails 后端框架),迁移对象性质也不同(UI 组件重写 vs 跨版本 API 兼容性排查) |
| rails-upgrade-skill(独立开发者 dpaluy 的同名实现) | 同样定位为 Rails 升级的 Claude Code 技能 | 仓库仅有 2 颗 star,一次性提交后再无更新,缺乏持续维护与实战反馈迭代;本技能背靠专职做 Rails 升级咨询近十年的团队,检测规则库随真实项目持续补充 |
本技能在“框架版本升级助手”这个细分方向上的差异化在于:它不是把官方 CHANGELOG 转写成检测规则,而是把一家专职做这件事的咨询公司多年踩坑经验沉淀下来,并保持规则库随新的真实升级案例持续更新。
8. 用户评价
- 开发者 fullmetalengineer 向仓库提交了一份 Pull Request(#115),报告了 Rails 8.0 中一个未在官方文档记录的破坏性变更(
belongs_to关联的query_constraints选项被移除),并贡献了对应的检测规则,该改动已被仓库采纳 - 贡献者 JuanVqz 在 Pull Request(#121)中记录了“一次真实 Rails 6.1 → 7.1 升级项目”里发现的多个技能改进点,包括模板解析、gem 加载顺序等实际踩坑细节
9. 其他补充
本技能依赖两个同一作者发布的配套技能——dual-boot(管理双启动升级环境)与 rails-load-defaults(处理渐进式默认配置更新),同仓库内还附带一个 upgrade-cleanup 组件,用于升级完成后清理双启动相关的临时代码。四者通过同一个插件市场一并安装。
10. 安装使用方式
方式一(推荐)——Claude Code 插件市场:
/plugin marketplace add ombulabs/claude-skills
/plugin install rails-upgrade@ombulabs-ai
/plugin install rails-load-defaults@ombulabs-ai
/plugin install dual-boot@ombulabs-ai
/plugin install upgrade-cleanup@ombulabs-ai
方式二——手动克隆安装:
git clone https://github.com/ombulabs/claude-code_rails-upgrade-skill.git
cp -r claude-code_rails-upgrade-skill/rails-upgrade ~/.claude/skills/
cp -r claude-code_rails-upgrade-skill/upgrade-cleanup ~/.claude/skills/
# 另需克隆并复制两个依赖技能:
git clone https://github.com/ombulabs/claude-code_rails-load-defaults-skill.git
git clone https://github.com/ombulabs/claude-code_dual-boot-skill.git
安装后,在 Rails 项目目录内用自然语言描述需求即可触发,例如“帮我把 Rails 应用升级到 7.2”或“从 6.1 升级到 7.0 有哪些破坏性变更”。
11. 注意事项
- 技能只生成分析报告与迁移指导,不会自动帮你改代码,实际的代码修改仍需自己动手实施
- 强制要求逐版本顺序升级,不支持跨版本跳跃升级(如直接从 5.2 跳到 7.1)
- 不处理灰度发布/金丝雀发布等部署策略问题,也不负责解决复杂的 gem 依赖冲突,这些仍需人工介入
- 依赖另外两个配套技能(
dual-boot、rails-load-defaults)才能完整走完升级流程,单独安装本技能功能不完整