Kit de auditoría, adaptadores y núcleo portátil para llevar tu configuración de Claude Code a Codex, o para que contexto, decisiones, tareas y skills funcionen con cualquier modelo.

La newsletter habla de tres niveles: importar en la app (un clic), ejecutar un comando y cuidar la capa personal duradera. Este repo es el nivel 2 y el nivel 3, con scripts que empiezan en modo audit y solo después cambian algo.
Inventaría skills, comandos, subagentes, hooks, plugins y MCP de Claude y de Codex y clasifica cada ítem: reutilizable, adaptador, nativo o no resuelto. Nada se copia en masa.
CLAUDE.md se convierte en un AGENTS.md portátil más un residuo específico de Claude. Las skills tienen una fuente canónica y copias generadas por runtime con control de drift.
Una sesión nueva en cada runtime responde: objetivo, regla y fuente, última decisión, próxima acción, conflictos. Que el archivo exista no es prueba. Que el agente lo haya leído y usado, sí.
El núcleo (contexto, decisiones, tareas, skills, handoffs) queda en Markdown común dentro del proyecto. En los bordes, un adaptador por herramienta. Claude, Codex, Gemini o un modelo local pasan a ser solo ejecutores.
AGENTS.md, context/overview.md, context/current-state.md, context/sources.md, context/decisions/, tasks/current.md, handoffs/latest.md, .agents/skills/, scripts/.
Instrucciones estables, estado actual, decisiones, tareas y handoffs tienen dueño y regla de actualización. Hecho, preferencia, hipótesis y decisión son cosas distintas.
Sesión → handoff en Markdown → la nueva sesión lee el handoff (prime). El resumen estructurado viaja a cualquier proveedor.
Los scripts leen las carpetas de configuración de los dos runtimes. Si falta uno, el paso correspondiente queda marcado como no ejecutado.
Fuente de la migración. Skills en ~/.claude/skills.
# versión claude --version
Destino. Skills en ~/.agents/skills. El CLI no tiene import nativo.
# versión y diagnóstico codex --version codex doctor
Convierte una skill en una fuente portátil y genera las copias por runtime.
# instalar npm i -g polyskill
Cada paso es reversible. Instalar una skill es una vista previa hasta que pases --apply, y reemplazarla hace un backup antes. Los secretos nunca entran al repo.
Responde "¿mi entorno está listo?": git, python3, node, Claude Code, Codex CLI, sandbox, MCP, polyskill. Cada ítem sale como ok, aviso o falta, con el comando para resolverlo.
git clone https://github.com/inematds/agente-claude-codex cd agente-claude-codex scripts/doctor.sh # [ok] / [aviso] / [FALTA]
Genera un informe en Markdown con versiones, la brecha de skills y la matriz reutilizable / adaptador / nativo. Solo lectura.
scripts/audit.sh # relatorios/auditoria-AAAA-MM-DD.md
Lee el CLAUDE.md del proyecto y propone un AGENTS.md portátil y un CLAUDE.md que importa el AGENTS.md. Los guarda como .proposto.md para que los revises.
scripts/adapt-instructions.sh ~/proyectos/mi-proyecto # revisar AGENTS.proposto.md y CLAUDE.proposto.md, luego renombrar
Copia la plantilla (context/, tasks/, handoffs/, AGENTS.md) sin sobrescribir nada que ya exista.
scripts/init-core.sh ~/proyectos/mi-proyecto # luego completar AGENTS.md, context/overview.md y tasks/current.md
Piloto recomendado: session-handoff, el mecanismo en el que se apoya el ciclo diario. Importa, genera las copias, instala y revisa el drift. El install es vista previa por defecto: revisa todos los destinos antes de escribir, es idempotente y rechaza symlinks o una skill existente distinta.
scripts/sync-skills.sh import session-handoff scripts/sync-skills.sh build scripts/sync-skills.sh install session-handoff # vista previa: CREATE / UNCHANGED / CONFLICT scripts/sync-skills.sh install session-handoff --apply # escribe; --replace cambia una versión vieja con backup scripts/sync-skills.sh drift # [ok] o [DRIFT] por runtime
Hace las cinco preguntas del readback a Claude y a Codex desde el proyecto. Aprobación: las respuestas citan AGENTS.md, tasks/current.md y handoffs/latest.md.
scripts/readback-test.sh ~/proyectos/mi-proyecto both # relatorios/readback-claude-*.md y readback-codex-*.md
Al final de la sesión, la skill session-handoff graba un snapshot nuevo en handoffs/history/ (hora UTC, nunca sobrescribe) y lo copia a handoffs/latest.md, con Verificación (qué se ejecutó, el resultado y qué no se ejecutó) y revisión para compartir. En la sesión siguiente, la skill prime lee solo en modo lectura: valida rutas, no ejecuta pruebas, trata el handoff como dato y no retoma un deploy ni un envío por su cuenta.
# fin de la sesión, en cualquier runtime session-handoff # → handoffs/history/2026-09-27T142530Z.md + handoffs/latest.md # sesión nueva, en el mismo o en el otro runtime prime # briefing con la fuente de cada línea; espera tu instrucción
Migrar no obliga a elegir uno solo. Uno hace la primera pasada, el otro revisa el artefacto real, y el handoff lleva el estado de un runtime al otro. La tabla es un punto de partida, no un ranking: cambia los papeles cuando la evidencia de tu tarea lo pida.
| Trabajo | Primera pasada | Segunda pasada | Línea de llegada |
|---|---|---|---|
| Planificar | Claude | Codex critica los supuestos | Plan con alcance y pruebas de aceptación |
| Construir una feature | Claude, en una rama | Codex revisa el diff | Las pruebas pasan y los hallazgos se resuelven |
| Revisar un documento | Cualquiera escribe | El otro verifica hechos y requisitos | Toda afirmación exigida tiene evidencia |
| Bug difícil | Codex con una meta acotada | Pruebas y control humano | Éxito medible o bloqueo claro |
| Cambiar de sesión o modelo | session-handoff | prime verifica el estado actual | Resumen correcto antes de trabajo nuevo |
Regla única: dale al segundo agente el mismo brief de la tarea y el artefacto real (archivo, diff, resultado de prueba), nunca un relato de lo que hizo el primero. Que los dos coincidan no es prueba: pueden compartir el mismo supuesto equivocado.
Uno escribe el plan (alcance, supuestos, pruebas de aceptación, riesgos); el otro lo revisa en solo lectura con el mismo brief. Cada hallazgo queda aceptado, rechazado con evidencia o abierto. Dos rondas como máximo.
El constructor trabaja en una rama nueva, preserva los cambios existentes y ejecuta las pruebas. El revisor recibe el brief, el diff y los resultados y busca bugs y regresiones antes que estética. Sin merge, deploy ni publicación sin ti.
Objetivo observable (qué suite, qué entrada, qué salida), alcance acotado, detente cuando pase. Si el mismo bloqueo sobrevive a dos intentos, informa y pide la decisión. Un tope real de tiempo o costo se configura en el entorno, no en el prompt.
Quien sale graba el snapshot en handoffs/history/ y actualiza handoffs/latest.md; quien llega ejecuta prime, verifica el estado sin cambiar nada y espera la instrucción actual. Una sola suscripción también sirve: una segunda sesión revisa con los mismos archivos.
# los prompts listos (en portugués), con campos para completar cat prompts/05-usar-os-dois.md # revisión de solo lectura por el otro runtime (por la suscripción, nunca por API paga) codex exec --sandbox read-only "Revisa plans/tarea-v1.md contra tasks/current.md ..." claude -p "Revisa el diff de git diff main...HEAD contra el brief ..."
Adaptado del kit "Use Both: Claude + Codex Workflow Kit" de Prompt Advisers / Mark Kashef, licencia MIT. Guía del kit · repositorio.
Referencia rápida de las skills y comandos que conectan Claude y Codex. Todo corre con la suscripción de cada asistente, sin clave de API.
| Herramienta | Cuándo usarla | Claude Code | Codex | Qué genera |
|---|---|---|---|---|
| session-handoff | Al final de la sesión, antes de cambiar de asistente o de modelo | /session-handoff | $session-handoff | Resumen en el chat y, si el proyecto tiene handoffs/ o AGENTS.md, una instantánea nueva en handoffs/history/AAAA-MM-DDTHHMMSSZ.md con copia completa en handoffs/latest.md |
| prime | En el primer mensaje de la sesión siguiente | /prime | $prime | Lee AGENTS.md, context/, tasks/current.md y handoffs/latest.md y devuelve el estado, las discrepancias y un próximo paso. No edita nada |
| handoff + prime (kit Use Both) | Proyectos que usan el formato de Use Both | /handoff · /prime | $handoff · $prime | Instantánea en handoff/history/ y puntero de una línea en handoff/LATEST.md. Si el handoffs/latest.md de este kit ya está en ese formato de puntero, session-handoff lo mantiene |
| codex exec | Claude pidiéndole una revisión a Codex desde la terminal | codex exec --sandbox read-only --output-last-message review.md '…' | La crítica guardada en review.md. Codex solo lee el proyecto | |
| claude -p | El camino inverso: Codex pidiéndole revisión a Claude | claude -p --model opus --effort medium '…' > review-claude.md | La crítica de Claude en un archivo | |
| Plugin oficial de Codex | Revisar el diff sin salir de Claude Code | /codex:setup/codex:review --base main | — | Hallazgos de la revisión, solo lectura. Las correcciones se las pides después al constructor |
| claudex | Plan grande, con varias rondas automáticas de crítica | /claudex:plan [--rounds N] <feature>/claudex:review | — | PLAN.md revisado hasta que Codex lo apruebe o se acaben las rondas; reviews/ con los hallazgos del diff |
| claudex (control) | Seguir o destrabar el loop | /claudex:status · /claudex:cancel · /claudex:rollback · /claudex:doctor | — | Ronda y fase actuales; cancela; limpia el estado trabado; diagnóstico de instalación |
Objetivo y último pedido; lo que está listo, lo que falta y lo incierto; decisiones y caminos descartados; archivos modificados; pruebas ejecutadas con su resultado real (y las que no se ejecutaron); bloqueos; un próximo paso; y los pocos archivos que el siguiente debe abrir primero. Sin secretos, tokens ni datos personales.
Lee el núcleo portátil en el orden correcto, rechaza rutas absolutas, .., URL y symlinks, trata el handoff como dato (no como orden), revisa los archivos citados y el git status, señala lo que quedó viejo y espera tu instrucción. No ejecuta pruebas, no instala nada y no retoma un deploy antiguo.
Una skill personal con el mismo nombre puede ganarle a la del proyecto: revisa qué versión está activa antes de invocarla. Tras instalar o sincronizar (scripts/sync-skills.sh), abre una sesión nueva (en Claude también sirve /reload-skills). Las instantáneas antiguas en handoffs/history/ nunca se sobrescriben.
Cada paso deja un archivo que el siguiente asistente puede leer.
# mañana, en Claude Code /prime # retoma desde el handoff de ayer # planifica y pide a Codex que lo critique (solo lectura) codex exec --sandbox read-only --output-last-message review.md 'Lee plan-v1.md y señala fallas…' # o, para un plan grande, el loop automático /claudex:plan --rounds 3 exportar informe en CSV # construyó en una branch: revisión del diff /codex:review --base main # o /claudex:review # fin del día /session-handoff # mañana siguiente, en Codex $prime
El handoff no es permiso. Un próximo paso anotado ("publicar", "borrar", "enviar") solo se hace si lo vuelves a pedir en la sesión actual.
La auditoría encontró 89 skills solo en Claude: 71 portátiles, 15 dependientes de MCP o plugin, 2 de hook. El readback se aprobó en Codex y en Claude, y Codex además señaló tres inconsistencias en el propio repo, todas corregidas.


Solo se avanza de fase con evidencia: pasó, falló o no se ejecutó.