Communitygithub.com

brnyxx/xout

Compilador de CLAUDE.md/AGENTS.md basado en falsacionismo con recibos de evidencia para eliminar comportamientos no deseados en la IA.

¿Qué es xout?

xout es una habilidad para Claude Code que aplica un enfoque de falsacionismo para refinar el comportamiento de la IA. En lugar de hacer preguntas, presenta pares contrastantes falsables y permite al usuario 'tachar' (X out) la opción indeseada, convergiendo la configuración de Claude Code en un espacio de hipótesis de 8 ejes con 6,561 combinaciones. Durante la sesión no se realizan llamadas a LLM ni conexiones de red externas; todo el progreso se registra localmente en un libro de eventos de solo añadidura. Es útil para desarrolladores que desean un control granular y basado en evidencia sobre el comportamiento de sus herramientas de IA, garantizando que solo se apliquen cambios explícitamente aprobados por el usuario. xout soporta Claude Code y trabaja con archivos de configuración como CLAUDE.md y AGENTS.md.

Compatible con✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add brnyxx/xout

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

xout - Sesión X

xout presenta pares contrastantes falsables en lugar de preguntas y, utilizando el único verbo del usuario, "tachar X", converge la configuración de Claude Code (espacio de hipótesis de 8 ejes con 6,561 combinaciones). Durante la sesión en tiempo de ejecución no se realizan llamadas a LLM ni conexiones de red externas; todo el progreso ocurre en un libro de eventos local de solo añadidura.

Reglas de ejecución

Antes de comenzar cualquier sesión, ejecuta obligatoriamente python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" status primero para verificar el banner de espera de revisión y, si hay banner, transmítelo al usuario en una línea.

La sesión se realiza en modo interactivo (chat):

  1. Ejecuta python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" pair para obtener un JSON. Los elementos clave son pair.left_text / pair.right_text / pair.pair_id.
  2. Muestra ambos textos de comportamiento exactamente como son al usuario y pregunta en cuál quiere tachar X.
  3. Solo lo que el usuario elija explícitamente regístralo con python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" strike <left|right|both|pair> --pair-id <pair_id>.
  4. Repite los pasos 1-3 hasta que el JSON de respuesta tenga session_complete como true.
  5. Al completar, muestra las 8 líneas de rules y pregunta si se deben aplicar. Solo si responde que sí, ejecuta enable --grant.

Si el usuario quiere hacerlo directamente en la terminal, indícale que ejecute xout (o uvx xout) en una línea; como usan el mismo libro de eventos, se puede empezar en un lugar y continuar en otro.

ArgumentoEjecuciónComandoDescripción
(ninguno) o chatBucle en primer planoEl bucle interactivo anterior (pair -> selección del usuario -> strike)Si hay una sesión incompleta, la continúa; si no, inicia una nueva de 15 tachones
statusSalida en primer planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" statusResumen de aterrizaje/activación/reanudación/fallo
sessionsSalida en primer planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" sessionsLista de sesiones recientes
doctorSalida en primer planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" doctorDiagnóstico local de instalación, datos y replay
enableSalida en primer planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" enable --grantAgrega una línea @import de propiedad al CLAUDE.md solo si el usuario lo solicita explícitamente
undo o rollbackSalida en primer planopython3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" undoElimina solo la línea @import añadida por xout

Si en la salida de estado hay un banner "Esperando revisión: N"

Antes de abrir una sesión, transmite el contenido del banner al usuario en una línea e indícale que puede iniciar una revisión con xout recheck en la terminal. La decisión de aceptar o no es del usuario; no decidas por él.

Al finalizar la sesión

  • Los resultados aterrizan únicamente en el directorio de propiedad exclusiva ~/.claude/xout/ (XOUT.md + manifest.json + settings.xout.json).
  • La activación del CLAUDE.md del usuario se realiza solo con enable --grant del lanzador anterior, y solo se añade una línea @import. Ejecútalo únicamente si el usuario lo acepta explícitamente.
  • Para revertir, usa solo undo del lanzador (elimina esa única línea).
  • Antes de aplicar, con conflicts [ruta] se pueden mostrar las líneas en conflicto con archivos de reglas del proyecto (CLAUDE.md/AGENTS.md/.cursorrules) en formato file:line. El preámbulo de XOUT.md ya indica que en caso de conflicto directo prevalece el proyecto.
  • Si las reglas realmente afectan la selección, probe lo mide: es un comando opt-in que llama a un ejecutor externo (por defecto claude -p) fuera de la sesión, ejecutándose solo cuando el usuario lo solicita, y los recibos quedan solo en ~/.claude/xout/probes/.

Lo que no se debe hacer

  • No tachar X en lugar del usuario: la X es un acto de falsación del usuario.
  • No editar directamente CLAUDE.md ni settings.json: violaría el contrato de propiedad de xout.
  • No resumir ni editar el texto del par: debe mostrarse exactamente como se recibe, ya que es una herramienta de medición.

Skills relacionados