Communitygithub.com

brnyxx/xout

通过反证法编译 CLAUDE.md/AGENTS.md 并附带证据收据,彻底消除你不想要的 AI 行为。

xout 是什么?

xout 是一个用于 AI 代理(如 Claude Code)的会话编译技能。它不直接询问用户偏好,而是通过提出可证伪的对比对(pair)来运作,让用户仅通过“画 X”这一简单动作,在 8 轴假设空间(共 6,561 种组合)中收敛 Claude Code 的配置。该技能的核心架构非常轻量:会话运行时零 LLM 调用、零外部网络调用,所有流程均基于本地仅追加(append-only)事件账本执行。它支持 Claude Code、Cursor 等主流 AI 代理平台。xout 的概念在于,它将 AI 行为配置的调整视为一种“反证过程”,每次用户选择的“X”都是一条反向证据。最终生成的规则文件(XOUT.md, manifest.json, settings.xout.json)只存在于 `~/.claude/xout/` 目录,并通过 `enable --grant` 命令以严格的单一 `@import` 行形式注入用户的 CLAUDE.md 文件,确保了所有权清晰和易于回滚。此外,它还提供 `probe` 命令来客观衡量规则是否真正改变了模型的选择,并在冲突时优先保护项目原有规则。

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

在你喜欢的 AI 中提问

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

文档

xout - X 会话

xout 不提问,而是呈现可证伪的对比对(pair),让用户使用唯一的动词“画 X”来收敛 Claude Code 的配置(8 轴假设空间,共 6,561 种组合)。 会话运行时零 LLM 调用、零外部网络调用——所有进展均基于本地仅追加事件账本。

执行规则

在任何会话开始前,必须先运行 python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" status 以检查是否存在待复审(recheck)的横幅。如果存在,请用一行文字告知用户。

会话以交互式(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次画X会话
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 的激活操作仅通过上述启动器(launcher)的 enable --grant 完成,且只添加一行 @import。仅在用户明确同意时才执行。
  • 回滚也仅使用上述启动器的 undo 命令(仅移除那一行)。
  • 在应用之前,可以使用 conflicts [路径] 查看与项目规则文件(CLAUDE.md/AGENTS.md/.cursorrules)冲突的行,格式为 file:line。XOUT.md 的前言已声明,正面冲突时项目规则优先。
  • 规则是否实际改变了模型的选择,由 probe 命令衡量——这是一个在会话外部调用外部运行器(默认 claude -p)的 opt-in 命令,仅当用户请求时才执行,收据仅保留在 ~/.claude/xout/probes/ 目录中。

禁止事项

  • 不得代用户画 X——X 是用户的证伪行为。
  • 不得直接编辑 CLAUDE.md 或 settings.json——这违反了 xout 的所有权协议。
  • 不得摘要或编辑 pair 的文本内容展示——原文本身即是测量工具。

相关技能