← Todos los articulos

Guía de migración de Claude Code a Codex 2026

From the guides: Claude Code & Codex CLI

El 3 de mayo de 2026 inventarié 744 entradas locales de configuración de agentes y luego clasifiqué 691 de ellas por peso operativo.1 La cifra parecía grande. La forma importaba más: alrededor de 20 archivos sostenían el sistema.

Una migración de Claude Code a Codex debe portar contratos operativos, no copiar el árbol de archivos. Mueve las reglas de CLAUDE.md a capas de AGENTS.md, los procedimientos reutilizables a habilidades de Codex, los umbrales deterministas a ganchos enfocados, la postura de riesgo a perfiles y las herramientas de navegador/fuentes a MCP explícitos. No copies una red de ganchos de Claude en Codex; mueve las obligaciones de prueba.

Resumen rápido

La pila privada de escritura y verificación ya existe en mi mundo de Codex. Lo que faltaba no era el contenido de las habilidades. Faltaba el manual operativo público: dónde deben vivir las habilidades reutilizables, cómo debe seleccionarlas Codex, qué perfil debe ejecutar la escritura pública y qué umbrales de la época de Claude deben convertirse en reglas nativas de Codex sin exponer detalles privados del flujo de trabajo.

La primera pasada real con Codex cambió la regla de migración: no conviertas un flujo privado en comportamiento ambiental en el momento en que lo portas. Hazlo por etapas. Mi ruta de escritura específica del sitio ahora empieza solo por invocación explícita, mientras que el flujo de migración vive como habilidad de usuario para uso local activo y como candidato a paquete privado de Codex para pruebas locales. Ese paquete no es de código abierto ni está disponible de forma general; si quieres probar el flujo de migración, contáctame. El paquete no debe convertirse en la ruta predeterminada del entorno de ejecución solo porque exista una entrada de instalación local. Un piloto de instalación real todavía necesita validación del paquete, verificación de instalación del plugin, descubrimiento de habilidades con espacio de nombres, limpieza de duplicados y una sesión nueva de Codex antes de significar algo. Así el sistema puede aprender del trabajo real antes de que un flujo pase a ser comportamiento predeterminado.181014

No empieces clonando cada gancho de Claude en Codex. Empieza escribiendo el contrato de Codex:

  • Coloca la política duradera entre repositorios en ~/.codex/AGENTS.md.
  • Coloca la política del repositorio en AGENTS.md y ubica las anulaciones más estrechas cerca del trabajo.
  • Coloca los procedimientos reutilizables en .agents/skills o $HOME/.agents/skills.
  • Eleva la escritura pública a careful-review o a un perfil dedicado public-writing.
  • Mantén los umbrales deterministas como ganchos, pero trata los ganchos como una baranda de seguridad, no como todo el modelo de seguridad.

El primer artefacto de migración exitoso debe ser una publicación que se describa a sí misma. Ese artefacto demuestra que el sistema puede explicarse, citar documentación actual, usar un inventario local saneado y producir trabajo público bajo control de Codex sin publicar la maquinaria privada que hay detrás.

Cubrí el lado Claude de la pila en Claude Code como infraestructura, el lado de los archivos de instrucciones en Patrones de AGENTS.md y el problema de degradación de las habilidades en Las habilidades estáticas son habilidades muertas. La migración de abajo conecta esos hilos con el entorno de ejecución de Codex que realmente uso.

Para contexto relacionado, lee la guía de Codex CLI, Claude Code vs Codex, Codex vs Claude Code 2026, Tutorial de ganchos de Claude Code, Crear habilidades personalizadas y Filosofía de calidad Jiro. Esas publicaciones explican las piezas que la migración ensambla aquí.

¿Qué mostró el inventario de migración?

El sistema local tenía 3 centros de gravedad.

Centro Archivos centrales Por qué importan
Claude Code configuración, archivos de memoria, despachadores de ganchos, doctrina de calidad Control del ciclo de vida, filosofía de calidad, inyección de contexto al momento de la instrucción, umbrales para trabajo público
Codex config.toml, AGENTS.md global/de proyecto, enrutamiento de perfiles, plugins, MCP Elección de modelo, enrutamiento de perfiles, reglas de proyecto, postura del entorno de ejecución de Codex
Escritura habilidades privadas de escritura, citación, evaluación y detectabilidad para IA Estándares de contenido público, política de citas, bucles de evaluación, detectabilidad para IA

Los datos de uso apuntaban a la misma conclusión. Mis registros de enrutamiento de perfiles mostraban que el trabajo cargado de revisión dominaba la ejecución rutinaria.1 El verdadero centro no era el archivo más largo ni el script más ingenioso. Era la capa de decisión que elegía el nivel de riesgo, cargaba la doctrina y exigía evidencia antes de completar el trabajo.

Ese hallazgo cambia la migración.

Si lo importante fuera que “Claude tiene muchos ganchos”, la migración copiaría ganchos. Si lo importante fuera que “el sistema tiene una filosofía”, la migración copiaría prosa. El inventario mostró otra respuesta: lo importante es un contrato pequeño que se activa en el momento correcto.

¿Qué hicimos antes de publicar?

El artículo mismo se convirtió en el primer ejercicio de migración.

Primero mapeé la forma de la configuración madura de Claude Code: qué piezas gobernaban el comportamiento, cuáles solo documentaban preferencias y cuáles debían seguir siendo privadas. Luego contrasté el comportamiento actual de Codex con la documentación oficial y el CLI local, porque las guías de migración se degradan rápido cuando heredan flags antiguos o formas de configuración no admitidas. Después redacté este artículo pensando en la migración real, pero reduje el detalle público a arquitectura saneada, no a implementación privada.

El siguiente paso ocurre antes de la publicación: usar esta guía para construir la configuración de Codex y luego revisar el artículo a partir de lo que realmente cambió. El artículo público debe mostrar el patrón de migración y los criterios de aceptación. No debe publicar instrucciones privadas, flujos privados de escritura, detalles exactos de ganchos, rutas sensibles ni nada que permita a un lector reconstruir el sistema privado.

La pasada en vivo produjo una tabla de prueba segura para publicar. Solo publico el contrato, el estado de activación y la señal de aceptación, no las instrucciones privadas, los cuerpos exactos de los ganchos ni los detalles internos del flujo de escritura.

