Communitygithub.com

brnyxx/xout

絶対に望まないAI動作を「Xで消す」——反証ベースのCLAUDE.md/AGENTS.mdコンパイラ。証拠レシート付き。

xout とは?

xoutは、Claude Code向けの反証ベースの設定コンパイラスキルです。「望まないAI動作を永久に除外する」という目的のために、従来の質問応答形式ではなく、反証可能な対比ペア(left/right)を提示し、ユーザーが「Xを打つ」という唯一の動作で8軸の仮説空間(合計6,561通りの組み合わせ)を収束させます。セッション中はLLM呼び出しゼロ、外部ネットワーク呼び出しゼロで動作し、すべての進行はローカルのappend-onlyイベント台帳に記録されます。対応プラットフォームはClaude Code(推奨)、Cursor、Codexなど、CLAUDE.mdまたはAGENTS.mdをサポートする任意のAIエージェント環境。セッション完了後、ユーザーの明示的な同意があった場合のみCLAUDE.mdに@import行を追加し、ロールバックも専用コマンドで安全に行えます。また、`probe`コマンドで外部ランナー(デフォルトclaude -p)を呼び出し、選択したルールが実際に動作に影響を与えるかを測定・証拠として保存可能です。

対応✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add brnyxx/xout

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

xout - X セッション

xoutは、質問の代わりに反証可能な対比ペアを提示し、ユーザーの唯一の動作「Xを打つ」だけでClaude Codeの設定(8軸仮説空間、6,561通りの組み合わせ)を収束させます。 セッション実行中はLLM呼び出し0回、外部ネットワーク呼び出し0回です——すべての進行はローカルのappend-onlyイベント台帳上で行われます。

実行ルール

どのセッションでも開始前に必ず 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. 2つの行動本文をそのままユーザーに表示し、どちらにXを打つか尋ねます。
  3. ユーザーが明示的に選択したものだけを python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" strike <left|right|both|pair> --pair-id <pair_id> で記録します。
  4. 応答JSONの session_complete がtrueになるまで1〜3を繰り返します。
  5. 完了したら rules の8行を表示し、適用するかどうかを尋ねます。ユーザーが「はい」と答えた場合のみ enable --grant を実行します。

ユーザーがターミナルで直接実行したい場合は、xout(または uvx xout)の一行を案内します——同じ台帳を使用するため、どこで作業を中断しても続行可能です。

引数実行方法コマンド説明
(なし)または chatフォアグラウンドで繰り返し上記対話ループ(pair → ユーザー選択 → strike)未完了セッションが1件あれば続きから、なければ新規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行を1行追加
undo または rollbackフォアグラウンド出力python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" undoxoutが追加した@import行のみを削除

ステータス出力に「再審待ち N件」のバナーがある場合

セッションを開始する前に、バナーの内容をユーザーに一行で伝え、ターミナルで xout recheck により再審に入れることを案内します。受諾するかどうかはユーザーが判断します——代わりに決定してはなりません。

セッション終了後

  • 成果物は ~/.claude/xout/ 専用ディレクトリにのみ配置されます (XOUT.md + manifest.json + settings.xout.json)。
  • ユーザーのCLAUDE.md有効化は上記ランチャーの enable --grant でのみ行い、 @import行1行のみが追加されます。ユーザーが明示的に同意した場合のみ実行します。
  • ロールバックも上記ランチャーの undo のみを使用します(その1行のみ削除)。
  • 適用前に conflicts [パス] で、プロジェクトのルールファイル(CLAUDE.md/AGENTS.md/ .cursorrules)と競合する行を file:line で表示できます。正面衝突の場合は プロジェクトが優先される旨がXOUT.mdのプリアンブルに既に記載されています。
  • ルールが実際に選択に影響を与えるかどうかは probe が測定します——外部ランナー(デフォルト claude -p)をセッション外で呼び出すオプトインコマンドであり、ユーザーが要求した場合のみ実行し、 レシートは ~/.claude/xout/probes/ にのみ残ります。

禁止事項

  • ユーザーの代わりにXを打ってはなりません——Xはユーザーの反証行為です。
  • CLAUDE.mdやsettings.jsonを直接編集してはなりません——xoutの所有権契約違反です。
  • ペア本文を要約したり編集して表示してはなりません——原文そのままが測定ツールです。

関連スキル