Communitygithub.com

brnyxx/xout

AI 行為再現防止工具 — 基於反證法的 CLAUDE.md/AGENTS.md 編譯器,附帶證據收據

xout 是什麼?

xout 是一種創新的 AI 代理技能,旨在透過「反證法」來永久消除不想要的 AI 行為。它並非直接提問,而是呈現可反證的對比配對,並讓使用者僅以「X 標記」這個單一動作,就能收斂 Claude Code 的設定(8 軸假設空間,共 6,561 種組合)。整個會話執行期間完全不進行 LLM 呼叫或外部網路請求,所有進度都記錄在本機的僅附加事件帳本中。此技能支援 Claude Code,並透過 Python 腳本與使用者進行互動式對話,逐步呈現行為配對,記錄使用者的選擇,並在會話完成後產生一組可選擇套用的規則。其輸出僅存放於專屬目錄 `~/.claude/xout/`,且啟用或回滾規則皆需使用者明確同意,確保對專案設定的完全掌控。

相容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add brnyxx/xout

在你喜歡的 AI 中提問

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

說明文件

xout - X 會話

xout 不是提問,而是呈現可反證的對比配對,讓使用者僅以「X 標記」這個單一動作,就能收斂 Claude Code 設定(8 軸假設空間,共 6,561 種組合)。 會話執行期間 LLM 呼叫次數為 0,外部網路呼叫次數也為 0 — 所有進程都發生在本機的僅附加事件帳本上。

執行規則

任何會話開始前,務必先執行 python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" status 確認是否有等待覆審的橫幅,如果有,則直接向使用者傳達一行橫幅內容。

會話以互動(chat)模式進行:

  1. 執行 python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" pair 取得 JSON。核心欄位為 pair.left_text / pair.right_text / pair.pair_id。
  2. 將兩個行為本文原封不動顯示給使用者,並詢問要對哪一個標記 X。
  3. 僅在使用者明確選擇後,執行 python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" strike <left|right|both|pair> --pair-id <pair_id> 記錄選擇。
  4. 重複步驟 1-3,直到回應 JSON 中的 session_complete 為 true。
  5. 完成後,顯示 rules 的 8 行內容,並詢問是否套用。只有在使用者回答「是」時,才執行 enable --grant。

如果使用者想直接在終端機操作,可引導輸入 xout(或 uvx xout)一行指令 — 因為使用同一個帳本,無論在哪裡開始或中斷,都能接續。

參數執行方式指令說明
(無)或 chat前景重複上述互動迴圈(pair -> 使用者選擇 -> strike)若有未完成會話則接續,否則開始新的 15 次標記會話
status前景輸出python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" status摘要顯示著陸/啟用/繼續/判定狀態
sessions前景輸出python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" sessions列出最近會話
doctor前景輸出python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" doctor本地診斷安裝、資料、重播
enable前景輸出python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" enable --grant明確要求時,在 CLAUDE.md 中加入一列 @import 擁有權
undo 或 rollback前景輸出python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" undo僅移除 xout 加入的那一列 @import

如果上方狀態輸出包含「等待覆審 N 件」橫幅

在開始會話前,向使用者傳達一行橫幅內容,並告知可在終端機使用 xout recheck 進入覆審。是否接受由使用者決定 — 不要代替使用者做決定。

會話結束後

  • 產出僅存放於 ~/.claude/xout/ 專屬目錄(XOUT.md + manifest.json + settings.xout.json)。
  • 啟用使用者 CLAUDE.md 僅透過上述啟動器的 enable --grant 進行,且只會加入一列 @import。只有在使用者明確同意時才執行。
  • 回滾也僅使用上述啟動器的 undo(僅移除那一列)。
  • 套用前,可使用 conflicts [路徑] 顯示與專案規則檔案(CLAUDE.md/AGENTS.md/.cursorrules)衝突的行,以 file:line 格式呈現。XOUT.md 前言已說明,正面衝突時專案規則優先。
  • 規則是否確實影響選擇,由 probe 測量 — 這是一個在會話外部呼叫外部執行器(預設 claude -p)的選擇性指令,僅在使用者要求時執行,收據只保留在 ~/.claude/xout/probes/。

禁止事項

  • 不要代替使用者標記 X — X 是使用者的反證行為。
  • 不要直接編輯 CLAUDE.md 或 settings.json — 這違反 xout 的擁有權合約。
  • 不要摘要或編輯配對本文再顯示 — 原始全文才是測量工具。

相關技能