Parte de la migración Lección pública Estado actual
Flujo de migración Mantén la ruta activa como habilidad de usuario mientras cualquier paquete siga cambiando. Trata un paquete instalado como piloto hasta que demuestre descubrimiento y valor. Activo localmente; paquete privado instalado solo como piloto local, no como lanzamiento público. Los lectores que quieran probarlo pueden contactarme.81014
Preparación del paquete Valida un paquete privado o compartible antes de una activación más amplia. La mecánica del marketplace es plomería de instalación, no una promesa de publicación. Validador de paquete privado aprobado; el piloto de instalación local demostró estado de plugin instalado y visibilidad de habilidad con espacio de nombres; el umbral de lanzamiento público sigue bloqueado.81014
Salud del arnés No dependas de verificaciones manuales dispersas antes de promover. Ejecuta un único umbral determinista de salud que pruebe que referencias de política, perfiles, habilidades, ganchos, estado del paquete, forma del registro y estado de activación siguen en acuerdo. Umbral manual de salud aprobado; el estado de activación está documentado como piloto de instalación, no como lanzamiento.8
Higiene de secretos y registros Una migración no está limpia solo porque las credenciales se movieron a variables de entorno. Trata el código ejecutable, la documentación, las cachés generadas, los registros de sesión, las capturas de shell, los logs y los almacenes intencionales de secretos como superficies separadas. Una auditoría local acotada convirtió credenciales auxiliares en configuración requerida por entorno cuando correspondía, redactó historial visible para modelos de alta confianza, siguió la rotación por separado de la limpieza de código fuente y registró brechas en ganchos preventivos sin publicar rutas privadas, valores de tokens ni detalles internos de detectores.8
Colaboración entre agentes Una revisión de un segundo agente es insumo, no prueba. Codex sigue siendo responsable de rechazar hallazgos falsos, aceptar solo defectos fundamentados, corregir el menor problema real, volver a ejecutar revisión estática y luego correr verificación local. Bucle revisión/corrección/reverificación probado localmente con anclajes que fallan en cerrado, manejo de tiempos de espera, manejo de salida vacía y verificaciones propiedad de Codex.8
Mantenimiento de guías Una migración de actualización de guía no ha pasado hasta que se nombran evidencia de fuentes, comportamiento local del entorno de ejecución, renderizado de rutas públicas, archivos de descubrimiento, rutas servidas para rastreadores, estado de traducción y umbrales omitidos. 7 actualizaciones de guías públicas se ejecutaron localmente; pasaron verificaciones de citas, renderizado y descubrimiento; una pasada corrigió afirmaciones obsoletas de conteos exactos sobre eventos de ganchos, presupuestos de habilidades, tipos de ganchos y límites de concurrencia no admitidos; otra corrigió una discrepancia entre llms-full.txt generado y servido; pasadas recientes corrigieron compatibilidad de modelos/parámetros, deriva de benchmarks/model cards, deriva de lanzamientos rápidos de plugins, deriva de datos estructurados FAQ renderizados, deriva de contabilidad de créditos, afirmaciones de API/legales/mínimos de funciones solo de terceros y deriva de rutas por slug en frontmatter; las últimas pasadas de la guía de Codex corrigieron orientación obsoleta de instalación y marketplace contra Codex CLI 0.130.0, hicieron que la ruta de traducción de la guía pudiera elegir proveedor con Codex como predeterminado, probaron con humo la ruta del proveedor Codex, rechazaron salida de traducción truncada antes de escribir caché, completaron escrituras de locales, verificaron rutas de locales y resolvieron respuestas obsoletas de CDN con una purga dirigida.810
Inteligencia de fuentes Los escáneres con estado necesitan umbrales de simulación y volumen de escritura antes de escribir en memoria. Un nombre de fuente configurado no prueba que la fuente haya sido alcanzada. Escaneo acotado probado localmente: se rechazó una vista previa amplia de escritura, un escaneo estrecho escribió un lote pequeño de memoria privada y se registró una brecha de alcanzabilidad de fuentes sin publicar listas privadas de fuentes.8
Incorporación de blogs de empresa Una configuración de escritor de empresa no es un comando de generación de archivos hasta que la empresa destino, la ruta de salida y la evidencia de intake son explícitas. La incorporación solo explícita ahora falla en cerrado antes de escribir, alinea los nombres de archivos de configuración generados con el núcleo activo de blog-writer y registra intake faltante en lugar de crear configuración hueca de empresa.8
Auditoría i18n de blog Las auditorías de cobertura de traducción necesitan descubrir almacenamiento, script, credenciales y forma de locales antes de hacer afirmaciones de cobertura. Un humo verde de ruta predeterminada no equivale a cobertura completa de locales. El flujo de auditoría ahora registra umbrales de credenciales, alternativas locales, supuestos obsoletos sobre scripts opcionales y locales admitidos omitidos; el humo de rutas dirigido para los locales omitidos pasó, mientras que la cobertura de D1 y el estado de traducciones obsoletas siguen siendo umbrales separados.8
Traducción de blog La traducción es una operación con capacidad de escritura. La salud de rutas y la salida de un detector no son permiso para escribir. El traductor ahora se detiene sin credenciales D1, slug/locale explícito o una cola confiable; un detector que devuelve todo el catálogo histórico se trata como señal para acotar, no como cola; la ruta del proveedor Codex ahora aísla subprocesos de traducción de la configuración global de usuario, expone configuración explícita de modelo/razonamiento, bloquea salida de locale con demasiado residuo antes de checkpoint/publicación en D1, rechaza metadatos malformados de título/descripción antes de escrituras D1 y completó el artículo de migración en todos los locales admitidos con umbral local, D1 y verificación de rutas en vivo aprobados.8
Bucle de lanzamiento de blog propiedad de Codex La migración no está lista para producción hasta que Codex pueda publicar posts reales con traducción, despliegue, CDN, rutas en vivo y estado de revisión nativa separados. 4 posts de producción ya pasaron por el bucle propiedad de Codex: evaluación de artículo, regeneración de llms, traducción con Codex vía --provider auto, umbral i18n local, filas D1, pruebas enfocadas, commits de rutas exactas, despliegues en Railway, purgas dirigidas de Cloudflare, verificadores de lanzamiento en vivo aprobados, humos independientes de ruta/schema y paquetes explícitos pendientes de revisión nativa.8
Ruta de publicación No colapses verificaciones locales, estado de despliegue, frescura de CDN y prueba de contenido en vivo en un único check verde. Un artículo de migración no está vivo hasta que la URL canónica, los metadatos renderizados, el sitemap, llms-full.txt, JSON-LD localizado, el commit desplegado y los marcadores de contenido cambiado pasan en producción. Una respuesta obsoleta de CDN puede ocultar una corrección desplegada. Ruta de artículo de producción verificada después de purgas dirigidas de caché, verificación completa de lanzamiento por locale y confirmación de despliegue en Railway para el commit enviado; trabajo posterior de lanzamiento de guías agregó checks en vivo de marcadores cambiados para rutas en inglés, localizadas y de descubrimiento IA antes de llamar terminado el lanzamiento.8
Flujo de escritura pública No conviertas un escritor privado en ambiente por defecto en cuanto lo mueves. Piloto solo explícito.1
Umbral de definición de citas Empieza por definiciones de notas faltantes y duplicadas; trata las definiciones no usadas como deuda de limpieza hasta entender el backlog. Piloto estrecho de gancho Stop para Markdown público cambiado.28
Verificación final Una comprobación sombra aprobada no basta; completar todavía exige evidencia y brechas nombradas. No agregues un gancho separado de resumen si un umbral Stop de calidad existente puede capturar la falla determinista. Revisión sombra manual más piloto de Stop de calidad existente.8
Contexto de sesión Los recordatorios de actualidad y frontera público/privado pertenecen al contexto compacto de sesión, no a un volcado de instrucciones privadas. Piloto SessionStart con prueba nueva de visibilidad del entorno de ejecución.28
Mapeo de ganchos PostToolUse:Edit|Write de Claude no se mapea uno a uno a Codex; las ediciones locales de archivos en Codex afloraron mediante apply_patch. Pilotos y sombras con forma de Codex.2811
Sombra de calidad La salida no bloqueante aún puede moldear el siguiente paso del modelo. Sanea las rutas visibles para el modelo y mantén detectores de alta confianza antes de promover. Sombra no bloqueante con telemetría de conteos por categoría, salida consultiva con rutas saneadas y prueba viva de autocorrección.8

