内存审计Skill audit-memory

这个技能是用于审计Claude Code的CLAUDE.md内存文件的工具,旨在检查文件的质量、合规性和组织结构。它包括验证导入语法(如@path/to/file.md)、检测循环导入、确保层次合规(企业>项目>用户)、分析令牌预算以管理文件大小。关键词:代码审计、内存管理、合规检查、令牌分析、Claude Code、DevOps工具。

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

名称: 审计内存 描述: 审计Claude Code的CLAUDE.md内存文件,以确保质量、合规性和组织性。用于验证导入语法、检测循环导入和检查层次合规。 参数提示: [项目 | 用户 | 全部] [–强制 | --跳过验证] [–令牌预算] 允许工具: 读取, Bash, Glob, Grep, 任务

审计内存命令

审计Claude Code的CLAUDE.md内存文件,以确保质量、合规性和组织性。

初始化

审计前初始化环境:获取当前UTC日期、捕获项目根路径、确保临时目录存在并清理过时的审计文件。memory-management技能提供权威验证指导(运行此命令时自动加载)。

审计内容

  • 导入语法(@路径/到/文件.md
  • 层次合规(企业 > 项目 > 用户)
  • 循环导入检测
  • 大小指南和渐进披露
  • 内容组织

命令参数

参数 描述
(无) 审计所有可发现的CLAUDE.md文件
项目 仅审计项目级文件
用户 仅审计~/.claude/CLAUDE.md
全部 显式审计所有范围
--强制 无论修改状态如何都审计
--跳过验证 跳过查找验证(更快,但可能包含误报)
--令牌预算 仅运行令牌预算分析(跳过完整审计)

步骤1:发现CLAUDE.md文件

检查根CLAUDE.md.claude/CLAUDE.md、用户~/.claude/CLAUDE.md(Unix)或%USERPROFILE%\.claude\CLAUDE.md(Windows),以及.claude/memory/*.md

构建列表,包含范围和级别(根/点-claude/内存/用户)。

步骤2:解析参数

解析范围选择器和--强制标志。过滤文件以匹配请求的范围。

步骤3:呈现审计计划

显示模式、发现的文件、主文件和导入的内存文件。

步骤4:执行审计

对于每个文件,生成memory-component-auditor子代理,带有范围、级别、路径和上次审计日期。在3-5个并行批次中运行。

个别审计后,通过构建导入图执行跨文件循环导入检测。

子代理将发现写入.claude/temp/。主对话线程收集结果并使用其写入/编辑工具更新审计日志。

步骤4.5:验证发现

除非--跳过验证标志存在:

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

如果--跳过验证标志存在:

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

步骤5:最终摘要

报告按范围审计的总数、结果、循环导入检查,并提供详情表格。提供问题修复步骤。

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

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

步骤6:令牌预算分析(默认包含)

范围: 仅始终加载的文件(根CLAUDE.md + 带有@前缀导入标记为"始终加载"的文件)

注意: 使用--令牌预算仅运行此步骤(跳过步骤1-5完整审计)。

6.1 获取官方指导

调用memory-management技能(委托给docs-management)获取当前关于内存文件大小的官方指导。官方文档建议保持内存"简洁和聚焦",采用渐进披露 - 特定令牌阈值是仓库特定标准,非官方要求。

6.2 计算每个文件的令牌

对于每个始终加载的文件:

  1. 读取文件内容
  2. 估计令牌:len(内容) / 4(对英语Markdown的近似)
  3. 如果存在,从头中提取声明的令牌预算(例如,**令牌预算:** ~1,800令牌
  4. 记录文件路径、实际令牌、声明预算

6.3 计算聚合总数

对所有始终加载文件的令牌求和。不包括按需文件(那些在根中无@前缀,或标记为"上下文相关"的)。

6.4 评估相对于仓库特定阈值

这些阈值是仓库特定标准(见audit-framework.md),非来自官方Claude Code文档:

状态 令牌范围 指导
通过 ≤12k令牌 在仓库预算内
警告 12k-15k令牌 接近上限,监控
失败 >15k令牌 超出预算,需要修复

6.5 生成报告

报告包括:

  1. 前5大文件 按令牌计数,占总数的百分比
  2. 聚合总数 相对于仓库特定预算
  3. 声明与实际差异 对于声明预算与实际差异>20%的文件
  4. 状态(通过/警告/失败)基于聚合总数

6.6 建议修复(如果失败或警告)

如果超出预算,推荐:

  • 可以移动到按需加载的文件(非每个会话关键)
  • 大文件(>2k令牌)可以使用中心模式拆分
  • 参考官方文档的渐进披露指导(通过memory-management技能)

6.7 更新审计日志

.claude/audit/memory.md中添加令牌预算分析部分,包括:

  • 状态和分析日期
  • 指标表格(总数、预算、差异)
  • 前5大文件表格
  • 声明与实际差异表格(如果有差异)

重要注意事项

导入语法

有效:@路径/到/文件.md(例如,@.claude/memory/workflows.md

层次合规

  1. 企业(最高优先级)
  2. 项目根(CLAUDE.md
  3. 项目点-claude(.claude/CLAUDE.md
  4. 用户(~/.claude/CLAUDE.md - 最低)

大小指南

文件类型 推荐大小
根CLAUDE.md < 50行核心 + 导入
内存导入 < 500行每个

跨平台路径

平台 用户内存
Unix ~/.claude/CLAUDE.md
Windows %USERPROFILE%\.claude\CLAUDE.md

审计日志位置

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

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

使用示例

示例1:审计所有内存文件

用户: /审计内存

Claude: 发现CLAUDE.md文件...

## 审计计划
**模式**: SMART
**发现文件**: 12

### 主文件:
1. [项目:根] CLAUDE.md
2. [用户] ~/.claude/CLAUDE.md

### 导入文件:
3. [项目:内存] .claude/memory/workflows.md
...

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

## 审计完成
**循环导入检查**: ✓ 未检测到循环

| 范围 | 文件 | 结果 | 分数 |
| --- | --- | --- | --- |
| 项目 | CLAUDE.md | 通过 | 100/100 |

示例2:仅审计项目

用户: /审计内存 项目
Claude: 审计项目级文件...