mcpField
A
audit-agent-history

audit-agent-history

github.com/timschochAgent 工作流1589 次安装今天更新
代码仓库

关于 audit-agent-history

audit-agent-history 是分析 Claude Code 和 Codex 会话日志的技能,用于发现反复出现的 Agent 修正和工作流问题。它会统计模式、提出最多三条规则变更,并识别可纳入共享中心的本地规则配对。

主要功能

  1. 01按模型统计会话和用户消息
  2. 02分类并标准化修正模式
  3. 03引用审计日志中的实例
  4. 04检查问题会话和缓慢会话
  5. 05识别可提升的本地规则配对

适用场景

  1. 01从会话日志发现反复出现的 Agent 错误
  2. 02按模型和失败模式比较修正率
  3. 03准备有证据支持的工作流规则提案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/timschoch/skilly --skill audit-agent-history

安装后在 Claude Code 中输入/audit-agent-history确认已加载。

附带文件references/failure-modes.md

详细介绍

审计 Agent 历史记录

凭猜测写下的规则往往无效。根据用户自己日志中统计出的纠正记录写下的规则才有效。此技能会进行统计,然后最多为 bundles/workflow/rules/workflow-hazards.md 提出三条规则,并找出值得提升到其中心规则中的消费者覆盖规则对。

日志所在位置

先用 ls 验证每个路径。不存在的路径跳过,并在报告中说明。

Harness路径格式
Claude Code~/.claude/projects/<project-slug>/*.jsonl每个会话一个文件,每行一条 JSON 消息;type 为 user 或 assistant;cwd 表示仓库;assistant 行包含 model(claude-fable-5、claude-opus-5)
Codex~/.codex/sessions/<yyyy>/<mm>/<dd>/rollout-*.jsonl每个会话一个文件;首行为包含 cwd 的 type: session_meta;后续行包含 model(gpt-5.6)

项目 slug 是将仓库路径中的 / 替换为 -:/Users/x/repo/skilly 会变成 -Users-x-repo-skilly。

范围

询问用户,或采用以下默认值:

  • 仓库:指定哪些 cwd 值;默认全部
  • 时间窗口:默认 30 天,按文件修改时间或 timestamp 计算
  • 模型:默认全部已出现的模型

在一个子 Agent 中完成整个审计。这需要对大量日志进行深入推理。原始日志绝不能进入主上下文,参见 principle-guard-the-context-window。子 Agent 只返回报告。

方法

  1. 统计每个模型和 Harness 的会话数及用户消息数。这两项都是步骤 4 的分母。
  2. 查找纠正记录:用户消息紧跟在助手执行操作之后,并对该操作予以反转。按 no、don't、stop、I said、why did you、undo、revert、not what I asked、I didn't ask 匹配。阅读每条命中记录之前的两条消息,排除误报(回答问题的 no 不算纠正)。
  3. 分类每条纠正记录,归入 references/failure-modes.md 中的一种模式。每条纠正记录只能归入一种模式。无法匹配的归入 other,并附上一个两个词的标签。
  4. 按模型和模式统计。归一化:纠正记录数 / 用户消息数 * 100。原始数量会偏向使用次数更多的模型。
  5. 引用排名前三的模式中,每种模式各引用两个真实示例:助手执行的操作及用户的纠正。隐去机密信息以及主目录下的所有路径(~/...)。
  6. 深入分析一个糟糕的对话线程。 在独立 Agent 中打开最糟糕的会话,使用相同模型并询问:是什么让你觉得这样做是对的,规则文件或 CLAUDE.md 中的哪一行已经过时,最初是在哪里误解了请求。将答案记录在其所解释的模式下。
  7. 深入分析一个缓慢的对话线程。 选取每条用户消息对应工具调用次数最多的会话。将其工具调用分为几类(初步了解、重复读取、检查、编辑、验证)。标记对结果没有任何影响的类别为无用。
  8. 收集覆盖规则对。 在范围内的每个仓库中,读取 .claude/rules/*.local.md。这些文件包含消费者针对同步规则编写的错误做法/正确做法对,参见 .claude/rules/workflow-writing-standards.md。在两个或更多仓库中出现,或与排名前三的模式相符的规则对,都可作为提升到其所扩展规则中的候选项。

输出

按每 100 条的数量降序排列,每个模型和模式占一行的报告表:

| mode | model | count | per 100 messages | example |

然后是 ## Proposed hazards 块。规则最多 3 条,格式遵循 bundles/workflow/rules/workflow-hazards.md:每条规则占一行并编号,以 Never 加上操作开头,然后说明原因。每条规则都要附带日志中的一个错误示例和一个正确示例。

1. Never kill a process by port number alone. Two harness instances share a port range; the audit found four kills of the running session in two days. Bad: `kill $(lsof -t -i:3000)`. Good: `ps -o pid,command | grep <name>`, then kill the one pid.

然后是 ## Hoist candidates 块:每个覆盖层配对占一行,注明仓库、其扩展的规则文件和条目,并原样列出配对内容。

然后交接:

  • 向用户展示报告和两个块。停止。
  • 获得批准后,仅在中心仓库 (timschoch/skilly) 的 bundles/workflow/rules/ 下编辑规则文件。绝不要在使用方仓库中编辑:规则会从中心仓库同步,下一次同步会覆盖本地编辑。提升的配对放在其所扩展的条目下;然后使用方从其 .local.md 中删除这些配对。

参考资料

评论

支持 Markdown