Communitygithub.com

LevNas/ccaudit

記錄並保存AI輔助的Claude Code工作階段的稽核軌跡:在工作階段結束時自動刷新至遠端軌跡儲存庫,並提供 /audit-flush 指令供手動檢查。

ccaudit 是什麼?

此技能專為AI代理工作環境(特別是Claude Code)設計,用於自動化稽核軌跡的儲存與管理。它能在工作階段結束時,將未處理的稽核條目自動推送至遠端Git儲存庫,確保每項AI輔助操作皆有完整記錄。支援手動觸發的 `/audit-flush` 指令,讓使用者能在自動刷新前檢視暫存條目、重試因秘密洩露或推送錯誤而失敗的條目,或在停用自動刷新(`CCAUDIT_MANUAL=1`)時明確執行刷新。此外,該技能提供 `--dry-run`(預覽)與 `--force`(強制重試)旗標,增進靈活性。透過不可變的附加(append-only)設計,稽核條目一旦寫入便不可修改,確保稽核鏈的完整性,非常適合需要高合規性與可審計性的開發團隊。

相容平台✓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 的步驟逐步執行。請勿自行添加額外的安全檢查——掛鉤與此技能必須保持行為一致,否則差異會導致未定義狀態。

此技能不執行的操作

  • 不修改稽核條目。條目一旦寫入暫存區,即為附加(append-only)。
  • 不從遠端軌跡儲存庫中刪除。若推入了錯誤條目,修正方式是以其雜湊值參照錯誤條目來新增一條新紀錄——絕不重寫。
  • 不重新設定遠端儲存庫。從此技能的視角來看,CCAUDIT_TRAIL_REPO 為唯讀。

相關技能