用途
feature-dev 是一个引导式工作流技能,用于把一个新功能切片从粗略想法推进到经过评审、已提交的代码。它明确不是自主编码,而是借用系统化功能开发的骨架,并贯穿四个纪律:切片(定义工作)、TDD(构建)、代码评审(加固)、干净提交(落地)。
该工作流存在的核心目的是抵制过早写代码的冲动。每个阶段都为下一阶段赢得资格:不理解功能就不切片,切片不清晰就不构建,差异未评审就不算完成,测试未通过就不提交。价值在于顺序,而非任何单一步骤。
主要能力
- 范围纪律:只精炼并构建一个切片。如果工作实际上是包含多个可独立交付部分的史诗(epic),会在框定阶段指出,并帮助用户选择当前要构建的单个切片。
- 精简纪律:小切片不保证小差异。目标是将生产代码差异控制在约 300 行以内(不含注释和空行;测试代码不计入此上限)。该数字从第 3 阶段起作为设计约束,而非最后才发现的关卡。
- 阶段追踪:使用 TodoWrite 跟踪各阶段,让用户看到进度。
使用方式(七个阶段)
第 1 阶段:框定工作。理解用户想构建什么,确认它是单个切片。初始请求为 $ARGUMENTS。若功能不清晰,询问要构建什么、解决什么问题、为谁而做、完成是什么样。然后明确判断大小:是一个切片,还是隐藏多个切片的史诗。一个切片则用一两句话确认理解并进入第 2 阶段;史诗则明确指出,帮助命名各部分,询问本轮构建哪一个切片。
第 2 阶段:探索代码库。将切片扎根于代码库的实际工作方式,使验收标准现实、实现遵循现有约定。根据功能匹配投入:小而熟悉的改动只需少量针对性阅读;涉及不熟悉领域或跨层时,通过 Agent 工具并行启动 2–3 个通用子代理作为代码库探索者,分别覆盖相似功能实现、架构与约定、测试模式。每个探索者返回最值得阅读的 5–10 个文件,然后自己阅读这些文件。以简短总结收尾,说明将塑造切片的模式与约定。
第 3 阶段:塑造切片。将框定的功能转化为一个清晰、定义明确的切片,并带有真实验收标准。运行 slice 技能的流程(slice 为用户调用专用,disable-model-invocation: true,无法通过 Skill 工具调用,需阅读其 SKILL.md 并自行驱动)。跳过 slice 的代码库扎根步骤,因为第 2 阶段已完成。产出物是一个带有清晰“ships when”和具体验收标准列表(正常路径、边界情况、错误状态)的 job story。这些验收标准将成为第 4 阶段的失败测试。以粗略的规模预算收尾。
第 4 阶段:测试先行构建。用严格、由外向内 TDD 实现切片,由验收标准驱动。运行 test-driven-development 技能的流程(同样为用户调用专用,需阅读其 SKILL.md 并自行驱动红-绿-重构循环)。遵守铁律:没有失败测试就不写生产代码。保持实现精简:在第二个调用者真正需要之前不引入抽象;不添加没有失败测试要求的错误处理、分支或参数;复用第 2 阶段发现的现有代码。评审前进行规模检查点,用 git diff --stat 测量生产差异。若超出预算,在三个选项中做出明确书面判断:意外复杂性(立即简化)、本质复杂性(用一两句话说明原因)、切片太大(返回上游决策)。
第 5 阶段:评审差异。捕捉 TDD 无法发现的 bug、质量问题和约定违规,并在切片被视为可交付前修复。运行 Claude Code 内置代码评审:/code-review high --fix。high 是聚焦单切片差异的合适默认值;琐碎改动可降至 medium,安全敏感或微妙逻辑可升至 xhigh/max。--fix 直接应用确认发现的修复。评审完成后重新运行完整测试套件,确认切片仍为绿色。若修复改变了尚未被测试覆盖的行为,按第 4 阶段先失败的方式添加缺失测试。
第 6 阶段:总结。标记待办完成并给出简短总结:交付了什么(一行可粘贴到 PR 描述)、验收标准确认、关键决策、变更文件(含生产代码行数对比约 300 行预算)、后续步骤。
第 7 阶段:提交切片。调用 git-commit 技能(Skill 工具,git-commit)。整个工作流的要点是工作树中的所有内容都是一个连贯切片,因此 git-commit 应将其作为单个原子提交落地,而非拆分。将切片的“ships when”行作为上下文提供,让提交信息解释切片为何存在。git-commit 止于创建提交,不推送、不打开 PR,分支留给用户自行推送和开 PR。根据安装情况,该技能可能列为 rails-consultant:git-commit。
适用场景
适用于希望以受控、有纪律的方式开发单个功能切片的开发者,尤其是成熟 Rails 应用。它适合需要从想法到已提交代码的完整引导流程,并强调测试先行、代码评审和精简差异的场景。
限制
- 该工作流一次只精炼和构建一个切片;构建多个切片会违背其初衷。
- slice 和 test-driven-development 技能均为用户调用专用,无法通过 Skill 工具调用,需阅读其 SKILL.md 并自行驱动流程。
- 约 300 行生产代码的规模约束是建议性检查点,而非硬性关卡;但未经注意地漂移超过 300 行是不允许的。
- git-commit 不推送、不打开 PR。
- 关于具体收费、价格、平台支持等信息,资料中暂未提供。