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):
- Ejecuta
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" pairpara obtener un JSON. Los elementos clave sonpair.left_text/pair.right_text/pair.pair_id. - Muestra ambos textos de comportamiento exactamente como son al usuario y pregunta en cuál quiere tachar X.
- 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>. - Repite los pasos 1-3 hasta que el JSON de respuesta tenga
session_completecomo true. - Al completar, muestra las 8 líneas de
rulesy pregunta si se deben aplicar. Solo si responde que sí, ejecutaenable --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.
| Argumento | Ejecución | Comando | Descripción |
|---|---|---|---|
(ninguno) o chat | Bucle en primer plano | El 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 |
status | Salida en primer plano | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" status | Resumen de aterrizaje/activación/reanudación/fallo |
sessions | Salida en primer plano | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" sessions | Lista de sesiones recientes |
doctor | Salida en primer plano | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" doctor | Diagnóstico local de instalación, datos y replay |
enable | Salida en primer plano | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" enable --grant | Agrega una línea @import de propiedad al CLAUDE.md solo si el usuario lo solicita explícitamente |
undo o rollback | Salida en primer plano | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" undo | Elimina 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 --grantdel 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
undodel 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,
probelo mide: es un comando opt-in que llama a un ejecutor externo (por defectoclaude -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.