用途:将“已决定要做”转化为“如何实现”的实现规范(spec),写在 specs/ 下。spec 源自已接受的提案(proposal),先映射当前系统,再把不可逆选择记入 Decision Log。
主要能力:
- 查找父提案(proposals/、decisions/、语义搜索),未接受则 STOP,无提案可经用户确认后继续并记录。
- 先映射当前系统:用宿主原生工具读源码,用 OpenKnowledge 动词读 specs/、guides/,写入带文件指针的“Current system”。
- 范围 STOP 门:提出 Goals / Non-goals / 变更形态;监督模式等待确认,无头模式自动确认并记录。
- 创建 specs/NNN-name/spec.md,NNN 通过列目录分配并零填充。
- Goals 为可观测结果;Non-goals 是暂时性并附原因。
- Design 分两层:当前系统与拟议变更(选项、选择、权衡);单向门进入 Decision Log。
- 追加 ## Decision Log:DL-N,含选项、选择、理由、日期、Reverses if。
- 追加 ## Open Questions:含 Blocks、Closed by、Decider、Status,保持开放而非默默解决。
- Migration 写出真实状态序列与不可逆点;Test plan 分单元/集成/端到端/契约,明确不可验证的缺口。
- 仅在确定要构建时创建 plan.md 与 tasks.md;任务按依赖排序且可独立验证。
- 链接与校验:相对 Markdown 反链、检查死链、补全 frontmatter。
使用方式:按强制顺序执行 Step 0–10,遵守硬门(父提案、当前系统映射)。命令如 exec("ls -A specs/")、write({ document: { path: "specs/004-payment-retries/spec.md", template: "spec" } })、links({ kind: "dead", ... }) 保持原样。
限制:本技能是技能包指南,平台 open-knowledge 技能仍约束所有 Markdown 操作;不写 ADR(属 record-a-decision 技能);One-way door 才入日志。其它细节(收费、价格、平台支持)暂未提供。