审计代理指令文件
目标:找出指令文件中错误、过时、模糊或有风险的行,并给出更短、更准确的版本。绝不"修复"你未运行过的命令或未检查过的路径。
步骤
- 找到文件。 查找
AGENTS.md、CLAUDE.md、CLAUDE.local.md、.claude/rules/*.md、.cursor/rules/*.mdc、.cursorrules、.github/copilot-instructions.md和.github/instructions/*.md。列出找到的文件及其读取者。 - 运行检查器 从仓库根目录开始,先获取机械性结果:
python3 scripts/audit_instructions.py <file> [<file> ...](该路径相对于此技能所在文件夹;请使用已安装技能的完整路径。)它会报告长度、断开的文件路径、引用不存在脚本或 Make 目标的命令、模糊短语、遗留的[BRACKET]占位符、重复行和类似秘密的字符串。如果 Python 不可用,请手动执行相同的检查。 - 自行检查每条命令。 对于文件中的每条命令,确认其存在(
package.json中的脚本、Makefile中的目标、pyproject.toml中的入口)。运行廉价且安全的命令(lint、单元测试、类型检查)。不要运行部署、迁移或删除命令;将它们列为"未验证"。 - 检查脚本无法做出的判断性决策:
- Linter 或格式化工具已强制执行的规则(候选删除项)。
- 相互矛盾的规则,或与其他指令文件矛盾的规则。
- 代理可以在几秒钟内从仓库读取的事实(框架名称、文件夹列表)。
- 没有可测试含义的规则("编写干净代码")。
- 属于路径限定规则而非根文件的内容。
- 报告,然后等待批准后再编辑。
报告格式
## 指令文件审计: <file>
长度: <n> 行 (<判断>)
### 必须修复(错误或不安全)
- 第 <n> 行: <错误内容>, <证据:命令输出或缺失路径>
### 应精简(低价值)
- 第 <n> 行: <可删除原因>
### 矛盾
- <文件 A 第 n 行> vs <文件 B 第 m 行>: <冲突描述>
### 未验证
- <命令>: <未运行原因>
### 建议版本
<更短的文件,或差异>
规则
- 证据优于观点:每个"必须修复"都需引用输出或缺失文件。
- 保留文件所有者的语气以及任何编码了真实事件或硬约束的规则。
- 审计期间不要添加新规则。在最后单独建议,最多三条。
- 将看起来像秘密的字符串视为真实秘密:通知用户轮换它,不要在报告中重复该值。