审计状态行Skill audit-statuslines

这个技能用于审计Claude Code中的状态行配置,评估脚本质量、跨平台兼容性和JSON处理正确性。关键词:状态行审计、跨平台兼容性、JSON输入处理、终端输出验证、脚本质量测试、自动化审计工具。

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

name: audit-statuslines description: 审计Claude Code状态行以评估质量和跨平台兼容性。在创建或验证自定义状态行脚本,或解决终端输出问题时使用。 argument-hint: [–force | --skip-validation] allowed-tools: Read, Bash, Glob, Grep, Task

审计状态行命令

审计Claude Code状态行配置的质量和跨平台兼容性。

初始化

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

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

status-line-customization 技能提供权威验证指导(运行此命令时自动加载)。

审计内容

  • 脚本结构和执行
  • JSON输入处理
  • 终端颜色代码使用
  • 跨平台兼容性(Windows、macOS、Linux)
  • 辅助函数可用性

命令参数

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

步骤1:发现状态行配置

检查项目和用户设置文件中的 statusLine 设置。

对于项目设置,读取 .claude/settings.json 并提取任何 statusLine 值。

对于用户设置,首先检测平台:在类Unix系统上检查 ~/.claude/settings.json,在Windows上检查 %USERPROFILE%\.claude\settings.json。然后提取任何 statusLine 值。

每个 statusLine 值指向一个脚本文件。构建一个发现脚本列表,包括其范围(项目或用户)和完整路径。

如果没有配置自定义状态行,报告此情况并提供如何创建的指导。

步骤2:解析参数

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

步骤3:呈现审计计划

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

步骤4:执行审计

对于每个脚本,生成 statusline-auditor 子代理,并提供以下上下文:

  • 范围(项目或用户)
  • 脚本文件的完整路径
  • 设置文件引用
  • 最后审计日期或“从未审计”
  • 当前审计日期
  • 项目根路径

当存在多个脚本时,并行运行子代理。

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

步骤4.5:验证发现

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

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

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

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

步骤5:最终摘要

报告审计的总脚本数、按范围的结果和详细表格。列出跨平台或JSON处理问题,并提供修复步骤。

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

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

重要注意事项

脚本要求

状态行脚本必须通过stdin接受JSON输入,正确解析它,输出格式化的终端文本,并在Windows(Git Bash/PowerShell)、macOS和Linux上工作。

跨平台路径

平台 设置位置
Unix ~/.claude/settings.json
Windows %USERPROFILE%\.claude\settings.json

终端颜色代码

正确使用ANSI转义码,并为不支持颜色的终端提供回退。

审计日志位置

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

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

使用示例

示例1:审计所有状态行

用户:/audit-statuslines

Claude:正在发现状态行配置...

## 审计计划
**模式**:SMART
**发现脚本**:2

1. [项目] .claude/statusline.sh
2. [用户] ~/scripts/my-statusline.py

[生成statusline-auditor子代理]

## 审计完成
| 范围 | 脚本 | 结果 | 分数 |
| --- | --- | --- | --- |
| 项目 | statusline.sh | 通过 | 100/100 |
| 用户 | my-statusline.py | 通过 | 98/100 |

示例2:强制审计

用户:/audit-statuslines --force

Claude:正在审计所有脚本(强制模式)...