技能文档废话检查器
概述
扫描一个指定技能目录下的文档,识别并报告其中不构成"当前生效规则"的废话文字。废话分两类:历史/已废除/更正类(高置信,应删),以及导言/规则原理/自包含属性类(中置信,供人工确认)。只读、只报告,绝不修改目标文件。
工作流程
1. 定位目标技能
用户必须指定要检查的技能名,不能省略。
- 如果用户只给了技能的名字,那么就看系统提供的技能列表中有没有这个技能。
- 若用户给的是绝对路径,直接使用。 确认目录存在;不存在则向用户报错并列出可用技能。
2. 确定扫描文件
扫描以下文件(用 Grep 工具,output_mode=content 带行号):
<skill-dir>/SKILL.md<skill-dir>/references/*.md(全部)
不扫描 scripts/、assets/ 及非 .md 文件。
3. 匹配废话模式
加载 references/bloat-patterns.md 中的模式清单,分两类匹配:
- A 类(高置信):历史/已废除/更正类关键词与短语(含"不再设/取消限制"等隐含历史变更的写法)。命中所在行整行上报。
- B 类(中置信):导言/规则原理/自包含属性类正则模式(含"自包含""不依赖外部命令""所有知识都在本文件+示例内"等同族变体)。命中行上报,标注「中置信·请人工确认」。
匹配时注意 bloat-patterns.md 末尾的「减少误报注意事项」与「冗余与重复表述」原则:不把单独「为了/因为」作关键词;跳过代码块、SVG <text>、注释;对"自包含/不依赖外部命令"等主张做跨行去重,重复出现的只建议留一处。
命中后做二次过滤:判断该文字去掉后,所在规则是否仍完整可执行--是->判为废话;否->规则本体,保留。这是"以是否构成当前生效规则为准"原则的可执行落地,避免关键词命中后被粗放归组为"规则本体"而漏报。
4. 生成报告(只报告,不改文件)
输出结构化报告,格式:
## 废话检查报告:<skill-name>
扫描文件:<列出已扫文件>
命中总数:<n>
### A 类(高置信 · 建议删除)
- 文件:<path> 行 <n> [类型:历史/已废除]
原文:<命中行原文>
说明:<一句为什么是废话>
### B 类(中置信 · 请人工确认)
- 文件:<path> 行 <n> [类型:导言/原理/自包含]
原文:<命中行原文>
说明:<提示用户判断>
(若无命中,写明「未发现废话」)
报告末尾给出总结建议(如「A 类可直接删除;B 类请按需保留;重复的自包含/不依赖外部命令主张只留一处」)。
5. 绝不修改
本技能只产出报告。删除/修改动作由用户另行决定,或由用户显式要求后才执行。
资源
references/bloat-patterns.md:废话模式清单(A/B 两类、关键词、正则、误报注意)。
设计原则
- 只读诊断,不写文件,避免误删有用内容。
- 废话判定以"是否构成当前生效规则"为准,而非文风偏好。
- 中置信条目必须标注,交人工判断,不替用户做删留决定。