Klerith/fernando-skills

Spec-driven development skills for Claude Code, Cursor, Codex, and Antigravity. By Fernando Herrera.

它解决了什么问题

当您向Claude Code这样的LLM提出广泛请求,如“给我构建一个Arkanoid游戏”时,它倾向于无声即兴发挥——在没有您输入的情况下做出数十个设计决策(类与函数、全局与局部状态、命名等)。这些决策中的每一个在以后都会变得难以逆转。由于LLM生成代码速度如此之快,决策变得不可见,每次对话都从零开始,没有先前选择的记忆,并且您浪费上下文手动粘贴相同内容,问题更加严重。本项目通过将规范作为核心工件来解决这三个问题:它强制明确决策,跨会话持久化它们,并作为稳定参考加载一次。

工作原理

本项目提供两个Claude Code技能,它们作为一对工作。/spec技能引导您设计功能规范。它读取项目的记忆文件(CLAUDE.md、AGENTS.md或README.md)以及任何现有规范,然后以3-5个为一组提出澄清问题,直到功能清晰。它逐节构建规范,每个部分在继续之前与您确认,最后将其保存为specs/NN-slug.md,状态为Draft。

然后您在聊天之外(在编辑器中)重新阅读规范,并手动将状态更改为Approved——这是一个深思熟虑的人类行为,因为Claude不能批准自己的工作。只有您批准后,/spec-impl才变得可用。

/spec-impl技能定位规范,验证其状态为Approved,创建git分支(例如,spec-03-levels-and-highscores),除非另有配置,然后根据有序计划逐步实现规范。每一步后它暂停,以便您可以审查差异。如果在实现过程中需要更改任何内容,您返回计划模式并更新规范——绝不在代码上直接即兴发挥。

规范本身遵循README中描述的六部分结构:一句话目标、明确的范围内和范围外项目、具有具体名称和路径的数据模型、有序的实现计划(每一步使系统保持工作状态)、可验证的验收标准(布尔检查项,如“按Esc暂停游戏并显示菜单”),以及做出和放弃的决策记录及原因。

适用对象

这适用于使用Claude Code(或其他编码代理,如Cursor、Codex或通过包含的安装程序使用Antigravity)的开发人员,他们希望避免无计划的LLM代码生成混乱。当任务涉及两个以上文件、涉及难以逆转的决策(模式、格式、API)、耗时超过一个会话,或产生被其他工件复用的契约时,它是理想的。它不适用于琐碎的bug修复、机械重构、探索性实验或一次性任务,其中整个事情适合单个提示。

亮点

  • 两个配对技能:/spec(设计)和/spec-impl(实现)。
  • 规范在git中版本化,并作为持久的设计决策日志。
  • 需要人工批准:您必须在实现开始前手动将规范状态从Draft更改为Approved。
  • 逐步实现,暂停以审查每个差异——不再有巨大的400行提交。
  • 超越Claude Code:安装程序脚本使技能适应Cursor、Codex和Antigravity。
  • 规范包括可验证的布尔验收标准,而不是“工作良好”或“良好用户体验”等模糊陈述。
  • README中的心理规则:如果您想打开计划模式,您可能需要它;如果规划功能让您感到无聊,您可能不需要。

相关

  • 项目
  • 项目
  • 项目
  • 项目