spec

spec

热门

在仓库根目录创建、修订或反向传播缺陷到 SPEC.md。作为项目规格的唯一修改者。当用户要求编写规格、启动新规格、从现有代码提炼规格、添加不变量、修订章节(§G、§C、§I、§V、§T、§B)或通过反向传播记录缺陷时触发。常见表述:“为……编写规格”、“新规格”、“缺陷:……”、“修订 §V.3”、“从代码提炼规格”、“规格化这个想法”。读取并遵循 FORMAT.md 中的原始编码规则以及 §T 和 §B 的管道表格式。

1129Star
86Fork
更新于 2026/6/18
SKILL.md
readonly只读
name
spec
description

Create, amend, or backprop bugs into SPEC.md at repo root. Sole mutator of the project spec. Triggers when the user asks to write a spec, start a new spec, distill a spec from existing code, add invariants, amend sections (§G, §C, §I, §V, §T, §B), or record a bug via backprop. Common phrasings: "write the spec for...", "new spec", "bug: ...", "amend §V.3", "distill spec from code", "spec this idea". Reads and follows FORMAT.md for the caveman encoding rules and pipe-table shape of §T and §B.

spec — 规格修改器

如果尚未加载,请读取仓库根目录下的 FORMAT.md。所有写入操作均遵循原始技能规则。

调度

检查用户请求和项目状态:

  1. 仓库根目录无 SPEC.md 且参数描述想法 → 新建
  2. SPEC.md 且参数包含 from-code提炼
  3. SPEC.md 存在且参数以 bug: 开头 → 反向传播
  4. SPEC.md 存在且参数以 amend 开头 → 修订
  5. SPEC.md 存在且无参数 → 询问用户选择哪种模式

输入 — spec 是唯一修改器

其他动词产生材料;spec 负责写入。将其交接块整合到相应章节,显示差异,确认后写入:

  • grill → 精炼的 §G + §C
  • research → §R 行(若缺失则添加 §R 章节)
  • review → 草拟的 §V 行 + 风险结论
  • deepen → §I/§V/§T 修订

⊥ 不要重写交接未指定的章节。章节所有权(见 FORMAT.md)。

新建 — 想法 → 规格

输入:用户想法。如果模糊,建议先运行 grill

步骤:

  1. 提取目标(一行,原始风格)。→ §G。
  2. 列出用户明确或隐含的约束。→ §C。
  3. 列出用户命名的外部接口。→ §I。
  4. 仅当 research 已运行时才添加 §R — 否则省略该章节(合理大小)。
  5. 提出初始不变量。→ §V(编号 V1…)。
  6. 将目标分解为有序任务。→ §T 管道表,所有状态为 .,ID 为 T1…
  7. §B 章节仅包含表头行(id|date|cause|fix)。

写入 SPEC.md。向用户显示完整文件。询问:“规格可以吗?高风险则 /review,否则 /build。”

提炼 — 代码 → 规格

遍历仓库。生成 §G(从 README/package.json/主入口推断),§C(从技术栈推断),§I(枚举公共 API/CLI/配置),§V(从测试和断言推导),§T(每个已知 TODO 或缺失测试对应一个任务),§B(空)。

处处使用原始风格。在文本中用 ? 标记不确定项,以便用户确认。

反向传播 — 缺陷 → §B + §V

输入:bug: <description>

步骤:

  1. 解析缺陷描述。
  2. 找到根本原因(阅读相关代码)。
  3. 判断:新不变量能否防止复发?若能 → 草拟 V<next>
  4. 在 §B 追加行:B<next>|<date>|<cause>|V<N>
  5. 在 §V 追加新不变量。
  6. 如果修复也改变行为 → 添加/更新 §T 行。
  7. 显示差异。仅在用户确认后应用。

规则:每个缺陷都有 §B 条目。不变量可选但推荐。

修订 — 定向编辑

输入:amend §V.3amend §T 等。

读取该章节。显示当前内容。询问用户更改。写入。显示差异。

绝不静默重写用户未指定的章节。

输出规则

  • 根据 FORMAT.md 使用原始格式。
  • 保留标识符、路径、代码原样。
  • 编号单调递增 — 绝不重用 §V.N 或 §B.N。
  • §T 行 cites 列!列出 §V/§I 依赖:T5|.|impl auth mw|V2,I.api

非目标

  • 无子代理。主线程写入。
  • 无仪表盘、无日志、除 SPEC.md 本身外无状态文件。
  • 规格后不自动构建。用户显式调用构建。