Communitygithub.com

LevNas/ccaudit

记录并保存AI辅助的Claude Code会话的审计追踪:会话结束时自动刷新到远程追踪仓库,并提供/audit-flush命令用于手动检查。

ccaudit 是什么?

这是一个用于Claude Code技能的审计追踪工具,允许用户在AI辅助的编码会话中记录、审查和持久化操作历史。它通过自动刷新(会话结束时触发)和手动刷新(通过/audit-flush命令)两种方式,将审计条目推送到配置的远程Git仓库中。该技能特别适用于需要严格审计追踪的团队或合规场景,因为它支持在刷新前检查条目(使用--dry-run标志)、处理之前失败的重试(通过--force标志从$CCAUDIT_PENDING_DIR重试),以及提供详细的提交记录(包括作者和时间戳),以证明人工审查和批准。该技能在Claude Code环境中运行,并且其行为与自动刷新钩子严格一致,以确保状态一致性。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add LevNas/ccaudit

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

audit-flush

手动对应Stop钩子。逻辑相同,按需调用。

使用场景

  • 用户要求在自动刷新之前检查暂存的审计条目。
  • 用户希望重试因先前失败(秘密检测命中或推送错误)而转移到 $CCAUDIT_PENDING_DIR 的条目。
  • 自动刷新已禁用(CCAUDIT_MANUAL=1),必须显式刷新条目。
  • 用户需要一份书面记录,表明“<用户> 在时间 X 检查并批准了本次刷新”——运行 /audit-flush 会留下痕迹(提交作者和时间戳),这是无人值守的Stop钩子无法做到的。

标志

标志行为
(无)与 hooks/auto-flush.sh 流程相同:扫描、秘密检查、推送、清理暂存区。
--dry-run列出将被刷新的内容,退出而不做任何修改。
--force除了暂存区外,还包括 $CCAUDIT_PENDING_DIR 的内容;重试所有内容。

执行步骤

严格按照 skills/audit-flush/procedure.md 的步骤执行。不要添加额外的安全检查——钩子和此技能必须保持行为一致,否则会导致状态未定义。

此技能不做什么

  • 不修改审计条目。条目一旦写入暂存区即为只追加。
  • 不从远程追踪仓库中删除。如果推送了错误条目,修正方法是通过哈希引用该错误条目添加新条目——绝不能重写。
  • 不重新配置远程仓库。CCAUDIT_TRAIL_REPO 从此技能的角度是只读的。

相关技能