La anatomía: un archivo obligatorio, tres carpetas opcionales
Un skill es un directorio. El único archivo obligatorio es SKILL.md: frontmatter YAML con un name y una description, seguido de instrucciones en Markdown. A su alrededor, tres carpetas opcionales aportan el peso en el que las instrucciones pueden apoyarse: scripts/ para código ejecutable que el skill indica a Codex que ejecute, references/ para documentación demasiado extensa para incluirla en línea, y assets/ para plantillas. Un archivo opcional agents/openai.yaml añade metadatos de UI y dependencias para su distribución.
---
name: apply-design-system
description: Apply the project design system when building or editing UI. Use for any component, page, or styling task; reads DESIGN.md and forbids colors, fonts, or spacing outside its tokens.
---
# Apply the design system
1. Read DESIGN.md at the repo root before writing any UI code.
2. Use only its semantic tokens for color, its type scale for text,
and its spacing scale for layout.
3. If a needed value has no token, stop and say so instead of
inventing one.Detección: los cinco lugares donde busca Codex
.agents/skills/en el repositorio: skills del proyecto, compartidos con todos los que lo clonen.~/.agents/skills/: sus skills personales, presentes en cada proyecto./etc/codex/skills: skills gestionados por el administrador en máquinas compartidas.- Bundles del sistema que se distribuyen con el producto.
- Skills instalados:
$skill-installerdescarga los seleccionados; los plugins se distribuyen más allá de eso.
La ubicación del repositorio es la que cambia el comportamiento del equipo. Un skill en .agents/skills/ viaja junto con el código fuente: cada colaborador, cada ejecución de CI y cada clonación nueva recibe los mismos procedimientos sin configuración previa. Los contratos del proyecto, cómo se aplica el estilo a la UI y cómo se realizan los lanzamientos pertenecen allí, en lugar del directorio personal de alguien.
Activación: $ cuando lo sabe, descripciones cuando no
La invocación explícita es el caso sencillo: escriba $ en la CLI de Codex y seleccione el skill, y este se cargará independientemente de lo que diga su descripción. El caso interesante es el implícito: Codex mantiene disponibles el nombre y la descripción de cada skill, y carga el cuerpo completo cuando juzga que su solicitud coincide. Ese juicio solo puede ser tan bueno como la descripción, lo que convierte a la descripción en la interfaz real. "Use para cualquier componente, página o tarea de estilizado" ofrece al buscador verbos y situaciones a las que vincularse; "ayudante de diseño" no le ofrece nada.
Pruebe la ruta implícita, no la ruta de $
Invocar con $ demuestra que el cuerpo funciona. No dice nada sobre si el skill se activará alguna vez por sí solo. Pruebe formulando una solicitud natural ("añadir una página de ajustes") y compruebe si el skill se carga; si no es así, edite la descripción, no las instrucciones.
Skills vs AGENTS.md
Codex lee AGENTS.md en cada ejecución: son las órdenes permanentes del proyecto, comandos de compilación, convenciones, restricciones, y cada línea de este se procesa en cada solicitud. Los skills son el contrato opuesto: coste casi nulo mientras están inactivos, procedimientos completos cuando son relevantes. La división que funciona es: reglas cortas en AGENTS.md, procedimientos largos en skills y artefactos duraderos (archivos de tokens, DESIGN.md, esquemas) en el repositorio donde ambos puedan hacer referencia a ellos. La taxonomía completa de archivos, incluyendo dónde se ubican CLAUDE.md y DESIGN.md, se encuentra en CLAUDE.md vs AGENTS.md vs SKILL.md vs DESIGN.md.
El skill de diseño y por qué debe ser corto
El ejemplo de skill anterior tiene nueve líneas de instrucción, y esa es su fuerza. Todo lo que impone reside en un único artefacto: un DESIGN.md en la raíz del repositorio que contiene el sistema real, design tokens semánticos para modo claro y oscuro, la escala tipográfica, el espaciado, los motivos y las reglas de prohibición. Codex es un implementador fuerte pero sin memoria visual entre sesiones; el archivo es la memoria. Los skills llenos de adjetivos ("limpio, moderno, consistente") no sirven de nada, porque no hay nada contra lo que contrastar el trabajo. Un skill que apunta a un archivo con valores exactos convierte cada decisión de estilo en una consulta.
Ambient Sage
Live renderRendered from the kit's actual tokens, fonts, and treatments
Typography
Plus Jakarta Sans
Color system
28 semantic roles, light + dark
Agent outputs
DESIGN.md, CSS, Tailwind, shadcn
npx --yes identityforge@latest apply ambient-sageEl artefacto al que apunta su skill
Elija un kit, ejecute un comando y su repositorio tendrá el DESIGN.md, los tokens y las reglas que la skill impone. Codex dejará de redefinir su marca en cada sesión.
Un formato, tres herramientas
The SKILL.md convention grew into an open agent-skills standard: Claude Code discovers the same shape under .claude/skills/, and Cursor's Agent Skills load the same way next to its Rules. Discovery paths and invocation syntax differ per tool; the anatomy and the description-driven trigger do not. Write skills that reference artifacts in your repository rather than one tool's internals and they transfer almost verbatim; the Claude Code side of the same story is in Claude Code skills, explained.
¿Cómo creo una skill de Codex?
Cree una carpeta en .agents/skills/ (proyecto) o ~/.agents/skills/ (personal) que contenga un SKILL.md con frontmatter de name y description, seguido de instrucciones en Markdown. Añada scripts/, references/ o assets/ si las instrucciones lo requieren. Codex la detectará en su próximo escaneo; invóquela con $ o deje que la coincidencia de la descripción la active.
¿Cuál es la diferencia entre las skills de Codex y AGENTS.md?
AGENTS.md loads on every run and should hold short standing constraints. A skill loads only when triggered, so it holds longer procedures without a permanent context cost. Checklist you keep pasting into AGENTS.md? That is a skill.
¿Por qué mi skill de Codex no se activa por sí sola?
El activado implícito compara su solicitud con la descripción de la skill, por lo que una descripción vaga la hace inaccesible excepto mediante $. Reescriba la descripción para incluir situaciones y verbos concretos, y luego pruébela con una solicitud redactada de forma natural.
¿Funcionan las skills de Claude Code en Codex?
The format is the same, SKILL.md with name and description frontmatter, so the content transfers; the discovery folders differ (.claude/skills/ vs .agents/skills/). Skills that reference repo artifacts like DESIGN.md rather than tool-specific behavior port with a copy.
¿Puede una skill hacer que Codex siga mi sistema de diseño?
Yes, with the split shown above: a short skill that instructs Codex to read DESIGN.md and use only its tokens, and a real DESIGN.md in the repo carrying the system. Any Identity Forge kit exports that file, plus the matching CSS variables and Tailwind theme, with one CLI command.