Codex Skills: cómo crear workflows reutilizables con SKILL.md
Aprende
qué son las Skills de Codex,
cómo crear un SKILL.md
y cómo convertir procesos repetitivos
en workflows reutilizables.
Veremos
Skills personales
y de proyecto,
estructura de carpetas,
invocación con
$skill,
activación automática,
scripts,
referencias,
assets,
agents/openai.yaml,
MCP
y ejemplos completos
para debugging,
WordPress,
seguridad,
code review
y releases.
¿Qué es una Skill de Codex?
Una
Skill de Codex es una carpeta
que contiene instrucciones reutilizables
para realizar una tarea o workflow específico.
Su archivo principal
es
SKILL.md,
que incluye
un nombre,
una descripción
y las instrucciones
que Codex debe seguir.
Una Skill también puede incorporar
scripts ejecutables,
documentación de referencia,
plantillas,
recursos
y dependencias MCP.
Codex puede activarla
explícitamente
mediante
$nombre-skill
o seleccionarla
automáticamente
cuando la tarea
coincide con su descripción.
Qué puede contener una Skill
SKILL.md
Instrucciones principales y metadatos de activación.
Scripts
Automatización determinista ejecutable.
References
Documentación cargada solo cuando se necesita.
Assets
Plantillas, imágenes y otros recursos.
openai.yaml
Apariencia, política y dependencias.
Herramientas externas
Integra servicios mediante MCP.
Codex no carga toda la Skill desde el principio
Name + Description
Codex descubre qué Skills están disponibles.
Selecciona
Decide si una Skill corresponde a la tarea.
SKILL.md
Lee las instrucciones completas.
Recursos
Carga referencias o ejecuta scripts solo si hacen falta.
Una Skill tiene sentido cuando el proceso se repite
Las Skills funcionan especialmente bien cuando existe un procedimiento que quieres ejecutar de forma consistente.
Code review con criterios específicos.
Auditorías de seguridad repetibles.
Checklist de releases.
Debugging estructurado.
Actualización de documentación.
Revisión de plugins WordPress.
AGENTS.md vs Codex Skills
| AGENTS.md | Skill |
|---|---|
| Reglas permanentes | Workflow reutilizable |
| Se aplica al proyecto | Se activa cuando corresponde |
| Debe mantenerse breve | Puede tener más profundidad |
| Convenciones generales | Procedimiento especializado |
| Siempre relevante | Relevante solo para ciertas tareas |
| Ej.: usa PHPUnit | Ej.: realiza auditoría completa de seguridad |
Una Skill puede ser solamente un SKILL.md
---
name: code-review
description: Review code changes for correctness, regressions, security issues and missing tests. Use when the user asks to review code, a diff, branch or pull request.
---
# Code Review
Review the current changes.
Prioritize:
1. correctness bugs
2. regressions
3. security vulnerabilities
4. data-loss risks
5. missing authorization
6. missing regression tests
For every finding provide:
- severity
- file
- line
- impact
- recommended fix
Do not report subjective style preferences.
No necesitas crear scripts, assets ni referencias cuando las instrucciones por sí solas son suficientes.
Estructura completa de una Skill
my-skill/
├── SKILL.md
│
├── agents/
│ └── openai.yaml
│
├── scripts/
│ ├── validate.py
│ └── collect-data.sh
│
├── references/
│ ├── checklist.md
│ └── architecture.md
│
└── assets/
├── template.md
└── report-template.html
| Elemento | Obligatorio | Función |
|---|---|---|
SKILL.md |
Sí | Metadatos e instrucciones |
scripts/ |
No | Automatización ejecutable |
references/ |
No | Documentación auxiliar |
assets/ |
No | Plantillas y archivos de salida |
agents/openai.yaml |
No | UI, políticas y dependencias |
Cómo crear una Skill de Codex
Define un trabajo específico
No intentes resolver todos los problemas con una sola Skill.
Crea una carpeta
Utiliza un nombre claro para el workflow.
Crea SKILL.md
Añade nombre, descripción e instrucciones.
Añade recursos
Solo si realmente aportan valor.
Prueba la activación
Comprueba cuándo Codex la selecciona.
Itera
Mejora la Skill con casos reales.
Codex puede crear la Skill por ti
Codex incluye una Skill del sistema específicamente diseñada para crear y actualizar Skills.
$skill-creator
También puedes darle el objetivo directamente:
$skill-creator
Crea una Skill
para revisar plugins WordPress.
Debe comprobar:
- nonces
- capabilities
- sanitización
- escaping
- SQL
- AJAX
- REST API
- WooCommerce
- PHP 8.2+
La Skill debe entregar
hallazgos por severidad,
archivo y línea.
También puedes crearla directamente
---
name: wordpress-security-review
description: Review WordPress plugins and themes for security vulnerabilities. Use when asked to audit WordPress PHP, AJAX, REST routes, database queries, authentication, authorization or WooCommerce integrations.
---
# WordPress Security Review
Review the requested WordPress code.
Check:
1. input validation
2. sanitization
3. output escaping
4. nonces
5. capabilities
6. SQL queries
7. REST permission callbacks
8. AJAX authorization
9. file operations
10. exposed secrets
Return only actionable findings.
For every finding include:
- severity
- file
- line
- vulnerability
- impact
- recommended fix
name y description controlan el descubrimiento
---
name: wordpress-security-review
description: Review WordPress plugins and themes for security vulnerabilities. Use for WordPress security audits involving PHP, AJAX, REST API, database access, authentication or authorization.
---
Codex utiliza
principalmente
el
name
y la
description
para decidir
si una Skill
podría ser útil
para la tarea actual.
Una buena description debe explicar qué hace y cuándo usarla
| Descripción débil | Descripción útil |
|---|---|
| Ayuda con WordPress. | Revisa plugins WordPress para vulnerabilidades de nonces, capabilities, AJAX, REST API y SQL. Úsala cuando el usuario solicite una auditoría de seguridad WordPress. |
| Revisa código. | Realiza code review de diffs y Pull Requests buscando bugs, regresiones, problemas de seguridad y tests faltantes. |
| Ayuda con releases. | Prepara releases verificando versión, changelog, tests, build, artefactos y estado de Git antes de publicar. |
Dónde guardar las Skills de Codex
| Alcance | Ubicación | Uso |
|---|---|---|
| Proyecto actual | $CWD/.agents/skills |
Skill específica del directorio |
| Carpeta superior | $CWD/../.agents/skills |
Compartida por módulos relacionados |
| Raíz repositorio | $REPO_ROOT/.agents/skills |
Disponible para todo el repositorio |
| Usuario | $HOME/.agents/skills |
Disponible en distintos proyectos |
| Administrador | /etc/codex/skills |
Skills compartidas de la máquina |
| Sistema | Incluidas por OpenAI | Skills integradas |
Skill disponible para todos tus repositorios
~/.agents/skills/
└── security-review/
└── SKILL.md
Por ejemplo: revisión de código, generación de documentación, análisis de bugs o preparación de commits.
Skill compartida con todo el equipo
mi-proyecto/
├── AGENTS.md
│
├── .agents/
│ └── skills/
│ ├── release/
│ │ └── SKILL.md
│ │
│ └── security-review/
│ └── SKILL.md
│
├── src/
└── tests/
De esta manera los miembros del equipo pueden utilizar el mismo workflow al trabajar con el repositorio.
Codex busca Skills desde el directorio actual hacia la raíz
repo/
├── .agents/
│ └── skills/
│ └── general-review/
│ └── SKILL.md
│
└── services/
└── payments/
├── .agents/
│ └── skills/
│ └── payment-review/
│ └── SKILL.md
│
└── src/
Si inicias Codex
dentro de
services/payments,
podrá descubrir
las Skills
disponibles
desde ese directorio
hasta
la raíz
del repositorio.
Skills con el mismo name no se fusionan
Si dos Skills
tienen
el mismo
name,
Codex no combina
automáticamente
sus instrucciones.
Ambas pueden
aparecer
en el selector.
# Mejor
wordpress-security-review
php-security-review
api-security-review
Codex puede descubrir carpetas de Skills enlazadas
Codex soporta carpetas de Skills enlazadas mediante enlaces simbólicos y sigue el destino mientras explora las ubicaciones configuradas.
Esto puede resultar útil si mantienes una colección centralizada de Skills reutilizadas por varios proyectos.
Cómo ejecutar una Skill manualmente
En Codex CLI o la extensión IDE puedes consultar las Skills disponibles:
/skills
Y mencionar una Skill directamente:
$wordpress-security-review
Revisa los cambios actuales.
Codex también puede seleccionar la Skill automáticamente
Audita este plugin WordPress
en busca de vulnerabilidades
de seguridad.
Si existe una Skill cuya descripción coincide claramente con esa tarea, Codex puede elegirla sin que escribas su nombre.
Debe definir claramente el ámbito sin convertirse en un catch-all que se active para cualquier tarea.
agents/openai.yaml permite configurar la experiencia
interface:
display_name: "WordPress Security Review"
short_description: "Audit WordPress code for security vulnerabilities"
icon_small: "./assets/icon.svg"
icon_large: "./assets/logo.png"
brand_color: "#3B82F6"
default_prompt: "Review the selected WordPress code."
policy:
allow_implicit_invocation: true
Este archivo puede controlar aspectos como:
Nombre visible.
Descripción para la interfaz.
Iconos de la Skill.
Color de marca.
Prompt predeterminado.
Política de invocación.
Desactivar la activación automática de una Skill
policy:
allow_implicit_invocation: false
Con
allow_implicit_invocation: false,
Codex no seleccionará
esa Skill
automáticamente
a partir
del prompt.
Aun así podrás ejecutarla:
$nombre-skill
Ideal para workflows delicados o muy específicos
Deploy de producción.
Publicación de releases.
Operaciones sensibles de bases de datos.
Acciones en servicios externos.
Usa scripts cuando una parte del workflow debe ser determinista
Si una operación se repite constantemente o conviene ejecutarla de forma exacta, puedes incluir un script dentro de la Skill.
release-check/
├── SKILL.md
│
└── scripts/
└── validate_release.py
Skill que utiliza un script auxiliar
---
name: release-check
description: Validate a project before release. Use when preparing, validating or reviewing a release.
---
# Release Check
1. Inspect repository status.
2. Read the current version.
3. Run the release validation script:
`python scripts/validate_release.py`
4. Run the project test suite.
5. Run the build.
6. Review the final diff.
7. Report blockers before publishing.
Do not publish or push anything unless explicitly requested.
OpenAI recomienda preferir instrucciones cuando sean suficientes y utilizar scripts cuando aporten comportamiento determinista o integren herramientas externas.
Guarda documentación extensa fuera de SKILL.md
wordpress-review/
├── SKILL.md
│
└── references/
├── security.md
├── ajax.md
├── rest-api.md
└── woocommerce.md
La Skill puede indicar qué referencia consultar según la tarea actual. Así reduces contexto innecesario.
Carga solamente la documentación relevante
# WordPress Review
First determine the task type.
For AJAX handlers:
read `references/ajax.md`.
For REST API routes:
read `references/rest-api.md`.
For WooCommerce integrations:
read `references/woocommerce.md`.
For security audits:
read `references/security.md`.
Do not load unrelated references.
El objetivo es mantener disponible mucho conocimiento especializado sin cargarlo todo en cada petición.
Incluye plantillas y recursos reutilizables
release-notes/
├── SKILL.md
│
└── assets/
└── release-template.md
Un asset puede servir como:
Plantilla de documento.
Plantilla HTML.
Recursos gráficos.
Archivos base de configuración.
Muchas Skills también pueden ocupar espacio de descubrimiento
La lista inicial de Skills utiliza como máximo aproximadamente el 2 % de la ventana de contexto del modelo, o 8.000 caracteres cuando el tamaño de la ventana no se conoce.
Cuando
una Skill
sí es seleccionada,
Codex puede leer
su
SKILL.md
completo.
Una Skill debería resolver un trabajo claramente definido
super-developer
Una Skill que intenta programar, testear, desplegar, documentar, diseñar y auditar todo.
wordpress-security-review
Un workflow concreto con activación y salida previsibles.
Una Skill puede depender de herramientas externas
Por ejemplo, una Skill para revisar documentación podría necesitar un servidor MCP.
dependencies:
tools:
- type: "mcp"
value: "documentation"
description: "Documentation MCP server"
transport: "streamable_http"
url: "https://example.com/mcp"
Skill
Define cómo ejecutar el workflow.
MCP
Proporciona herramientas o datos externos.
La Skill define el workflow; el Plugin lo distribuye
| Skill | Plugin |
|---|---|
| Formato de creación | Unidad de distribución |
| Puede vivir en un repositorio | Se instala como paquete |
| Define un workflow | Puede incluir varias Skills |
| Puede usar MCP | Puede empaquetar conectores MCP |
| Ideal para iterar localmente | Ideal para compartir ampliamente |
Cuando quieras distribuirla a más personas o combinarla con otras Skills y conectores, entonces tiene sentido empaquetarla como Plugin.
Desactivar una Skill sin eliminarla
Puedes deshabilitar una Skill local desde:
~/.codex/config.toml
utilizando:
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false
Así se vuelve a cargar la configuración de Skills disponible.
Codex detecta nuevas Skills automáticamente
Si agregas o modificas una Skill, Codex intenta detectar el cambio automáticamente.
Reinicia Codex para forzar una nueva exploración de Skills.
También puedes instalar Skills ya creadas
Codex dispone
de
$skill-installer
para instalar
Skills seleccionadas
o descargarlas
desde otros
repositorios.
$skill-installer linear
Antes de crear un workflow desde cero, vale la pena comprobar si ya existe una Skill adecuada.
Skills útiles para un desarrollador
wordpress-security-review
Audita plugins, themes, AJAX, REST y SQL.
root-cause-debug
Reproduce bugs antes de corregirlos.
code-review
Revisa diffs y Pull Requests.
release-check
Verifica una versión antes de publicarla.
migration-review
Revisa migraciones de base de datos.
docs-sync
Mantiene documentación alineada con código.
Skill para debugging basado en causa raíz
---
name: root-cause-debug
description: Debug reproducible software failures by finding the root cause before editing code. Use when investigating bugs, regressions, failing tests, crashes or unexpected behavior.
---
# Root Cause Debugging
Do not modify code immediately.
Follow this workflow:
1. reproduce the failure
2. identify the smallest failing path
3. inspect relevant logs and errors
4. identify the root cause
5. explain the cause
6. create or identify a regression test
7. implement the smallest safe fix
8. run relevant tests
9. review the final diff
Avoid speculative refactors.
At the end report:
- root cause
- files changed
- verification
- remaining risks
Skill de revisión de seguridad WordPress
---
name: wordpress-security-review
description: Audit WordPress plugins and themes for security vulnerabilities. Use for security reviews involving PHP, AJAX, REST routes, authentication, authorization, database queries, file uploads or WooCommerce integrations.
---
# WordPress Security Review
Review only security-relevant behavior.
Check:
## Input
- validate external input
- sanitize values before storage or use
## Output
- use context-appropriate escaping
## Authorization
- check capabilities where required
- do not treat nonces as authorization
## CSRF
- verify nonces for state-changing requests
## Database
- use `$wpdb->prepare()` for dynamic SQL
## AJAX
- verify nonce
- verify authorization
- sanitize request values
## REST API
- review `permission_callback`
- verify public routes are intentionally public
## Files
- validate uploads
- prevent arbitrary file access
## Secrets
- do not expose keys or credentials
Return findings ordered by severity.
For each finding provide:
- severity
- file
- line
- vulnerable behavior
- realistic impact
- recommended fix
Skill para code review
---
name: code-review
description: Review code changes, branches, diffs and pull requests for correctness, regressions, security issues and missing tests.
---
# Code Review
Review the changed behavior.
Prioritize:
1. correctness
2. regressions
3. security
4. data loss
5. concurrency issues
6. backwards compatibility
7. missing tests
Ignore:
- formatting already handled by tooling
- subjective naming preferences
- unrelated pre-existing issues
Each finding must include:
- priority
- file
- line
- explanation
- recommended correction
If no actionable findings exist,
say so explicitly.
Skill para preparar una release
---
name: release-check
description: Prepare and validate a software release. Use before publishing, tagging, packaging or deploying a new version.
---
# Release Check
Before publishing:
1. inspect Git status
2. confirm target version
3. check changelog
4. run tests
5. run lint
6. run typecheck if available
7. run production build
8. inspect generated artifacts
9. review final diff
10. report blockers
Do not:
- push
- publish
- deploy
- create tags
unless explicitly requested.
Skill para mantener documentación sincronizada
---
name: docs-sync
description: Update project documentation to match recent code changes. Use when APIs, configuration, installation steps, commands or user-facing behavior have changed.
---
# Documentation Sync
1. inspect the current diff
2. identify user-visible behavior changes
3. find affected documentation
4. update only impacted sections
5. preserve existing documentation style
6. verify code examples against the implementation
7. report documentation that remains uncertain
Do not invent undocumented behavior.
Combinar instrucciones, referencias y scripts
wordpress-release/
├── SKILL.md
│
├── scripts/
│ ├── php_syntax_check.py
│ └── package_plugin.py
│
├── references/
│ ├── wordpress-security.md
│ ├── woocommerce.md
│ └── release-checklist.md
│
├── assets/
│ └── changelog-template.md
│
└── agents/
└── openai.yaml
Escribe pasos imperativos, entradas y salidas claras
| Débil | Mejor |
|---|---|
| Mira el proyecto. | Inspecciona la raíz del repositorio y localiza los archivos relacionados con la tarea antes de editar. |
| Haz tests. | Ejecuta primero los tests focalizados y después la suite completa si el cambio afecta código compartido. |
| Revisa seguridad. | Comprueba autorización, validación de input, escaping, consultas SQL y manejo de credenciales. |
| Dame un informe. | Devuelve hallazgos ordenados por severidad con archivo, línea, impacto y corrección. |
Prueba la Skill con prompts reales
Prompt positivo
Debería activar la Skill.
Prompt cercano
Comprueba si activa correctamente.
Prompt negativo
No debería seleccionarla.
Ejecuta workflow
Comprueba el resultado real.
Ajusta description
Corrige activaciones equivocadas.
Probar una Skill de seguridad WordPress
DEBERÍA ACTIVARSE
"Audita la seguridad
de este plugin WordPress."
DEBERÍA ACTIVARSE
"Revisa los handlers AJAX
en busca de vulnerabilidades."
PROBABLEMENTE NO
"Corrige el CSS
responsive de este plugin."
NO DEBERÍA ACTIVARSE
"Escribe una descripción SEO
para mi plugin."
Qué debería quedarse fuera de una Skill
Consejos genéricos que Codex ya conoce.
Documentación no relacionada con el workflow.
Ejemplos redundantes sin valor operativo.
Reglas permanentes que deberían vivir en AGENTS.md.
Secretos, tokens o credenciales.
Instrucción, script, reference o MCP
De un prompt repetido a una Skill reutilizable
Detecta repetición
Estás dando las mismas instrucciones una y otra vez.
Define objetivo
Un workflow claramente delimitado.
Crea SKILL.md
Descripción y procedimiento.
Prueba
Usa tareas reales.
Extrae detalles
Mueve documentación grande a references.
Automatiza
Añade scripts donde aporten fiabilidad.
Conecta
Añade MCP cuando necesites sistemas externos.
Distribuye
Convierte en Plugin si tiene sentido compartirla.
Las Skills pueden convertirse en conocimiento operacional del equipo
Por ejemplo, un equipo podría mantener:
.agents/skills/
├── backend-code-review/
├── frontend-accessibility/
├── security-review/
├── database-migration/
├── release-check/
├── incident-debug/
└── docs-sync/
El procedimiento deja de depender exclusivamente de que una persona recuerde todos los pasos.
Cómo crear Skills más confiables
Mantén una responsabilidad clara por Skill.
Escribe descriptions precisas.
Usa instrucciones imperativas.
Define inputs y outputs.
Usa scripts solo cuando aporten fiabilidad.
Mueve información extensa a references.
Prueba activación positiva y negativa.
Mejora la Skill después de usarla en tareas reales.
Problemas habituales al crear Codex Skills
| Problema | Solución |
|---|---|
| Skill no aparece | Revisa ubicación y reinicia Codex |
| No se activa automáticamente | Mejora description |
| Se activa demasiado | Reduce el alcance de la descripción |
| SKILL.md gigantesco | Mueve detalle a references/ |
| Mucho código repetido | Crea un script auxiliar |
| Necesita API externa | Combina Skill + MCP |
| Debe instalarse por otros usuarios | Empaqueta como Plugin |
| Dos Skills parecen iguales | Reduce solapamiento y mejora nombres |
Guías relacionadas
Documentación para crear Skills
Build Skills
Estructura, ubicación, invocación y metadata.
Ver documentación →Customization
AGENTS.md, Skills, MCP y subagentes.
Ver personalización →Skill Creator
Ejemplo real de una Skill compleja.
Ver código →Agent Plugins
Distribución de Skills reutilizables.
Ver Plugins →FAQ sobre Codex Skills
Una Skill es una carpeta que contiene instrucciones reutilizables para realizar un workflow específico. Su archivo principal es SKILL.md y puede incluir scripts, referencias, assets y metadata adicional.
SKILL.md debe incluir un frontmatter YAML con name y description, seguido de las instrucciones que Codex debe utilizar cuando activa la Skill.
La documentación actual de Codex utiliza $HOME/.agents/skills para Skills personales disponibles entre distintos repositorios.
Las Skills específicas del repositorio se guardan dentro de carpetas .agents/skills. Codex las busca desde el directorio de trabajo actual hasta la raíz del repositorio.
En Codex CLI y en la extensión IDE puedes ejecutar /skills para explorar Skills disponibles o mencionar una directamente escribiendo $ seguido del nombre de la Skill.
Sí. Codex puede seleccionar implícitamente una Skill cuando la tarea coincide con su description. Por eso la descripción debe definir claramente qué hace y cuándo debe activarse.
Sí. En agents/openai.yaml puedes establecer allow_implicit_invocation en false. La Skill seguirá disponible mediante invocación explícita.
Sí. Una Skill puede incluir una carpeta scripts con código ejecutable. Es especialmente útil cuando una parte del workflow necesita comportamiento determinista o se repite constantemente.
AGENTS.md define instrucciones persistentes que deben acompañar el trabajo sobre un repositorio. Las Skills encapsulan workflows especializados que se cargan cuando una tarea los necesita.
Una Skill define cómo ejecutar un workflow. MCP proporciona herramientas y acceso a sistemas externos. Ambos pueden utilizarse juntos.
La Skill es el formato para crear el workflow. Un Plugin es una unidad instalable que puede distribuir una o varias Skills y también incluir conectores o configuración MCP.
Sí. Las Skills independientes están disponibles en Codex CLI, en la extensión IDE y en la aplicación de escritorio compatible.
Puedes invocar $skill-creator y describir qué debe hacer la Skill, cuándo debería activarse y si necesita scripts u otros recursos.
Codex Subagents: delega tareas a agentes especializados
Ya sabes cómo encapsular workflows y conocimiento especializado mediante Skills. Ahora veremos cómo Codex puede delegar partes de una tarea a subagentes especializados con diferentes instrucciones, modelos, niveles de razonamiento y herramientas, mientras un agente principal coordina el resultado.
Aprender Codex Subagents →