Communitygithub.com

brnyxx/xout

X marca o comportamento de IA que você nunca mais quer ver - compilador de CLAUDE.md/AGENTS.md baseado em falseabilidade com recibos de evidência.

O que é xout?

xout é uma ferramenta de compilação de regras para agentes de IA (como Claude Code) que substitui perguntas subjetivas por pares contrastantes falseáveis. O usuário apenas "marca X" em um dos lados, e o sistema converge o espaço de hipóteses (8 eixos, 6.561 combinações) em um conjunto de regras ótimas. A execução da sessão não faz chamadas a LLMs nem à rede: todo o progresso ocorre em um ledger local append-only. Ao final, as regras são oferecidas para ativação no CLAUDE.md via um único @import, sem edição direta de arquivos pelo agente. Isso garante que o comportamento indesejado seja eliminado com base em evidências empíricas, e não em opiniões.

Funciona com✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add brnyxx/xout

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

xout - Sessão X

xout, em vez de perguntar, apresenta pares contrastantes falseáveis e, com o único verbo do usuário — "marcar X" — converge a configuração do Claude Code (espaço de hipóteses de 8 eixos, 6.561 combinações). Durante a sessão, zero chamadas a LLM e zero chamadas de rede externa — todo o progresso acontece sobre um ledger local somente de acréscimos.

Regras de execução

Antes de iniciar qualquer sessão, execute obrigatoriamente python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" status primeiro para verificar o banner de reanálise pendente e, se houver banner, repasse-o ao usuário em uma única linha.

A sessão deve ser conduzida em modo interativo (chat):

  1. Execute python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" pair para obter um JSON. Os campos principais são pair.left_text / pair.right_text / pair.pair_id.
  2. Mostre os dois textos de comportamento exatamente como estão para o usuário e pergunte em qual deles ele quer marcar X.
  3. Registre apenas a escolha explícita do usuário com python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" strike <left|right|both|pair> --pair-id <pair_id>.
  4. Repita os passos 1-3 até que o session_complete do JSON de resposta seja true.
  5. Ao concluir, mostre as 8 linhas de rules e pergunte se deseja aplicá-las. Só execute enable --grant se a resposta for sim.

Se o usuário quiser fazer diretamente no terminal, oriente-o a usar xout (ou uvx xout) — como o ledger é o mesmo, ele pode parar em qualquer lugar e continuar depois.

ArgumentoExecuçãoComandoDescrição
(vazio) ou chatLaço em primeiro planoO loop interativo acima (pair -> escolha do usuário -> strike)Se houver 1 sessão incompleta, continua; senão, inicia nova sessão de 15 marcações
statusSaída em primeiro planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" statusResumo de aterrissagem/ativação/retomada/julgamento
sessionsSaída em primeiro planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" sessionsLista de sessões recentes
doctorSaída em primeiro planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" doctorDiagnóstico local de instalação, dados e replay
enableSaída em primeiro planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" enable --grantAdiciona uma única linha de @import ao CLAUDE.md quando solicitado explicitamente
undo ou rollbackSaída em primeiro planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" undoRemove apenas a linha de @import adicionada pelo xout

Se houver um banner "N pendentes de reanálise" na saída de status

Antes de abrir uma sessão, repasse o conteúdo do banner ao usuário em uma única linha e informe que ele pode iniciar a reanálise com xout recheck no terminal. A decisão de aceitar é do usuário — não decida por ele.

Quando a sessão terminar

  • O resultado é depositado exclusivamente no diretório ~/.claude/xout/ (XOUT.md + manifest.json + settings.xout.json).
  • A ativação no CLAUDE.md do usuário é feita apenas com enable --grant do launcher acima, adicionando uma única linha de @import. Só execute quando o usuário concordar explicitamente.
  • A reversão também usa apenas o undo do launcher (remove aquela única linha).
  • Antes de aplicar, use conflicts [caminho] para mostrar, linha por linha (formato file:line), os conflitos com o arquivo de regras do projeto (CLAUDE.md/AGENTS.md/.cursorrules). Em caso de conflito frontal, o preâmbulo do XOUT.md já declara que o projeto vence.
  • Se as regras realmente influenciam as escolhas é medido por probe — um comando opt-in que chama um runner externo (padrão claude -p) fora da sessão. Só execute quando o usuário solicitar, e os recibos ficam apenas em ~/.claude/xout/probes/.

O que não fazer

  • Não marque X pelo usuário — X é o ato de falseabilidade do usuário.
  • Não edite diretamente o CLAUDE.md nem o settings.json — isso viola o contrato de propriedade do xout.
  • Não resuma ou edite o texto do par ao mostrá-lo — o texto original é o instrumento de medição.

Habilidades Relacionadas