SuperAPI AI 工具集

harness-audit

编程与开发

查看项目

更新于 10-16 03:19

技能介绍

用途

harness-audit 是一个框架无关的 AI Harness 审计技能,用于评估一个项目的 AI 编码 harness 有多完整。它回答的核心问题是:项目质量路径有多少被固化进 AI 编码 harness 本身,而不是留给模型即兴发挥。一个强大的 harness 会让正确、经过测试和审查的路径成为最容易走的路径。

主要能力

  • 框架无关的 Harness 检测:在运行时定位所有 harness 产物,无论技术栈如何,包括 CLAUDE.md、.claude/rules/、.claude/settings.json、.claude/commands/、.claude/skills/、.claude/agents/、hooks 以及测试到 PR 的生命周期。
  • Harness 完整性评分:应用固定的 7 项 / 100 分评分标准,并将总分映射到成熟度等级。
  • 强制与上下文区分:区分仅告知模型的 harness 部分(上下文)与强制行为的 harness 部分(权限、hooks、门禁)——这是基础 harness 与铺平路径 harness 之间的区别。
  • 基于证据的报告:生成包含确切文件、行范围和最高影响后续步骤的行动计划。

使用方式

该技能通过顺序、模块化的规则执行审计,共 4 条规则:

  1. Harness 清单(只读):定位每个 harness 部分并捕获具体证据(路径、行数、frontmatter、相关摘录),暂不判断质量。
  2. Harness 评分:对清单证据应用固定的 7 项 / 100 分评分标准,计算总分并映射到成熟度等级。
  3. 生成 Harness 审计报告:将清单和评分综合为报告,包含逐项评分表、总分 /100、等级解读和前三项最高影响后续步骤。
  4. 验证并导出 Harness 审计报告:根据结构和 Markdown 格式规则验证生成的报告,然后保存最终 Markdown 报告。

报告保存路径为 ./reports/<YYYY-MM-DD>-<project>-harness-audit.md,同时导出同名 .json 文件。报告文件名中的 <project> 来自 git 仓库名,经 kebab-case 转换。

执行命令示例:

mkdir -p reports
# Save validated report to ./reports/<YYYY-MM-DD>-<project>-harness-audit.md

评分系统

Harness 部分 标准(需要证据) 分值
CLAUDE.md 存在 仓库根目录或 .claude/ 下存在 CLAUDE.md 10
CLAUDE.md 真实 少于 200 行,且包含真实的构建/测试命令和约定 +10
Rules 至少一个 .claude/rules/*.md,带有与技术栈相关的 paths: 范围 10
Permissions 项目 .claude/settings.json 中有对 secrets 的 deny(例如 Read(./.env)) 15
Commands / Skills 至少一个可调用的团队流程(.claude/commands/.md 或 .claude/skills//SKILL.md) 15
Hooks 在 PostToolUse 或 Stop 中接入自动化验证(lint/format/test) 20
Agents 至少一个自定义 agent 角色(例如 reviewer/qa)位于 .claude/agents/ 下 10
Autotest → PR agent 能自行达到绿色 PR——完整的 autotest-to-PR 生命周期 10
总分 100

成熟度等级

  • 0–30 — 无 harness:模型即兴发挥;没有任何路径被铺平。
  • 31–60 — 基础 harness:存在上下文(CLAUDE.md、rules),但没有强制(无 deny 权限、无 hooks、无门禁)。
  • 61–85 — 扎实 harness:上下文加真实强制;质量路径得到良好支持但存在缺口。
  • 86–100 — 铺平路径:质量路径就是容易走的路径——强制、agents 和绿色 PR 生命周期都已接入。

适用场景

  • 评估项目 AI 编码 harness 的完整程度。
  • 跨审计和跨时间进行客观比较(定量评分)。
  • 识别最高影响的后续改进步骤。

限制

  • 严格只读:审计不得写入、编辑或创建被审计仓库内的任何文件。其唯一写入是自身产物和 reports/ 下的报告。
  • 不得运行 git、格式化工具或任何会修改文件的命令。
  • 不得为仅存在但为空或无效的部分给分。例如没有真实命令的 CLAUDE.md、没有 deny 规则的 settings.json、或什么都不运行的 hook,在其对应标准上计为缺失。
  • 不得编造或假设信息——如果证据缺失,报告“Not found”。
  • 每个给分或扣分都必须引用具体文件路径(以及相关行范围)。

报告元数据

每份生成的报告必须在最后包含元数据块,包括扫描日期、项目路径、存在部分数、总分、成熟度等级、生成工具版本、技能名称和 Somnio AI Tools 链接。