用途:清理项目 specs/ 目录中已过时或被新规格取代的功能规格,减少维护中的认知负担。
主要能力:识别候选取代关系,依据命名版本后缀、显式引用、决策日志、范围重叠、Git 提交与任务完成情况等信号分组;将候选分类为“完全取代”(建议删除)或“扩展”(建议人工决定合并或删除);生成可核查的清理报告,报告含证据与建议动作。
使用方式:项目根目录需有 specs/ 且至少两个子目录。技能遍历各规格的主文档(requirements.md、smolspec.md、design.md、plan.md 按序取首个)以及 decision_log.md、tasks.md;若为 Git 仓库,收集每个规格的创建与最后修改日期。随后检测取代候选、逐个分类,并输出报告等待批准。批准后,完全取代者用 git rm -r specs/<dir> 删除;扩展者若选择合并,则将独有需求、设计内容和未完成任务移入保留规格,携带被吸收规格的决策日志条目并重新编号、注明来源,再新增一条记录合并本身的决策条目,最后删除被吸收目录。若 specs/OVERVIEW.md 存在,则移除被删规格的行与详情并更新合并者;不存在则不创建。
适用场景:项目规格目录积累多个历史版本,需要审计、精简、整合或整理时。
限制:不修改或删除任何未经本次对话明确批准的规格;不触碰 specs/bugfixes/;仅凭名称不作为判定依据,需阅读内容;规格仅年代久远而无继任者不在范围内,最多作为观察提及,不建议动作;删除优先使用 git rm 以便历史可恢复,未跟踪目录会提示不可恢复;不确定时归类为“扩展”交由用户决定。