¿Deberías empezar una migración a Codex con ganchos?

Claude me enseñó a pensar en eventos de ciclo de vida. Un gancho UserPromptSubmit puede inyectar contexto de proyecto. Un gancho PreToolUse puede bloquear rutas sensibles. Un gancho Stop puede rechazar una finalización débil. Ese patrón funciona en Claude porque mi pila local creció alrededor de despachadores que convierten muchos scripts pequeños en una sola canalización ordenada de eventos.11

Codex también tiene ganchos, pero el Codex actual los trata como un sistema de ciclo de vida detrás de una función habilitada, no como un directorio de ganchos siempre activo. La documentación de ganchos de OpenAI muestra [features] codex_hooks = true en config.toml, y mi codex features list local reporta hooks como estable y habilitado en Codex CLI 0.130.0.28 OpenAI documenta la entrada de ganchos como JSON por stdin, con campos compartidos como id de sesión, directorio de trabajo, nombre de evento y modelo activo.2 Codex admite eventos como SessionStart, PreToolUse, PermissionRequest, PostToolUse, UserPromptSubmit y Stop; PreToolUse puede interceptar Bash, apply_patch y llamadas a herramientas MCP.2

La misma documentación también da la advertencia que importa para la migración: PreToolUse sigue siendo una baranda de seguridad, no un límite completo de aplicación. La documentación señala que la intercepción no cubre todas las rutas de shell y no intercepta web search ni otras llamadas que no sean shell ni herramientas MCP.2

Esa limitación no vuelve débiles a los ganchos de Codex. Significa que los ganchos no deben cargar con toda la migración. OpenAI también señala que varios ganchos de comando que coinciden para el mismo evento se lanzan en paralelo, así que una migración a Codex que requiera orden todavía necesita un despachador o un único comando de gancho combinado.2

Para Codex, quiero ganchos para verificaciones deterministas estrechas:

  • Bloquear comandos de shell obviamente destructivos.
  • Advertir sobre rutas con forma de credencial.
  • Agregar un contexto pequeño al inicio de la sesión.
  • Registrar evidencia de ejecuciones de escritura pública.
  • Hacer fallar un evento stop cuando falte un artefacto requerido o un comando de verificación.

No quiero que los ganchos carguen con la voz de escritura, la política de citas, la filosofía, el enrutamiento o la doctrina del proyecto. Codex ya tiene mejores lugares para eso.

¿Cómo se mapean los artefactos de Claude a Codex?

La migración se vuelve más limpia cuando cada artefacto de Claude se mapea al primitivo de Codex que mejor encaja con su trabajo.

Artefacto de Claude Destino en Codex Regla de portabilidad
CLAUDE.md ~/.codex/AGENTS.md más AGENTS.md del repositorio Porta solo reglas operativas, no documentación humana.13
Despachadores de ganchos Ganchos de Codex más comandos de verificación Conserva las verificaciones que deben ejecutarse en tiempo de ciclo de vida.11
Habilidades de blog $HOME/.agents/skills o .agents/skills del repositorio Usa descripciones de habilidades para que Codex las active implícitamente
Archivos de filosofía Doctrina en AGENTS.md más habilidades enfocadas Vuelve accionable la doctrina de calidad, no ornamental
Comandos slash personalizados y archivos heredados .claude/commands Habilidades más lanzadores delgados cuando hagan falta Convierte flujos repetibles en habilidades, trata $skill-name como la invocación explícita confiable y usa /name solo como envoltorio de conveniencia o hábito de selección con prueba.41512
Configuración de MCP [mcp_servers.*] en config.toml o codex mcp add Mantén la configuración de servidores explícita e inspeccionable
Roles de agentes Subagents de Codex o habilidades específicas de tarea Delega solo cuando el rol tenga una salida acotada.9

La documentación de AGENTS.md de OpenAI convierte la primera fila en la columna vertebral de la migración. Codex lee archivos AGENTS.md antes de trabajar, aplica en capas la guía global desde el directorio home de Codex y luego recorre desde la raíz del proyecto hasta el directorio actual, permitiendo que los archivos más cercanos anulen la guía anterior.3 Ese comportamiento encaja con lo que en realidad necesito de CLAUDE.md: acuerdos persistentes de trabajo más detalles locales del proyecto.

El movimiento importante: reescribir las reglas como operaciones. “Escribe con cuidado” no pertenece a AGENTS.md. “Para posts públicos, reúne citas primero, verifica URLs, ejecuta checks de frases prohibidas y reporta cualquier afirmación no verificada” sí pertenece ahí.

¿Cómo deben moverse las habilidades privadas de escritura a Codex?

La pila del escritor de blog se porta limpiamente porque ya tiene la forma correcta. Una habilidad de Codex es una carpeta con un archivo SKILL.md que contiene frontmatter e instrucciones. Codex puede activar habilidades cuando el usuario las invoca explícitamente o cuando la tarea coincide con la descripción de la habilidad.4 Codex lee habilidades desde ubicaciones de repositorio, usuario, administración y sistema, incluidas .agents/skills del repositorio, $HOME/.agents/skills y /etc/codex/skills.4

