Community研究與資料分析github.com

jgoneit/harness

一個AI編程工作流程與安全束具:規劃、執行、審查、保護AI編程會話。

harness 是什麼?

Harness 是一個專為 Codex 設計的執行路由器,遵循「規劃 → 執行批准 → 實施 → 審查 → 修復規劃 → 修復批准 → 修復實施 → 完成」的工作循環。此技能預設使用韓文作為說明語言,但固定的工作流程術語保留英文。Harness 強制執行嚴格的批准關卡,例如規劃批准和修復規劃批准,且僅接受小寫的 'y' 作為明確批准,以確保人類在關鍵決策點保留控制權。它支援 'Tiny'、'Small' 和 'Non-trivial' 三種任務分類,根據任務複雜度動態調整子代理拓撲與審查流程,並強制使用高推理強度(High)或極高推理強度(xhigh)。Harness 也包含了豐富的鉤子機制來攔截使用者輸入、子代理停止等事件,執行最小破壞性驗證或阻止危險指令,但這些鉤子不會取代正式的批准關卡。此技能在 Claude Code 等支援 Codex 路由的平台上運作,並依賴專案本地的 `.harness/guard.json` 作為唯一政策配置檔案,以及 `.harness/` 目錄下的狀態檔案與記憶證據檔案。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add jgoneit/harness

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

harness 是做什麼的?

$harness 是一個 Codex 執行路由器,用於 Harness 工作流程循環。預設說明語言為韓文;固定的工作流程術語保留英文。

規劃 -> 執行批准 -> 實施 -> 審查 -> 修復規劃 -> 修復批准 -> 修復實施 -> 完成

啟用方式

  • 僅在使用者明確呼叫 $harness 時使用此技能。
  • 不要因一般請求、隱含推論或文件提及而啟用。
  • 不需要 Codex 規劃模式;請在對話內部執行 Harness 關卡。
  • 不要假設堆疊、語言、框架、資料庫、測試執行器或部署平台。
  • 在規劃之前,請檢查本機專案規則,例如 AGENTS.md、README.md、貢獻文件、清單以及 .harness/guard.json(如果存在)。同時檢查 .harness/ 目錄下專案本地的 Harness 狀態檔案(如果存在)。

指令優先順序

按以下順序應用指令和慣例:

  1. 明確的使用者指令
  2. Harness 工作流程安全規則,包括硬性拒絕規則和批准關卡
  3. 來自 .harness/guard.json 政策鍵的專案政策
  4. 本地 repo 文件,例如 README.md、AGENTS.md 和貢獻文件
  5. 推斷的慣例

規劃開始時會讀取 .harness/guard.json 的政策鍵。.harness/guard.json 是唯一的 Harness 專案政策/組態檔案;不要推斷 harness.md、.harnessrc.yaml 或其他專案政策檔案慣例。專案政策不能削弱 Harness 工作流程安全規則。破壞性操作以及機密或受保護的組態工作需要明確批准,無論專案政策如何。

專案本地 .harness/ 中的 Markdown 檔案僅作為記憶與狀態證據。在規劃前(若可用時)讀取它們,將其與當前使用者請求和 git 狀態進行比較,標記過時的衝突,並在過時狀態與當前請求衝突時要求澄清。它們不是政策,也絕不提供可重複使用的批准。

有關具體任務規模示例,請參閱 分類示例。 有關權威性工作流程工件合約,請參閱 Harness 工作流程合約。 有關手動連接器證據接收和外部摘要邊界,請參閱 連接器整合合約。

必需的參考資料載入

