Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations.
Skills are modular packages that extend Codex's capabilities by providing specialized knowledge, workflows, and tools.
The context window is shared. Only add information Codex doesn't already have. Challenge each piece: "Does this justify its token cost?"
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter: name, description (required)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ # Executable code for deterministic tasks
├── references/ # Documentation loaded as needed
└── assets/ # Files used in output (templates, icons)
For design patterns, see:
references/workflows.md - Multi-step processes and conditional logicreferences/output-patterns.md - Template and example patternsGather concrete examples of how the skill will be used. Ask:
For each example, identify:
python scripts/init_skill.py <skill-name> --path <output-directory>
Frontmatter guidelines:
description is the primary triggering mechanismpython scripts/package_skill.py <path/to/skill-folder> [output-dir]
Validates and creates a distributable .skill file.
Use the skill on real tasks, notice struggles, update, and test again.