Aquí una migración de Claude Code puede equivocarse de forma sutil. Las habilidades de Codex no son comandos slash de Claude. La ruta oficial de Codex para invocación explícita de habilidades es el selector de habilidades o una mención $skill-name, mientras que los comandos slash de Codex CLI son una superficie interactiva separada para acciones incorporadas como estado, permisos, cambios de modelo, plugins y control de sesión.415 Una instrucción como /cave todavía puede servir como atajo si la descripción de la habilidad la reconoce o si un envoltorio la convierte en Use $cave ..., pero el texto slash por sí mismo no es el contrato duradero. Para prueba de migración, prueba $skill-name; luego prueba /name por separado solo si prometes esa compatibilidad.

Eso significa que debo normalizar las nuevas habilidades de escritura nativas de Codex en las rutas oficiales sin publicar los nombres ni contenidos privados de las habilidades:

$HOME/.agents/skills/source-verifier/SKILL.md
$HOME/.agents/skills/public-post-writer/SKILL.md
$HOME/.agents/skills/site-specific-writer/SKILL.md

Mi entorno de ejecución local también tiene habilidades de usuario funcionales en una ubicación anterior.1 No debo borrarlas solo porque la documentación pública nombre .agents/skills. La migración segura es:

  1. Copiar o enlazar simbólicamente una habilidad en $HOME/.agents/skills.
  2. Reiniciar Codex.
  3. Confirmar que Codex lista y activa la habilidad.
  4. Hacer que la habilidad sea solo explícita mientras está en piloto.
  5. Mover el resto solo después de que el descubrimiento y el uso piloto funcionen.
  6. Dejar la ruta antigua en su lugar hasta que las sesiones y scripts existentes dejen de depender de ella.

Ese es el camino que tomé para el primer flujo privado de escritura. Preparé un escritor específico del sitio como habilidad privada solo explícita, en lugar de convertirlo en el escritor predeterminado para cada tarea de contenido. Eso le dio a la migración una mejor prueba: si la habilidad mejora este artículo y la siguiente ejecución de escritura pública sin filtrar proceso privado, puede pasar de solo explícita a piloto. Si agrega confusión, se queda acotada.

Los escritores específicos de marca no deben convertirse en escritores predeterminados de sitio. Un escritor privado de producto puede compartir los mismos estándares de citas y revisión, pero su audiencia, datos del producto, llamadas a la acción y reglas de voz deben mantenerse acotados a ese producto. La portabilidad correcta mantiene los adaptadores de marca separados y crea un escritor delgado específico del sitio para blakecrosley.com.

Esa habilidad del sitio debe seguir siendo delgada:

---
name: site-specific-writer
description: Escribe publicaciones técnicas públicas para un sitio específico. Úsalo para artículos que necesitan fuentes verificadas, enlaces internos, voz del sitio y comprobaciones de publicación.
---

# Escritor específico del sitio

Usa las habilidades privadas de escritura, verificación de fuentes y detectabilidad para IA en cada artículo técnico público.

Pruebas obligatorias antes de finalizar:
- Las afirmaciones técnicas externas tienen citas.
- Las afirmaciones actuales sobre Codex citan documentación de OpenAI.
- Las afirmaciones internas enlazan a publicaciones existentes o al análisis del autor.
- La publicación incluye un resumen rápido, conclusiones por rol y preguntas del lector cuando sea útil.

La documentación de habilidades de Codex muestra name y description como los campos de frontmatter de una habilidad manual, y convierte la descripción en el disparador de activación implícita.4 El cuerpo puede indicarle a Codex que use habilidades privadas compañeras; la composición pertenece a las instrucciones salvo que una cadena local de herramientas agregue metadatos extra. La pila general posee las reglas de escritura. El envoltorio del sitio posee la voz, los patrones de enlaces y la prueba.

La misma separación aplica al flujo de migración. La documentación de plugins de OpenAI recomienda empezar con una habilidad local cuando todavía iteras sobre un flujo personal, y luego construir un plugin cuando quieres compartir un paquete estable entre equipos o agrupar más integraciones.10 Eso hizo obvia la ruta activa: primero habilidad de usuario, luego piloto de paquete privado. No he publicado como código abierto la habilidad de migración ni prometido un lanzamiento público; si quieres probarla, contáctame. Una prueba de caché de plugins mostró que una habilidad de plugin instalado aparece bajo un espacio de nombres de plugin y no con el nombre desnudo de la habilidad, así que la documentación del paquete debe distinguir el uso directo de la habilidad del uso de la habilidad instalada por plugin.8

El paquete privado necesita un validador antes de necesitar una historia de lanzamiento. En la pasada más reciente, agregué un validador que revisa el JSON del marketplace, el manifiesto del plugin, el frontmatter de la habilidad, referencias requeridas, sintaxis del verificador de citas, política de instalación, ausencia de manifiestos activos de ganchos o MCP, archivos generados y filtraciones obvias de rutas privadas o fixtures de secretos. Esa verificación debe ir antes de cualquier activación más amplia porque la documentación de plugins de OpenAI convierte el marketplace en la superficie de instalación, no en un espacio de prueba para flujos privados inestables.810

¿Cómo debe AGENTS.md llevar las reglas de escritura pública?

El cambio más fuerte de la migración a Codex pertenece a AGENTS.md, no a un gancho. La escritura pública necesita una clase de riesgo predeterminada.

Esta es la regla que quiero cerca del inicio del archivo global o de proyecto:

## La escritura pública es trabajo de producto

Los artículos públicos, guías, landing pages, documentos que moldean la comprensión del usuario y copy de producto usan como mínimo el perfil `default`. Promueve a `careful-review` cuando haya afirmaciones, citas, marca, dinero, seguridad, protección o confianza del usuario en juego.

Antes de finalizar escritura pública:
- Reúne citas antes de redactar.
- Cita documentación oficial de producto para el comportamiento actual de herramientas.
- Etiqueta con claridad el análisis del autor.
- Ejecuta un escaneo de frases prohibidas.
- Verifica enlaces internos.
- Reporta cualquier afirmación que no pudo verificarse.

Esa regla corrige la falla que encontré en el inventario del enrutador. Parte del trabajo de contenido se había desviado hacia ejecución rápida porque el enrutador trataba “contenido” como trabajo barato. La escritura pública no es trabajo barato cuando cambia lo que la gente cree, compra, instala o ejecuta. Los borradores de blog, guías y páginas de producto merecen más revisión que las ediciones rutinarias de código porque el modo de falla es la confianza pública, no una prueba local rota.

