用途:在编写、审查或重构 Rails 代码时应用日常约定。样式与格式以项目配置的 linter(如 .rubocop.yml 或 .standard.yml)为准,本技能只补充非样式类的行为与架构指导。
主要能力:按路径给出针对性建议,例如模型层预加载与 pluck/exists?/find_each,控制器使用强参数、动作保持轻薄并抽取 service,service 对象单一职责与 .call 配合依赖注入,RSpec 使用 FactoryBot 且优先 let 而非 let!。同时给出 DRY、YAGNI、PORO、CoC、KISS 原则,要求注释解释为何而非做什么,TODO:/FIXME: 等标签必须带可执行上下文(负责人、工单、下一步)。
使用方式:先运行 linter 并注明是否缺失;再按变更文件的路径应用对应规则;确认新行为存在失败测试后再实现(PRD → TASKS → 写测试并运行至失败 → 实现 → 重跑通过);检查 Rails.logger 调用符合已安装 logger 的单一消息接口,错误日志包含 event 字段与脱敏的 backtrace;需要时按集成表串联 apply-stack-conventions、write-tests、security-check、implement-background-job、model-domain、create-service-object、code-review 等技能。
限制:仅当 test-prof 已在 Gemfile.lock 中时才建议 let_it_be,否则默认 let,且不主动引入 test-prof。默认输出英文,除非明确要求其他语言。详细清单与代码片段位于 assets/checklist.md、assets/snippets.md,仅在需要时加载。官方未提供收费、平台、效果等信息。