Rails Convention Engineer
让 AI 按你现有代码库的约定来编写和审查 Rails 8 代码,而不是强加不符合项目的通用模式。
该技能为纯指导性文档,不执行命令、不要求特殊权限、无外部副作用或数据外流路径;明确要求先检查现有代码库、报告权衡、核对版本敏感API,属于低风险设计。扣分点:SKILL.md 引用的 16 个 references 文件未在本次证据中提供,其安全建议(如认证、安全清单)无法静态核验。
指令内部自洽:任务路由表与引用路由一致,后台任务适配器检测顺序明确(配置→Gemfile→运行时),失败时要求显式报告权衡,具备较好的可控失败思路。扣分点:所有 references 文件与 validate_skill.rb 脚本均未见内容,关键路径无法复核;静态审查下无任何执行证据,错误反馈质量只能推断。
description 中的触发条件具体(Rails 8、Active Record、GoodJob、Solid Queue、Turbo/Stimulus 等),工作流和任务路由边界清晰,README 还提供了三个前向测试提示用于验证触发。扣分点:非适用范围(如非 Rails 项目、旧版 Rails)仅在描述中隐含,无明确的不适用声明;无中文环境说明,但核心功能不依赖境外服务,无需额外扣减。
文档分层良好(SKILL.md 主干 + STYLE.md + 分主题 references + 任务路由表),含 MIT 许可证、版本号 1.0.0、维护者与联系方式元数据。扣分点:无变更日志和明确的更新流程承诺;references 内容不可见,渐进披露的完整性和已知限制披露无法确认;发布方未经注册表验证。
输出契约明确(迁移、代码、测试、风险说明、来源注释),与'按既有约定写 Rails 代码'的目标匹配,相比通用模型行为有清晰的边际价值主张。扣分点:静态审查下无任何代表性输出可直接核验为可用,README 的营销语与实际效果证据混在一起,比较收益证据有限。
有 MIT 许可、结构化版本元数据、可追溯的第三方风格来源(37signals 风格指南链接与署名)、README 中声明的验证脚本与 CI 工作流。扣分点:验证脚本与测试套件未包含在提供的证据中,CI 仅为 PR 时的 skill-review 而非测试覆盖;无第三方执行证据,关键主张不可独立复现。
- SKILL.md 引用的 16 个 references 文件与 validate_skill.rb 未包含在审查证据中,其内容质量与安全建议均未核验。
- 发布方 Ethos Link 未经 FollowSkills 注册表验证,README 含明显产品推广内容,使用者应注意区分指导内容与营销。
- 本评估为纯静态审查,未执行任何脚本或复现技能行为,置信度为低。
- 无变更日志与明确更新流程,版本敏感的 Rails 8.1 建议可能随框架演进过时。
这个 Skill 能做什么,适合哪些场景?
这是一个面向 Rails 8.x 生产代码库的 Agent Skill,覆盖模型、控制器、路由、Hotwire、后台任务、API、性能、安全与测试等领域。它的核心原则是先扫描现有代码、遵循本地约定,只有在用户要求时才做迁移式改动。技能采用「按需加载」的参考文档结构,根据任务类型只读取相关章节。它由 Ethos Link 团队维护,以 MIT 许可开源。
技能指示 Agent 在提出改动前先阅读 Gemfile、config/application.rb、config/routes.rb、环境配置、代表性模型与控制器、测试目录和部署入口文件,记录测试框架、认证方式、前端栈和队列后端等既有模式。它内置队列适配器检测流程(依次检查 queue_adapter 配置、Gemfile、worker 运行命令),避免错误假设 Solid Queue。根据任务类型路由加载 15 个参考文档(如 models-and-data、security-checklist、hotwire-turbo-stimulus 等)。对实现任务输出迁移、代码、测试和风险说明;对审查任务按正确性、安全、性能、测试缺口的优先级排序。仓库自带 scripts/validate_skill.rb 校验脚本。
- Rails 团队在已有的生产代码库中让 AI 助手新增功能(如计费 webhook 端点),且要求匹配既有约定和测试风格
- 评审 Rails 8 Pull Request 的生产就绪度,重点检查命名、数据完整性、安全与缺失测试
- 使用 GoodJob 的应用需要添加后台任务,但明确不能更换队列后端
- 新启动的 Rails 8.1 项目希望使用内置认证生成器并遵循资源式 REST 路由等框架原生约定
- 团队希望建立统一的领域术语文档(docs/domain-terms.md)和命名规则(如本地 id 与外部 eid 的区分)
这个 Skill 有哪些优点和局限?
- 强调先读现有代码再动手,避免 AI 强加与项目不符的架构
- 内置队列后端检测,不盲目假设 Rails 8 = Solid Queue,写后端无关的 ApplicationJob 代码
- 参考文档按任务路由加载,减少无关上下文消耗
- 提供明确的输出契约和审查优先级,结果可预期
- 自带校验脚本和 README 中的前向测试提示词,便于验证触发行为
- 仅针对 Rails 8.x,对老版本 Rails 项目不适用
- README 称支持 Minitest 和 Minitest::Mock,未提及 RSpec 覆盖
- 仓库未列出 GitHub Topics,也未提供公开测试套件或基准数据证明效果
- 37signals 风格 profile 为可选偏好指南,不适合以此为主要诉求的团队
如何安装这个 Skill?
使用 skills CLI 安装:npx skills add [email protected]:ethos-link/rails-conventions.git --skill rails-conventions;更新已有安装用 npx skills update rails-conventions。发布改动前可运行 ruby scripts/validate_skill.rb 校验。仓库未说明安装后 SKILL.md 在各具体运行时的放置路径。
如何使用这个 Skill?
将仓库放入支持 Agent Skills SKILL.md 约定的运行时后,用 Rails 相关请求触发即可。示例提示词(来自 README):"Implement a new billing webhook endpoint in this Rails app, matching existing conventions and tests.";"Review this Rails 8 pull request for production readiness, focusing on naming, data integrity, security, and missing tests."。技能会按任务自动加载对应参考文档。
这个 Skill 与同类方案有什么区别?
README 明确注明其风格深受非官方 37signals 编码风格指南(github.com/marckohlbrugge/unofficial-37signals-coding-style-guide)启发,但将其定位为品味参考而非权威;除此之外源材料未提及其他竞品。