La publicación que estás leyendo es el ejemplo. Cita documentación actual de Codex para el comportamiento actual de Codex. Etiqueta las afirmaciones de inventario local como análisis del autor. Usa una pila real en lugar de fingir que la migración empieza desde una máquina en blanco, pero mantiene fuera del artículo público los detalles privados de implementación.

¿Cómo deben codificar el riesgo los perfiles de Codex?

La referencia de configuración de OpenAI define profile como el perfil predeterminado al iniciar y admite anulaciones por perfil para claves de configuración admitidas.5 La misma referencia define model_reasoning_effort, approval_policy y sandbox_mode como controles explícitos de configuración.5

Eso le da a Codex un lugar natural para codificar riesgo.

[profiles.public-writing]
model = "gpt-5.5"
model_reasoning_effort = "xhigh"
sandbox_mode = "workspace-write"
approval_policy = "on-request"
web_search = "live"

El modelo exacto puede cambiar. La política no debería. La escritura pública necesita mayor razonamiento, verificación de fuentes en vivo cuando los hechos pueden cambiar, ejecución limitada al workspace y aprobación humana para acciones que salen de la ruta segura de trabajo.

El enrutador debe mapear tareas como estas a public-writing o careful-review:

  • Un post de blog, una guía o un cambio de homepage.
  • Cualquier artículo con citas.
  • Cualquier contenido que compare herramientas o proveedores.
  • Cualquier post que nombre Codex actual, Claude Code, OpenAI, Anthropic, Apple, Google u otro producto que cambie rápido.
  • Cualquier trabajo que toque schema, llms.txt, SEO, analytics o metadatos públicos.

El perfil no es una vibra. El perfil es un presupuesto de riesgo.

¿Qué ganchos de Codex siguen importando?

Los ganchos de Codex deben hacer cumplir las cosas pequeñas que tienen que ocurrir durante la ejecución.

Un gancho stop de escritura pública podría revisar los archivos cambiados y rechazar completar si un post público en Markdown contiene referencias a notas sin definiciones. Un gancho previo a herramientas podría advertir si el agente intenta editar .env, credenciales de analytics o cachés de traducción generadas mientras escribe un artículo. Un gancho de inicio de sesión podría agregar la fecha actual y recordarle a Codex que las afirmaciones de “lo último” requieren verificación.

Mantén pequeña la carga útil del gancho. OpenAI documenta formas de salida JSON para ganchos, incluidos systemMessage, continue y campos específicos por evento.2 Usa esos campos para bloquear o advertir sobre fallas exactas. No reconstruyas toda la red de despachadores de Claude salvo que los datos de falla de Codex prueben que la necesitas.

Las pruebas de configuración no justifican promoción. Un gancho sale de piloto solo después de que una observación de uso real muestre 3 cosas: se activa en las situaciones previstas, deja pasar el trabajo ordinario y registra telemetría agregada segura en lugar de contenido privado. Si ocurre un bloqueo, la razón debe decirle al usuario qué hacer después.28

Después de las primeras pasadas en vivo, el backlog práctico de ganchos se ve así:

  1. SessionStart: mantener en piloto contexto compacto de fecha actual, actualidad, proyecto y frontera público/privado.
  2. PreToolUse:Bash: mantener en piloto el guard estrecho contra comandos destructivos y lectura de credenciales.
  3. PostToolUse:apply_patch: mantener la sombra de calidad no bloqueante sobre líneas de patch cambiadas de código/configuración.
  4. Stop: mantener en piloto el umbral de citas para Markdown público cambiado.
  5. Stop: mantener el contrato de verificación final plegado dentro del piloto existente de Stop de calidad; no crear un gancho separado de resumen hasta que fallas reales prueben la necesidad.

Ese conjunto porta el comportamiento de seguridad sin importar meses de ceremonia específica de Claude.

¿Cómo deben encajar MCP y las herramientas de navegador?

Mi configuración actual de Codex ya usa una ruta privada de automatización de navegador respaldada por MCP.1 Codex también admite servidores MCP tanto mediante CLI como con config.toml: codex mcp add puede registrar un servidor stdio, y las tablas [mcp_servers.<server-name>] pueden definir command, args, entorno, URLs, enabled_tools, disabled_tools y tiempos de espera.6

Para escritura pública, MCP pertenece a 2 lugares:

  • Automatización de navegador para revisar páginas renderizadas en vivo, capturas de pantalla y previews locales.
  • Descubrimiento de fuentes o recuperación de documentación cuando un proveedor específico expone un servidor MCP confiable.

MCP no debe ocultar el rastro de fuentes. Un escritor de blog necesita citas que un lector pueda abrir, no un resultado de herramienta privada que solo existió dentro de la sesión. MCP puede ayudar a encontrar el hecho. El post final todavía necesita una fuente pública.

¿Cómo arrancas una migración de Claude Code a Codex?

El primer artefacto nativo de Codex debe describir la migración mientras usa la migración.

Este es el bucle interactivo de arranque:

codex -p careful-review --search \
  "Inventory the local Codex and Claude migration surface, then create a citation bank for a sanitized post about moving the setup to Codex."

codex -p careful-review \
  "Draft content/blog/claude-code-to-codex-migration.md using the local inventory, official Codex docs, and existing internal posts. Label author analysis clearly."

codex -p careful-review \
  "Review the draft for unsupported claims, stale Codex flags, broken internal links, and AGENTS.md operational value."

Para trabajo no interactivo, usa codex exec y convierte la búsqueda en vivo en una preocupación de configuración/perfil en lugar de copiar el flag interactivo --search. OpenAI documenta codex exec para ejecuciones scriptadas o de estilo CI, con anulaciones --profile, --sandbox y --config; mi ayuda local de Codex CLI 0.130.0 confirma esos flags y rechaza codex exec --search.78

codex exec -p careful-review -c 'web_search="live"' \
  "Create a citation bank for content/blog/claude-code-to-codex-migration.md from official Codex docs and sanitized local inventory."

codex exec -p careful-review \
  "Review content/blog/claude-code-to-codex-migration.md for unsupported Codex claims, stale flags, broken internal links, and AGENTS.md operational value."

Los detalles de línea de comandos importan. OpenAI marca --full-auto como un flag de compatibilidad obsoleto y recomienda --sandbox workspace-write en su lugar.7 Las guías viejas centradas en --full-auto no deben controlar la nueva automatización.