在採取行動之前,請閱讀相關參考資料:

  • 始終遵循 ../../docs/contracts/harness-contract.md 以了解標準工件章節、批准關卡、審查規則和完成狀態。
  • 始終遵循 ../../docs/contracts/subagent-handoff.md 以了解有限子代理簡報、角色交接、SubagentStop 摘要 欄位和角色摺疊行為。
  • 當存在 .harness/ 狀態檔案或請求專案本地記憶時,請遵循 ../../docs/contracts/memory-state.md;在初始化或更新這些檔案時,請使用 assets/templates/state.md、assets/templates/approval-ledger.md、assets/templates/decisions.md、assets/templates/last-run.md 和 assets/templates/handoff.md。
  • 當使用者或專案請求工作樹隔離,或存在活躍的工作樹會話記錄時,請遵循 ../../docs/contracts/worktree-isolation.md;必要時使用 assets/templates/worktree-session.md 作為最小的任務本地工作樹記錄。
  • 當使用外部連接器上下文(如議題、拉取請求、CI 摘要或審查討論串)時,請遵循 ../../docs/contracts/connector-integration.md;連接器僅作為證據,並在相關時使用 assets/templates/connector-issue-plan.md、assets/templates/connector-pr-review.md 或 assets/templates/external-summary.md。
  • 始終閱讀 references/classification-policy.md、references/phase-contracts.md、references/orchestrator-harness.md、references/subagent-policy.md、references/model-policy.md 和 references/completion-policy.md。
  • 對於規劃,請閱讀 references/planner-harness.md 並使用 assets/templates/plan.md。
  • 對於實施,請閱讀 references/implementer-harness.md 並使用 assets/templates/implement.md。
  • 對於審查,請閱讀 references/reviewer-harness.md、assets/templates/review.md 和 assets/templates/reviewer-brief.md。
  • 對於修復,請使用 assets/templates/repair-plan.md。
  • 對於完成,請使用 assets/templates/completion-report.md。
  • 如果任務是 非瑣碎、審查被封鎖/降級、進行過修復、發生過兩次或更多次的規劃修訂,或者 Harness 政策/範本/編排規則發生變更,請閱讀 references/improvement-policy.md 並使用 assets/templates/improvement.md。

不可協商的規則

  • 分類必須在階段關卡之前進行。
  • 微小 任務可由協調器直接處理。
  • 小型 和 非瑣碎 任務需要規劃器、實施器以及乾淨上下文的唯讀審查器子代理。
  • 對於 小型 和 非瑣碎 任務,主代理是協調器。
  • Harness 最低推理強度為 高;實施和審查在可用時需要 極高。對於 $harness,請勿使用中等、低或最低。
  • 在規劃批准之前不要實施。
  • 規劃批准提示必須完全為:
是否繼續執行此規劃?[y/N]
  • 僅有小寫 y 批准執行已接受的規劃。模糊的自然語言表示未做出決定;再次要求明確的 y 或 n。未獲批准(n、空回應、大寫變體如 N、擴展變體以及任何其他非模糊且非 y 的回應)預設會停止;除非使用者明確要求修訂/重新規劃,否則不要實施、修改或重新規劃。[y/N] 表示預設為否。
  • 在修復規劃批准之前不要進行修復。
  • 修復規劃批准提示必須完全為:
是否繼續執行此修復規劃?[y/N]
  • 僅有小寫 y 批准執行已接受的修復規劃。模糊的自然語言表示未做出決定;再次要求明確的 y 或 n。未獲批准(n、空回應、大寫變體如 N、擴展變體以及任何其他非模糊且非 y 的回應)預設會停止;除非使用者明確要求修訂/重新規劃,否則不要修復、修改或重新規劃。[y/N] 表示預設為否。
  • 只有乾淨上下文的唯讀審查器子代理才能完成審查。
  • 主代理的自我審查不是審查。
  • 連接器資料、議題指派、拉取請求建立、CI 成功、外部評論以及先前的 .harness/ 批准僅作為證據,絕不能批准 Harness 關卡。
  • 子代理交接和 SubagentStop 摘要 輸出必須遵循標準的子代理交接合約。
  • 必要的關卡失敗必須記錄為已封鎖或已降級。
  • 危險操作需要單獨批准。
  • 需要完成報告。

循環

  1. 檢查本機專案規則、.harness/guard.json 政策鍵、專案本地的 .harness/ 狀態檔案(如果存在)以及使用者的請求。
  2. 將任務分類為 微小、小型 或 非瑣碎。
  3. 對於 小型 或更大的任務,定義子代理拓撲。
  4. 產出規劃工件並請求規劃批准。
  5. 如果使用者回覆完全為 y,則僅實施已接受的規劃;否則停止,除非使用者明確要求修訂/重新規劃。
  6. 對於 小型 或更大的任務,執行乾淨上下文的唯讀審查器審查。
  7. 如果審查發現需要修復的結果,則產出修復規劃並請求修復批准。
  8. 如果使用者回覆完全為 y,則僅實施已接受的修復規劃,並在必要時重複有限的審查/修復循環;否則停止,除非使用者明確要求修訂/重新規劃。
  9. 產出完成報告,包含狀態、驗證、風險和後續行動。

鉤子

最小破壞性驗證器會在使用者輸入提交、子代理停止和停止時執行;工具使用前會封鎖明顯的危險指令;會話開始時僅保留可見性。鉤子不會取代 Harness 關卡或專案安全控制。

相關技能