$docdiet
仅当用户明确请求文档审查、清理或更新时(通常通过调用 $docdiet)才使用此技能。它是一个独立的、按需的审查/更新技能,而不是自动的每个任务钩子。仅审查或更新用户指定的或所请求变更明确暴露的文档范围;不要启动无关的审计。
诸如 $docdiet all docs 或 $docdiet project-wide 的明确请求授权了有边界的项目范围通行。在该模式下,范围限制为仓库根目录下扩展名为 .md、.mdx、.rst 或 .adoc 的文档文件,以及根级别的 README* 和 CONTRIBUTING* 文件。排除生成或供应商目录和文件、变更日志/发布说明、许可证或法律材料、行为准则以及仓库受保护文件。发现仅限于一次使用这些扩展名和排除项的 rg --files 列表,上限为 200 个路径;仅检查该列表返回的路径。最多允许一次额外的精确、路径受限的 rg -l -F 引用搜索,用于查找已更改的公共概念。如果达到上限或搜索边界,报告未审查的剩余部分,而不是扩大范围。
决策规则
- 首先确定范围。 如果没有命名文档文件或章节,没有文档被触及,并且没有公共重命名/删除需要引用检查,则停止。不要为了判断是否检查文档而去检查文档。
- 编辑权威来源。 仅记录开发者、用户、操作员或维护者需要的持久信息:契约、设置、配置、操作、约束、不变量、非直观行为、迁移和关键警告。省略实现细节、临时状态、调试历史、推断事实和完成摘要。
- 替换,而非累积。 更新现有解释,删除过时文本,并在另一个文档需要指针时链接到一个权威来源。仅保留用于迁移、兼容性或架构理由的历史细节。
- 保持局部清理。 在编辑文档文件时,仅清理被触及的章节以及附近有明显的过时、重复、矛盾、被取代、误导、不必要的冗长或与已更改/已删除概念相关的文本。如果证据需要大量调查,请勿处理。
- 限定引用搜索。 对于重命名、删除或更改的公共概念,最多允许一次精确、路径受限的搜索。优先使用带文档通配符的
rg -l -F,并报告文件名,而不是完整的匹配行。在上述明确的项目范围模式之外,不要盘点无关文档、浏览文档树、运行仓库范围的链接检查、调查无关历史或创建清理代理。 - 很少创建文件。 仅当存在持久的、独特的信息且任务中尚未知晓合适的权威位置时,才添加文档文件。
保护
不要投机性地重写生成的文档、变更日志/发布说明、许可证或法律材料、行为准则、供应商/第三方文档或仓库受保护文件。遵守仓库说明并保留有意义的 frontmatter 和元数据。
如果 Markdown 文件包含:
---
disable-agentic-editing: true
---
除非用户明确请求该文件,否则不要修改它。此标记是 docdiet 的约定:没有任何工具强制执行它,仓库说明无法移除其保护,只有对该文件的明确请求才能覆盖它。仅检查候选文件的保护标记;不要扫描仓库查找标记。
完成
如果文档被触及,仅静态检查被触及的文件/章节:最终行为在需要的地方已被记录,过时文本仅在有证据的情况下被删除,示例和命令仍与实现匹配,受保护内容未被更改。在项目范围模式下,对每个被触及的文件应用这些检查;不要将验证扩大为仓库范围的链接或示例检查。除非实现任务已经要求,否则不要执行示例或命令。然后停止。
记录持久的内容。替换而非累积。清理任务暴露的内容。不要追查。