El post se convierte en la prueba de aceptación. Si Codex puede:

  • Cargar las habilidades de escritura.
  • Usar careful-review.
  • Citar documentación actual de OpenAI.
  • Usar inventario local sin exponer detalles privados de implementación.
  • Explicar qué cambia en AGENTS.md, habilidades, ganchos, perfiles y MCP.
  • Producir un artículo Markdown limpio en el repositorio del sitio.

Entonces la migración de escritura funciona.

Lista de verificación de migración de Claude Code a Codex

Para configuración de Codex:

  • Agrega o actualiza ~/.codex/AGENTS.md con acuerdos globales de trabajo.
  • Agrega reglas de AGENTS.md del repositorio para escritura pública.
  • Crea public-writing o enruta la escritura pública a careful-review.
  • Haz que careful-review use de verdad razonamiento alto o xhigh para afirmaciones públicas.
  • Agrega una regla de enrutador que trate guías, posts de blog, docs y copy de producto como trabajo de superficie pública.

Para habilidades:

  • Mueve o duplica habilidades privadas de escritura en $HOME/.agents/skills una por una.
  • Mantén los flujos de migración probados activamente como habilidades de usuario antes de tratar un paquete de plugin como ruta de ejecución.
  • Usa $skill-name como prueba canónica de invocación explícita; trata /name como envoltorio de conveniencia o hábito de selección, no como prueba de que una habilidad de Codex cargó.
  • Agrega un validador de preparación de paquete antes de la activación en marketplace.
  • Agrega un umbral de salud del arnés que pruebe referencias de AGENTS, perfiles, habilidades, ganchos, estado del paquete, forma del registro y estado de activación antes de promover.
  • Para pilotos de instalación, verifica agregado desde marketplace, lectura/instalación del plugin, listado del plugin, listado de habilidades, visibilidad de habilidad en sesión nueva y limpieza de marketplaces duplicados.
  • Mantén las habilidades piloto como solo explícitas antes de permitir activación implícita.
  • Mantén los estándares genéricos de escritura separados de la voz específica del sitio.
  • Mantén la verificación de fuentes como el umbral factual duro.
  • Mantén los checks de detectabilidad para IA separados de la voz del autor.
  • Crea una habilidad delgada de escritor específico del sitio en lugar de reutilizar un escritor específico de marca.
  • Confirma que Codex descubre habilidades después de cada movimiento.

Para colaboración entre agentes:

  • Mantén a Codex como dueño del bucle.
  • Ancla las revisiones a archivos reales o artefactos de contexto.
  • Falla en cerrado cuando faltan anclajes, la salida está vacía o el segundo agente agota el tiempo.
  • Rechaza hallazgos no sustentados de segundos agentes con evidencia local.
  • Acepta solo hallazgos fundamentados, aplica la corrección más pequeña, vuelve a ejecutar revisión estática y luego corre verificaciones propiedad de Codex.

Para ganchos:

  • Porta primero solo verificaciones deterministas.
  • Usa SessionStart, PreToolUse, PostToolUse y Stop para umbrales estrechos.
  • Registra fallas antes de agregar más umbrales.
  • Para ganchos sombra, registra categorías en lugar de contenido privado crudo.
  • Prueba un fixture conocido malo y uno conocido ruidoso antes de promover.
  • Separa fallas limpias de deuda de limpieza antes de hacer cumplir una verificación migrada.
  • Trata los ganchos como verificaciones de tiempo de ejecución, no como el almacén canónico de doctrina.

Para el flujo de escritura:

  • Reúne citas antes de redactar.
  • Usa documentación oficial para comportamiento actual de Codex.
  • Usa análisis del autor para inventario y experiencia local.
  • Enlaza posts internos cuando ya explican un concepto.
  • Ejecuta verificación antes de finalizar.
  • Para mantenimiento de guías, verifica afirmaciones de fuentes y entorno de ejecución, sincroniza superficies públicas derivadas, regenera archivos de descubrimiento y nombra checks omitidos de traducción, despliegue y producción en vivo.
  • Para guías traducidas, registra el proveedor de traducción elegido, lote diferencial o conteo de secciones, estado de credenciales sin valores, si hubo escrituras/subidas, verificación de locale y la razón de no escritura cuando la ejecución esté bloqueada.
  • Para higiene de secretos y logs, separa código ejecutable, docs, cachés generadas, transcripciones de sesión, capturas de shell, logs y almacenes intencionales de secretos; redacta historial y convierte helpers a configuración requerida por entorno antes de tratar un flujo migrado como seguro.
  • Después de desplegar, verifica la URL canónica, datos estructurados, sitemap, llms-full.txt, estado de despliegue, frescura de CDN y marcadores de contenido cambiado en producción.
  • Si una caché CDN sirve contenido obsoleto, purga solo las URLs públicas afectadas mediante la ruta de despliegue existente y luego vuelve a revisar los marcadores cambiados.

FAQ

¿Las habilidades privadas de escritura tienen que ser públicas?

No. Un artículo de migración puede describir la forma del sistema de escritura sin publicar nombres privados de habilidades, instrucciones, detalles de puntuación ni adaptadores específicos de marca. La lección pública es dónde pertenecen esas habilidades y cómo debe activarlas Codex.

La habilidad de migración sigue la misma regla. Hoy es privada, no un paquete de código abierto. Si quieres probar el flujo, contáctame.

¿Una migración de Claude Code a Codex debería reutilizar escritores específicos de marca?

No. Los escritores específicos de marca deben seguir siendo específicos de marca. Un sitio personal o de empresa necesita un adaptador delgado de sitio que comparta estándares de verificación sin heredar la audiencia, los datos ni las llamadas a la acción de otro producto.

¿Debo copiar cada gancho de Claude Code en Codex?

No. Copia comportamiento solo después de identificar el contrato detrás. Un bloqueo de credenciales pertenece a un gancho. Una rúbrica de escritura pertenece a una habilidad. Una regla de riesgo pertenece a un perfil o enrutador. Una filosofía pertenece a AGENTS.md más una habilidad enfocada.

¿Dónde deben vivir las habilidades de Codex?

Para trabajo nuevo nativo de Codex, usa las ubicaciones oficiales de habilidades: .agents/skills del repositorio para habilidades de proyecto y $HOME/.agents/skills para habilidades de usuario.4 Si una configuración local existente también usa ~/.codex/skills, mantenla hasta que el descubrimiento de Codex confirme que la nueva ubicación funciona.

¿Por qué las instrucciones /skill a veces fallan en Codex?

