Skills de Codex: crear un skill para tareas repetitivas
MarkdownEstructura de SKILL.md, rutas de carga, invocación explícita y automática, criterios de resultado y transferencia de un skill a Claude Code.
Leer el artículo completo
Si le explicas lo mismo a Codex cinco veces por semana —cómo dar formato a un informe, ordenar el correo electrónico o preparar textos con tu estilo, por ejemplo—, puedes escribir esas instrucciones una sola vez en un skill. Después, el agente puede encontrarlo por su descripción cuando esta coincida con la tarea, o puedes invocarlo explícitamente. Un skill es una carpeta común con un archivo de texto llamado SKILL.md; para un caso de uso básico no hace falta programar.
A continuación, explicamos cómo se estructura un skill, dónde lo busca Codex, cómo crear uno paso a paso y cómo elegir un modelo según su coste. Los comandos y precios se basan en la documentación oficial de OpenAI a fecha del 20 de septiembre de 2026. Aquí no repetimos las instrucciones de instalación de Codex; puedes consultarlas en la guía Codex de OpenAI: qué es, cómo instalarlo y ejecutarlo.
En la documentación encontrarás información práctica sobre el uso de Ailoot.
¿Qué es un skill en Codex?
Punto clave
Un skill de Codex es una carpeta con un archivo SKILL.md que describe un proceso: qué hacer, en qué basarse y cómo reconocer un buen resultado. Al principio, Codex solo mantiene en el contexto los nombres y las descripciones de los skills, y carga las instrucciones completas cuando decide usar uno.
El formato se llama Agent Skills. Es un estándar abierto desarrollado originalmente por Anthropic y publicado en agentskills.io. Es compatible con varios agentes, entre ellos Codex, Claude Code y otros clientes compatibles. Un skill sencillo compuesto únicamente por instrucciones de texto se puede transferir entre ellos copiando la carpeta. Si contiene scripts, dependencias o un archivo agents/openai.yaml, comprueba el skill después de transferirlo: algunos ajustes son específicos de cada cliente.
Este método de carga se denomina divulgación progresiva. El agente usa el nombre y la descripción de un skill para determinar cuándo es pertinente. Cuando una tarea coincide con la descripción, el agente lee el archivo SKILL.md completo y sigue sus instrucciones. Así puedes tener docenas de skills en Codex sin cargar todas las instrucciones en el contexto: la lista inicial ocupa como máximo el 2 % de la ventana de contexto (o 8.000 caracteres si se desconoce el tamaño de la ventana). Si hay muchos skills, Codex primero acorta sus descripciones; si hay muchísimos, puede omitir algunos de la lista y avisarte.
Es fácil confundir un skill con AGENTS.md. Codex lee este archivo en todas las sesiones de proyecto. Contiene reglas permanentes: la pila tecnológica, las convenciones y el estilo de programación. Un skill se carga bajo demanda cuando una tarea coincide con él. Por tanto, coloca las reglas permanentes en AGENTS.md y los procesos repetitivos con sus pasos en un skill.
Los skills de Hermes Agent funcionan de manera similar, pero se almacenan en carpetas distintas y se instalan de otra forma. Se explican en una guía aparte: Skills de Hermes Agent: instalación y creación. Este artículo trata únicamente de Codex.
¿De qué consta un skill?
Punto clave
Como mínimo, un skill tiene un archivo SKILL.md con dos campos obligatorios: name y description. También puedes añadir las carpetas scripts/, references/ y assets/, además de un archivo agents/openai.yaml con ajustes.
La carpeta de un skill tiene esta estructura:
my-skill/
SKILL.md - required: metadata and instructions
scripts/ - optional: executable code
references/ - optional: documents to load as needed
assets/ - optional: templates and resources
agents/
openai.yaml - optional: appearance and dependencies
El propio archivo SKILL.md empieza con un bloque de metadatos entre tres guiones, seguido del texto de las instrucciones en Markdown:
---
name: weekly-sales-report
description: Compile a weekly sales report from a CSV export. Use when asked for a weekly sales report or a summary by manager.
---
1. Read the export file at the path provided by the user.
2. Group the rows by manager and calculate the total and number of deals.
3. Compare with the previous week if the file for the previous week is nearby. If it is not there, say so directly in the report.
4. Save the result to report.md: a table by manager, the total, and up to three key changes with figures, as many as the data supports.
Tres reglas de las recomendaciones oficiales de OpenAI:
- Un skill, una tarea. En vez de «Encárgate de todo mi marketing», elige una tarea específica: «prepara un informe de ventas a partir de esta exportación». Divide un proceso más amplio en skills separados que se puedan invocar en secuencia.
- Redacta los pasos de forma directa, con entradas y salidas explícitas: qué usar, qué hacer y dónde colocar el resultado.
- Empieza con instrucciones de texto. Usa scripts en
scripts/cuando un paso tenga que ejecutarse siempre exactamente de la misma manera, por ejemplo, para convertir un archivo o llamar a un sistema externo.
Codex selecciona un skill para una tarea basándose en el campo description, así que empieza la descripción con la tarea y las palabras que sueles usar para describirla.
¿Dónde busca Codex los skills?
Punto clave
Codex busca skills en cuatro niveles: en la carpeta .agents/skills del proyecto (revisa la carpeta actual y cada carpeta superior hasta llegar a la raíz del repositorio), en la carpeta personal $HOME/.agents/skills, en la carpeta del sistema /etc/codex/skills y entre los skills integrados de OpenAI.
| Nivel | Ruta | Finalidad |
|---|---|---|
| Proyecto | .agents/skills en la carpeta actual y en sus carpetas superiores hasta la raíz del repositorio | Skills para un proyecto específico, que se pueden guardar en Git junto con el código |
| Usuario | $HOME/.agents/skills | Tus skills personales, disponibles en todos los proyectos de la máquina |
| Sistema | /etc/codex/skills | Skills compartidos por todos los usuarios de la máquina o el contenedor |
| Integrados | Incluidos con Codex | Skills básicos de OpenAI, como el creador de skills |
Es práctico guardar los skills del proyecto en Git junto con el código, para que todo el equipo disponga del mismo conjunto. Los skills personales funcionan bien para procesos propios, como tu estilo de correo electrónico. Si dos skills de distintos niveles tienen el mismo nombre, Codex no los combina: ambos aparecen en la lista, lo que dificulta elegir. Procura que sus nombres sean únicos.
A modo de comparación, los skills de Claude Code se guardan en .claude/skills, cada uno con su propio SKILL.md, y usan el mismo estándar abierto. Puedes transferir un skill sencillo copiando su carpeta; después ejecútalo y comprueba que se invoca. Para comparar las extensiones de Claude Code, consulta Skills, subagentes, MCP o plugins.
¿Cómo decide Codex qué skill invocar?
Punto clave
Puedes invocar un skill explícitamente: en la CLI de Codex o en la extensión para IDE, escribe $skill-name en tu solicitud o selecciónalo mediante /skills. Para la invocación implícita, Codex selecciona un skill automáticamente si tu tarea coincide con su descripción. El skill debe estar disponible y la invocación automática debe estar permitida.
Al principio, la invocación explícita es más fiable: en la CLI de Codex, escribe $weekly-sales-report para seleccionar ese proceso concreto. La invocación implícita es más cómoda para el trabajo diario. Después de redactar un skill, ponlo a prueba con una formulación habitual: pide a Codex que realice la tarea con tus propias palabras, sin $, y comprueba si selecciona el skill. Si no lo hace, comprueba primero si Codex puede ver el skill en /skills, si se encuentra en una de las carpetas de carga y si el skill o su invocación automática están desactivados. Si está disponible y los ajustes son correctos, perfecciona la description: indica la tarea y las formas habituales de formular la solicitud.
Si quieres que un skill solo esté disponible mediante un comando explícito, también puedes configurarlo así: en agents/openai.yaml, el parámetro allow_implicit_invocation: false desactiva la invocación automática, mientras que $name sigue funcionando. Puedes desactivar un skill por completo sin borrarlo mediante ~/.codex/config.toml:
[[skills.config]]
path = "/full/path/to/the/skill/SKILL.md"
enabled = false
Después de editar config.toml, reinicia Codex. Codex detecta automáticamente los cambios en las carpetas de skills, pero si un skill nuevo no aparece, reinicia Codex.
Cómo crear tu propio skill: paso a paso
Punto clave
Elige una tarea repetitiva, crea un skill con el asistente integrado $skill-creator o manualmente, redacta instrucciones que especifiquen claramente el resultado, prueba la invocación con una formulación habitual y perfecciona el skill después de cada ejecución.
Elige una tarea
Elige un proceso que repitas con frecuencia y que tenga un resultado claro: un informe, una tabla, una carta o un análisis. Si nunca has recibido un resultado de ese tipo, primero realiza la tarea manualmente con un agente. Usa el resultado obtenido como referencia para las instrucciones.
Crea un skill
Para crear un skill con el asistente integrado, escribe
$skill-creatoren una sesión de Codex. Te preguntará qué hace el skill, cuándo debe invocarse y si hacen falta scripts; después, preparará la estructura por ti. Para crear uno manualmente, crea en el proyecto una carpeta.agents/skillscon una subcarpeta para el skill, por ejemplo.agents/skills/weekly-sales-report, y coloca dentro un archivoSKILL.mdsiguiendo el ejemplo anterior.Redacta las instrucciones
Escribe los pasos como una lista numerada con entradas y salidas explícitas. Si el proceso requiere precisión (transferir datos, cambiar nombres, calcular), detalla cada paso. Para tareas creativas (redactar textos, elegir argumentos), establece límites y criterios para obtener un buen resultado, pero deja margen de acción al modelo.
Prueba la invocación
Pide a Codex que realice la tarea con tus propias palabras, sin mencionar el nombre del skill. Si selecciona el skill correcto, la descripción ha funcionado con esa formulación. Luego prueba la invocación explícita con
$name. Si no se invoca el skill, comprueba la carpeta, si aparece en/skillsy los ajustes de desactivación descritos anteriormente. Si un skill nuevo no aparece en la lista, reinicia Codex. Si la invocación explícita funciona y la invocación automática está permitida, pero Codex no responde a una solicitud formulada con tus propias palabras, perfecciona el inicio de ladescription: pon primero la tarea y después las formas habituales de expresarla. Vuelve a probarlo.Perfecciona el skill después de cada ejecución
Después de cada ejecución, revisa el resultado y dile al agente qué debe cambiar en el skill: «La próxima vez, añade al resumen una columna que muestre la proporción». Si la primera versión no da el resultado que necesitas, perfecciona el skill para tareas creativas basándote en los comentarios.
Los skills listos para usar de OpenAI y de la comunidad se instalan con $skill-installer y el nombre del skill. Para compartir tus propios skills con otras personas, distribúyelos como plugins: es un método de empaquetado distinto, innecesario para el uso personal.
Cómo comprobar el resultado de un agente
Punto clave
Incluye los criterios de aceptación directamente en el skill: qué debe contener el resultado y cómo debe comprobar su trabajo el agente antes de entregarlo. Esto no garantiza que sea correcto; aun así, tendrás que revisar el resultado por tu cuenta.
Las comprobaciones pueden ser objetivas o subjetivas. Las objetivas son medibles: «el informe incluye a los 12 responsables de la exportación» o «la suma de la tabla coincide con el total del CSV». Regístralas como requisitos obligatorios. Las subjetivas se refieren a la calidad: «el texto suena como yo» o «las conclusiones son breves». También puedes formalizarlas: incluye en el skill un ejemplo de un buen pasaje y pide al agente que compare su resultado con el ejemplo.
Una técnica útil es un ciclo de revisión: después de preparar el resultado, el agente repasa una lista de criterios, corrige lo que encuentre y solo entonces te lo muestra. Anthropic tiene un patrón similar llamado evaluator-optimizer: un agente realiza el trabajo, otro evaluador lo revisa y devuelve comentarios, y el proceso se repite hasta que se acepta el resultado. Dentro de un solo skill, suele ser una versión simplificada: una comprobación final del propio agente contra una lista. Ten presente su limitación: es menos eficaz que una evaluación independiente porque el agente que hizo el trabajo quizá no detecte sus propios errores.
Ejemplo de bloque de comprobación para nuestro informe:
## Before submitting, check
- Every manager from the export is present in the table; no one was left out.
- The total matches the CSV sum down to the last cent.
- Every key change is supported by a figure; if there is no data for comparison, the report says so directly.
- The file is saved at report.md, and the path has been shared with the user.
¿Qué modelo elegir para un skill?
Punto clave
Empieza con el modelo en el que funcionó el skill y luego prueba modelos más baratos: si la calidad se mantiene, quédate con el más económico. A continuación se indican las tarifas de API y los modelos por los que conviene empezar, a fecha del 20 de septiembre de 2026.
| Modelo | Entrada, $/millón de tokens | Salida, $/millón de tokens | Primer uso recomendado |
|---|---|---|---|
| GPT-6 Astra | 10 | 50 | Skills que requieran razonamiento prolongado, imágenes y navegación web |
| GPT-5.6 Sol | 4 | 20 | Skills de texto de complejidad media |
| GPT-5.6 Terra | 2.50 | 15 | Procesos sencillos con un resultado claro |
| GPT-5.6 Luna | 0.20 | 1.20 | Tareas mecánicas: reformatear, calcular, recopilar una lista |
La columna de la derecha sugiere tareas para las primeras comprobaciones. No es una clasificación ni el resultado de una comparación: solo podrás determinar el modelo adecuado para tu skill después de ejecutarlo y comparar el resultado con el de referencia.
Los precios de la tabla son tarifas de API de las páginas de modelos a fecha del 20 de septiembre de 2026, no los precios de las suscripciones de ChatGPT. Si usas una suscripción, el consumo se descuenta de sus límites. A esa fecha, Sol tiene una tarifa promocional de $4/$20 hasta, al menos, el 21 de noviembre de 2026; el precio estándar es de $5/$30. Antes de una ejecución recurrente de gran volumen, consulta la página de precios: las promociones de OpenAI cambian.
Ejecuta el mismo skill con el siguiente modelo menos caro y compara el resultado con el de referencia. Si se mantiene la calidad, prueba el siguiente modelo aún más barato. Si baja la calidad, vuelve al anterior. Los modelos también tienen niveles de esfuerzo: Astra va de low a max, y la familia 5.6, de none a max. Pruébalos también con la misma referencia: primero elige el modelo y después el nivel de esfuerzo.
Usar un skill con frecuencia supone costes recurrentes. El precio de entrada de Astra es 50 veces el de Luna, así que usar modelos distintos para el mismo skill recurrente puede generar diferencias de coste considerables. Para un skill que analiza capturas de pantalla y documentos, un modelo más débil puede resultar más caro debido al trabajo adicional.
Errores frecuentes al crear y usar un skill
- Un skill «para todo». Un proceso, un skill: esa también es la recomendación de OpenAI. Es difícil describir con precisión un skill universal de diez páginas, y Codex selecciona un skill para cada tarea basándose en su descripción.
- Una descripción imprecisa. «Ayuda con informes» no aclara para qué tipo de informes sirve el skill. Al principio de
description, indica la tarea y las formas habituales de formularla. - Instrucciones sin un resultado definido. Si no especificas qué hay que producir y dónde colocarlo, los resultados pueden variar de una ejecución a otra.
- Ninguna comprobación. Sin un paso final con criterios, el resultado podría ser un borrador sin terminar que tendrás que revisar por completo.
- El modelo más capaz por defecto. Comprueba primero si un modelo menos caro puede realizar la tarea: ejecuta el mismo skill y compara el resultado con el de referencia. Cambia solo si se mantiene la calidad.
- Los mismos nombres en distintas carpetas. Codex no combina los skills que tienen el mismo nombre, lo que dificulta elegir el adecuado.
Cómo empezar y transferir un skill a Claude Code
Punto clave
Elige un proceso repetitivo, crea un skill con $skill-creator, prueba la invocación con tus propias palabras y añade un paso final con criterios de aceptación. Después de unas cuantas ejecuciones, perfecciona la descripción y las instrucciones a partir de los errores que encuentres.
Si trabajas con varios agentes, puedes transferir a Claude Code una carpeta que solo contenga instrucciones de texto y un archivo SKILL.md. Allí, los skills se guardan en .claude/skills y se invocan con /name. Después de transferirlo, comprueba el skill si contiene scripts, dependencias o agents/openai.yaml. Para consultar una guía de la biblioteca de skills de Claude Code, ve a Skills de Claude Code: cómo crear tu propio conjunto; para comparar Codex y Claude Code, consulta Codex frente a Claude Code.
Fuentes
- OpenAI Developers: crear skills — documentación de Codex
- OpenAI Developers: descripción general de Codex
- OpenAI Platform: modelos y tarifas de API
- Agent Skills: estándar abierto y especificación
- Anthropic Docs: ampliar Claude con skills
- Anthropic Engineering: creación de agentes eficaces
- OpenAI Developers: crear plugins
Más detalles
Preguntas sobre Codex
¿Por qué funciona invocar una skill expresamente pero falla su selección automática?
Comprueba que aparezca en /skills y que esté permitida la invocación implícita. Si ambas cosas están bien, ajusta la descripción para que empiece por la tarea e incluya las palabras que usas normalmente; repite después la misma petición normal.
¿Qué verifico en el resultado de una skill de informes de ventas?
Que incluya a todos los responsables de la exportación de entrada, que el total cuadre con los datos originales, que cada variación tenga cifras de respaldo y que se guarde el informe solicitado. Si falta el periodo anterior, debe indicarlo.