规则审计技能Skill audit-rules

这个技能用于审计Claude Code的规则文件,确保其质量和合规性。它检查YAML前端结构、全局模式有效性、文件命名规范等,适用于规则文件的创建、验证和故障排除。关键词:规则审计、代码质量、合规性检查、YAML验证、全局模式、Claude Code。

DevOps 0 次安装 0 次浏览 更新于 3/11/2026

name: 审计规则 description: 审计Claude Code规则文件的质量和合规性。在创建或验证.claude/rules/*.md文件或排除规则加载问题时使用。 argument-hint: [–force | --skip-validation] allowed-tools: 读取, Bash, Glob, Grep, 任务

审计规则命令

审计Claude Code规则文件(.claude/rules/*.md)的质量和合规性。

初始化

在审计之前,初始化环境:

  1. 获取当前UTC日期用于审计时间戳。
  2. 捕获项目根路径用于子代理通信。
  3. 确保临时目录(.claude/temp/)存在。
  4. 如果用户确认,清理任何过时的审计文件。

memory-management技能提供规则的权威验证指导(运行此命令时自动加载)。

审计内容

  • YAML前端结构(description, globs)
  • 全局模式的有效性和语法
  • 规则文件命名约定
  • 内容结构和清晰度
  • 特定路径的规则适用性

命令参数

参数 描述
(无) 审计所有可发现的规则文件
--force 无论修改状态如何,都进行审计
--skip-validation 跳过发现验证(更快,但可能包含误报)

步骤1:发现规则文件

在以下位置搜索规则文件:

  • 项目规则(.claude/rules/*.md
  • 用户规则(~/.claude/rules/*.md

构建发现的规则文件列表,包括其范围(项目或用户)和完整路径。

如果未找到规则文件,报告此情况并提供如何创建一个的指导。

步骤2:解析参数

检查命令参数中是否存在--force标志。基于发现的文件和force标志构建审计队列。

步骤3:呈现审计计划

显示审计模式(SMART或FORCE)、发现的规则文件,并列出每个的范围和最后修改日期。

步骤4:执行审计

对于每个规则文件,使用以下上下文生成memory-component-auditor子代理:

  • 范围(项目或用户)
  • 规则文件的完整路径
  • 上次审计日期或“从未审计”
  • 当前审计日期
  • 项目根路径

当存在多个规则文件时,并行运行子代理。

子代理将发现结果写入.claude/temp/,包括JSON(用于恢复/聚合)和Markdown(用于人工审查)。主对话线程使用其写入/编辑工具收集结果并更新审计日志。

步骤4.5:验证发现

除非存在--skip-validation标志:

  1. 生成audit-finding-validator代理,上下文包括:
    • project_root:捕获的项目根路径
    • audit_type:“rule”
    • audit_files.claude/temp/audit-*-rule-*.json文件路径列表
  2. 等待验证完成
  3. 读取带有验证结果的更新JSON文件
  4. 在聚合之前完全过滤掉FALSE_POSITIVE发现
  5. 注意:过滤后的发现记录在.claude/temp/audit-filtered-findings.json

如果存在--skip-validation标志:

  • 完全跳过验证阶段(保持当前速度)
  • 呈现所有发现而不进行过滤
  • 在摘要中注明:“验证:已跳过”

步骤5:最终摘要

报告审计的规则文件总数、按范围的结果和详细表格。列出前端结构或全局模式问题并提供修复步骤。

包括验证统计信息(如果执行了验证):

  • 验证是否执行:是/否
  • 发现已验证:X
  • 误报过滤:Y
  • 已验证发现:Z
  • 未验证发现:W

重要说明

规则文件要求

规则文件必须具有有效的YAML前端结构,包含description和可选的globs字段。globs字段控制规则适用的文件。

规则文件位置

位置 目的
.claude/rules/*.md 项目特定规则
~/.claude/rules/*.md 用户全局规则

全局模式语法

规则可以使用全局模式来仅应用于特定文件:

---
description: TypeScript编码标准
globs: ["**/*.ts", "**/*.tsx"]
---

审计日志位置

所有审计结果写入.claude/audit/rules.md

使用/audit-log rules查看当前审计状态。

示例用法

示例1:审计所有规则文件

用户:/audit-rules

Claude:正在发现规则文件...

## 审计计划
**模式**:SMART
**发现的规则文件**:3

1. [项目] .claude/rules/typescript.md
2. [项目] .claude/rules/security.md
3. [用户] ~/.claude/rules/personal-style.md

[生成memory-component-auditor子代理]

## 审计完成
| 范围 | 规则文件 | 结果 | 得分 |
| --- | --- | --- | --- |
| 项目 | typescript.md | 通过 | 100/100 |
| 项目 | security.md | 通过 | 95/100 |
| 用户 | personal-style.md | 带有警告通过 | 82/100 |

示例2:强制审计

用户:/audit-rules --force

Claude:正在审计所有规则文件(强制模式)...