Porque /skill no es el contrato canónico de invocación de habilidades de Codex. Las habilidades de Codex se activan cuando seleccionas o mencionas la habilidad explícitamente, incluido $skill-name, o cuando la tarea coincide con la descripción de la habilidad.4 Los comandos slash de Codex CLI son su propia superficie de comandos incorporados.15 Usa $skill-name cuando necesites activación determinista de una habilidad. Mantén /name solo como envoltorio de conveniencia, hábito de selección o frase de instrucción que de todas formas necesita su propia prueba.

¿Cuál es el corazón de una migración de Claude Code a Codex?

El corazón no son los ganchos, las habilidades ni los perfiles por separado. El corazón es la capa de decisión que responde 4 preguntas antes de empezar el trabajo: ¿qué tipo de trabajo llegó, qué perfil de riesgo debe ejecutarlo, qué instrucciones lo gobiernan y qué prueba debe existir antes de completarlo?

Puntos clave

Para usuarios de Codex: Porta contratos, no directorios. AGENTS.md, perfiles, habilidades, MCP y ganchos tienen cada uno un trabajo. Coloca cada regla donde Codex la honre de forma más directa.

Para usuarios de Claude Code que migran: Trata los ganchos de Codex como barandas de seguridad, no como reemplazo completo de un sistema maduro de despachadores de Claude. Empieza con AGENTS.md y habilidades; luego agrega ganchos donde importe la aplicación en tiempo de ejecución.

Para escritores públicos: La escritura de blog pertenece a un perfil de alta revisión. Las afirmaciones actuales necesitan fuentes actuales. Un artículo pulido pero equivocado daña la confianza más rápido que un script local roto.

Para mi propia pila: El sistema privado de escritura ya no solo está portado en sustancia; el primer escritor específico del sitio está preparado como solo explícito, el flujo de migración está activo como habilidad de usuario y el paquete privado de plugin pasó un piloto de instalación local sin convertirse en lanzamiento público. La doctrina de Codex ahora convierte la calidad y el criterio estético en regla operativa. El resumen de verificación final quedó como revisión sombra manual, con su check determinista estrecho plegado dentro del piloto existente de Stop de calidad en lugar de un gancho separado. Un gancho compacto de contexto SessionStart está en piloto, el primer gancho activo de calidad observa cambios de apply_patch en modo sombra, el primer guard de seguridad pre-Bash corre como piloto bloqueante estrecho, el verificador de citas ahora corre como piloto Stop de Markdown público cambiado, las pasadas de mantenimiento de guías probaron el bucle fuente-a-renderizado en docs públicos reales, una pasada corrigió afirmaciones obsoletas de conteos exactos en vez de preservar cifras antiguas del arnés de fuentes, otra detectó una discrepancia entre una ruta generada y una servida de descubrimiento IA, pasadas recientes corrigieron compatibilidad de modelos/parámetros, deriva de benchmarks/model cards, deriva de lanzamientos rápidos de plugins, deriva de datos estructurados FAQ renderizados, deriva de contabilidad de créditos, afirmaciones de API/legales/mínimos de función solo de terceros y deriva de rutas por slug en frontmatter, y las últimas pasadas de la guía de Codex hicieron que la traducción de guías pudiera elegir proveedor, usaron Codex como proveedor predeterminado para trabajo propiedad de Codex, rechazaron salida de traducción truncada antes de escribir caché, completaron escrituras de locales, verificaron rutas de locales y resolvieron respuestas obsoletas de CDN con purga dirigida en vez de depender silenciosamente de una ruta solo de Claude. Una pasada acotada de higiene de secretos/logs separó código fuente, docs, cachés generadas, registros de sesión, capturas de shell, logs y almacenes intencionales de secretos antes de registrar brechas de rotación, redacción y ganchos preventivos. El bucle de lanzamiento ahora trata las verificaciones locales, el estado de despliegue, la frescura de CDN y la prueba en vivo de marcadores cambiados como umbrales separados. Una pasada de inteligencia de fuentes probó disciplina de simulación/volumen de escritura antes de escribir en memoria privada, la ruta de incorporación de blogs de empresa ahora se detiene antes de generar archivos salvo que destino/ruta/evidencia de intake sean explícitos, el traductor de blog ahora se detiene antes de ejecutar escrituras cuando faltan credenciales D1 o un destino explícito y rechaza salida de Codex con demasiado residuo antes de publicar cuando las credenciales están presentes, un bucle de colaboración entre agentes probó revisión/corrección/reverificación sin entregar autoridad al segundo agente y un umbral manual de salud del arnés revisa la superficie determinista de promoción antes de cualquier activación más amplia. El siguiente trabajo es seguir probando los rituales de producción que aún son solo explícitos, mantener estacionada la frontera de lanzamiento público y seguir pasando trabajo real de escritura pública e ingeniería por los carriles preparados antes de ampliar cualquier umbral.

