用途:帮助用户对 .spec-driven/specs/ 下的规格文件进行映射 frontmatter 的改造或修复,建立规格与实现文件、测试文件之间的对应关系。
前提:项目根目录必须存在 .spec-driven/ 目录,可用 ls .spec-driven/ 验证;若不存在,需先运行 /spec-driven-init 初始化。
主要流程:先确定重映射范围(全部主规格文件、某个分类或文件,或仅 verify-spec-mappings 报告为格式错误/过期的规格);随后读取 .spec-driven/config.yaml、.spec-driven/specs/INDEX.md、范围内每个主规格文件及其现有映射 frontmatter;运行 node {{SKILL_DIR}}/scripts/spec-driven.js verify-spec-mappings,依据 JSON 结果识别缺失 frontmatter、格式错误的映射字段、非字符串条目和缺失的映射文件;再检查实现、测试、技能提示、脚本和文档等仓库证据,确定当前文件级映射,并保持实现文件与测试文件分开。
分类与确认:将发现分为可自信补充的缺失映射、可修复且不改变需求行为的格式错误、可替换的过期路径、需要 /spec-driven-sync-specs、/spec-driven-spec-edit 或常规变更流程处理的行为/规格漂移,以及需要人工判断的模糊映射。编辑前须展示将变更的规格文件、拟定的 mapping.implementation 与 mapping.tests 路径,以及不会由本技能编辑的漂移或模糊项,等待用户明确确认。
应用与验证:确认后仅编辑所选主规格文件的映射 frontmatter,不改实现文件,不重写需求正文;随后重新运行 verify-spec-mappings,立即修复安全的格式问题并再次验证,剩余需人工判断的错误应清晰报告。最后总结新增或修复的映射、替换的过期路径、验证是否通过,以及留给其他流程的漂移或歧义。
限制:本技能仅用于规划与文档,不修改实现代码或测试;不创建、修改、归档或取消 .spec-driven/changes/ 下的条目;修复映射时不重写需求行为;mapping.implementation 与 mapping.tests 保持分离;仅使用仓库相对路径;映射保持文件粒度,不使用行号、范围或符号;编辑前后都必须运行 verify-spec-mappings;编辑任何规格文件前必须获得用户明确确认;若发现行为/规格漂移,应推荐相应的规格同步或变更流程,而非静默修改需求。