Referencias


  1. Inventario local privado del autor generado el 3 de mayo de 2026 a partir de configuración local de Codex, Claude Code, agentes y repositorios. Las afirmaciones públicas de este artículo usan hallazgos agregados saneados, no contenidos crudos del inventario ni detalles privados de implementación. 

  2. OpenAI, “Hooks,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/hooks

  3. OpenAI, “Custom instructions with AGENTS.md,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/guides/agents-md/

  4. OpenAI, “Agent Skills,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/skills

  5. OpenAI, “Configuration Reference,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/config-reference

  6. OpenAI, “Model Context Protocol,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/mcp/

  7. OpenAI, “Command line options,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/cli/reference

  8. Verificación local y de producción del autor del 3 al 15 de mayo de 2026 usando codex-cli 0.128.0 y codex-cli 0.130.0. Las comprobaciones cubrieron estado de funciones de Codex, flags de perfil y sandbox, comportamiento de búsqueda interactiva versus no interactiva, listado de MCP y recuperación de documentación oficial, descubrimiento de habilidades de usuario, comportamiento de espacio de nombres en caché de plugins, nombres de eventos/herramientas de ganchos, visibilidad de inicio de sesión, comportamiento del guard de Bash, comportamiento de Stop de citas, comportamiento consultivo de sombra de calidad, validación de referencias de AGENTS en entorno de ejecución, validación de salud del arnés, metadatos renderizados de artículo, inclusión en sitemap y llms-full.txt, comportamiento de URL canónica en producción, resolución de 404 obsoleto de CDN mediante purga dirigida de caché, estado estacionado del marketplace y estado de piloto de instalación, una auditoría acotada de higiene de secretos/logs que separó código ejecutable, docs públicas/privadas, cachés generadas, registros de sesión, capturas de shell, logs y almacenes intencionales de secretos antes de registrar brechas de redacción, rotación, configuración de helpers, ganchos preventivos e historial forense, y actualizaciones reales de mantenimiento de guías que comprobaron evidencia actual de fuentes/entorno de ejecución, renderizado de rutas públicas, citas, archivos de descubrimiento IA, rutas de descubrimiento servidas y plantillas derivadas antes de registrar umbrales omitidos de traducción, despliegue y producción en vivo, incluida una pasada que corrigió afirmaciones obsoletas sobre eventos de ganchos, presupuesto de habilidades, tipos de ganchos y límites de concurrencia en lugar de preservar cifras no respaldadas del arnés de fuentes, una pasada que encontró y corrigió una discrepancia entre llms-full.txt generado y ruta servida, una pasada que corrigió compatibilidad de modelos/parámetros y deriva de datos estructurados FAQ renderizados contra documentación oficial actual de producto, una pasada que corrigió deriva de benchmarks/model cards, deriva de lanzamientos rápidos de plugins, deriva de lanzamiento de extensión sqlite, cronología de CLI y copy renderizado de benchmark en FAQ, una pasada que corrigió contabilidad de créditos, eliminó mínimos de funciones no respaldados solo de terceros, suavizó afirmaciones indocumentadas de API/private-beta e indemnización legal contra documentación oficial de producto y ayuda, corrigió slugs de frontmatter de guías que se filtraban en archivos de descubrimiento IA y agregó redirects alias para URLs de guías expuestas, y pasadas enfocadas de la guía de Codex que corrigieron orientación obsoleta de instalación y marketplace de v0.130, verificaron salida renderizada de guía, hicieron que la traducción de guías pudiera elegir proveedor, probaron con humo la ruta del proveedor Codex, rechazaron salida de traducción truncada antes de escribir caché, completaron escrituras de locales admitidos, verificaron rutas de locales y resolvieron respuestas obsoletas de CDN con purga dirigida. El mismo periodo incluyó una pasada de incorporación de blogs de empresa que se detuvo antes de generar archivos sin destino/ruta/intake explícitos y alineó nombres de archivos de configuración con el núcleo activo de blog-writer, una pasada de auditoría i18n de blog que separó humo de rutas de cobertura de traducción, registró umbrales de credenciales, supuestos obsoletos de scripts opcionales y deriva del conjunto de locales sin exponer detalles privados del flujo, un humo dirigido de rutas de locales omitidos que pasó mientras mantenía separados cobertura y estado de traducciones obsoletas, una pasada de umbral de traducción de blog que se detuvo antes de ejecutar escrituras porque faltaban credenciales D1 y slug/locale explícito y el detector apuntaba a todo el catálogo histórico, un intento de lanzamiento de traducción del blog de migración que expuso arrastre de configuración global de razonamiento de Codex, agregó aislamiento explícito de modelo/razonamiento por proveedor, hizo checkpoint solo del locale aprobado y dejó sin promover salida de locale con demasiado residuo, una pasada de seguimiento que completó todos los locales admitidos del artículo de migración mediante umbral local de residuo, publicación D1, rutas localizadas en vivo, verificación de BlogPosting/Breadcrumb/FAQ JSON-LD, purga dirigida por prefijo de Cloudflare y confirmación de despliegue en Railway para el commit 7624ce5d, un lanzamiento de traducción/descubrimiento de guía que pasó pruebas enfocadas, se envió como commit e5706f8a, confirmó contexto de servicio de producción en Railway, purgó URLs públicas cambiadas y verificó marcadores cambiados en rutas en inglés, localizadas y de descubrimiento IA, una pasada acotada de inteligencia de fuentes que simuló volumen candidato antes de escribir un lote pequeño de memoria privada y registrar una brecha de alcanzabilidad de fuentes, y un bucle de revisión/corrección/reverificación entre agentes que rechazó un hallazgo falso de segundo agente, aceptó un defecto fundamentado, volvió a ejecutar revisión estática y pasó verificaciones locales de entorno de ejecución. Lanzamientos posteriores de blog propiedad de Codex para agentic-design-control-surface, agent-interface-is-the-harness, html-is-the-format-agents-want y agents-need-supervision-surfaces completaron cada uno el bucle de producción con traducción seleccionada por Codex mediante --provider auto, aprobación del umbral i18n local para 9 locales admitidos, verificación de filas D1, evidencia de pruebas enfocadas y escaneo de secretos, commits de rutas exactas, despliegue exitoso en Railway, purga dirigida de Cloudflare para 13 URLs cambiadas, verificador de lanzamiento en vivo aprobado, humo independiente de ruta/schema y paquetes separados pendientes de revisión nativa. La auditoría privada de preparación del paquete devolvió PASS package validation; el piloto de instalación local mostró el plugin instalado y habilitado desde la ruta JSON del marketplace, la habilidad incluida apareció bajo su espacio de nombres de plugin, se eliminó la activación duplicada de paquete local y una sesión nueva de Codex vio la habilidad con espacio de nombres. El umbral de salud del arnés devolvió PASS codex harness health en referencias AGENTS, perfiles, habilidades requeridas, ganchos, validación de paquete, forma de registro y estado de activación documentado. Se omiten intencionalmente etiquetas exactas de pruebas privadas, detalles internos de ganchos, listas de fuentes, formas de tokens, patrones de detectores, rutas y detalles privados de flujo de trabajo. 

  9. OpenAI, “Subagents,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/subagents

  10. OpenAI, “Build plugins,” OpenAI Developers, consultado el 5 de mayo de 2026, https://developers.openai.com/codex/plugins/build

  11. Anthropic, “Hooks reference,” Claude Code Docs, consultado el 5 de mayo de 2026, https://code.claude.com/docs/en/hooks

  12. Anthropic, “Extend Claude with skills,” Claude Code Docs, consultado el 5 de mayo de 2026, https://code.claude.com/docs/en/skills

  13. Anthropic, “How Claude remembers your project,” Claude Code Docs, consultado el 5 de mayo de 2026, https://code.claude.com/docs/en/memory

  14. OpenAI, “Codex App Server,” OpenAI Developers, consultado el 6 de mayo de 2026, https://developers.openai.com/codex/app-server

  15. OpenAI, “Slash commands in Codex CLI,” OpenAI Developers, consultado el 6 de mayo de 2026, https://developers.openai.com/codex/cli/slash-commands

Artículos relacionados

Code with Claude SF 2026: Lo que Anthropic realmente lanzó

Resumen de Code with Claude SF 2026: límites de tasa de Claude Code duplicados, el acuerdo con SpaceX Colossus 1, 10 pla…

12 min de lectura