The Skill Creator is the system skill you reach for whenever you want to extend Codex with a new capability. It walks you through every stage of skill development — clarifying what the skill should do, planning reusable resources, initializing the folder structure, writingDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/openai/skills/llms.txt
Use this file to discover all available pages before exploring further.
SKILL.md, and validating the result — so you end up with a well-structured, token-efficient skill that another Codex instance can reliably trigger and use. It also handles updates to existing skills, including regenerating stale agents/openai.yaml metadata.
The Skill Creator is a system skill — it is pre-installed in every Codex environment and cannot be removed by users.
What skills are
Skills are modular, self-contained folders that extend Codex with specialized knowledge, workflows, and tools. Think of them as onboarding guides for a specific domain — they give Codex the procedural knowledge, reference material, and executable scripts it needs to handle a task reliably, without that knowledge needing to live in the base model.Specialized workflows
Multi-step procedures for specific domains (PDF processing, image editing, database queries, etc.)
Tool integrations
Instructions for working with specific file formats, CLIs, or external APIs
Domain expertise
Company-specific schemas, business logic, and policies bundled as references
Bundled resources
Scripts, reference docs, and asset templates for complex or repetitive tasks
Anatomy of a skill
- Frontmatter —
nameanddescriptionfields. This is how Codex decides when to trigger the skill, so the description must be comprehensive about both what the skill does and when to use it. - Body — instructions loaded only after the skill triggers.
The 6-step creation workflow
Understand the skill with concrete examples
Clarify what the skill should handle. Ask about specific user requests it should respond to (“What would a user say to trigger this skill?”) and validate a few example scenarios before planning anything. Skip only when the usage patterns are already fully understood.
Plan the reusable skill contents
For each concrete example, identify what scripts, references, and assets would make the workflow more reliable and token-efficient across repeated runs. A
pdf-editor skill that keeps rewriting rotation code benefits from scripts/rotate_pdf.py; a bigquery skill benefits from references/schema.md.Initialize the skill
Run
init_skill.py to scaffold the folder, generate SKILL.md with proper frontmatter and TODO placeholders, and create agents/openai.yaml with UI metadata. Skip this step only if the skill already exists.Edit the skill
Start with the reusable resources (
scripts/, references/, assets/), then write SKILL.md. Test any added scripts by actually running them. Use imperative/infinitive form in all instructions. Remember: you are writing for another Codex instance, not a human.Validate the skill
Run
quick_validate.py to catch frontmatter format errors, missing required fields, and naming rule violations.Bundled scripts
scripts/init_skill.py — scaffold a new skill
SKILL.md with frontmatter and TODO markers, and writes agents/openai.yaml with the provided interface values. If you pass --examples, replace or delete any placeholder files before shipping.
scripts/generate_openai_yaml.py — regenerate UI metadata
Use this to create or update agents/openai.yaml for an existing skill when the metadata is stale or was never generated:
scripts/quick_validate.py — validate a skill folder
name, description), and naming rules. Fix any reported issues and re-run until validation passes.
Naming rules
- Lowercase letters, digits, and hyphens only:
my-skill, notMySkillormy_skill - Maximum 64 characters
- Prefer short, verb-led phrases:
rotate-pdf,gh-address-comments - The skill folder name must exactly match the
namefield in frontmatter - Namespace by tool when it improves triggering clarity:
linear-address-issue,gh-open-pr
Core design principles
Concise is key
The context window is shared with the system prompt, conversation history, other skill metadata, and the user’s actual request. Only add context Codex doesn’t already have. Challenge every paragraph: “Does this justify its token cost?”Progressive disclosure
Skills use a three-level loading system:| Level | What’s loaded | Size target |
|---|---|---|
Metadata (name + description) | Always in context | ~100 words |
SKILL.md body | When skill triggers | Under 500 lines |
| Bundled resources | As needed, on demand | Unlimited |
Degrees of freedom
Match instruction specificity to the task’s fragility:- High freedom (prose) — multiple valid approaches, heuristics guide the path
- Medium freedom (pseudocode/parameterized scripts) — preferred pattern, some variation allowed
- Low freedom (specific scripts, few parameters) — fragile operations where consistency is critical
What not to include
Never add files that exist to explain the skill’s development process rather than to help an AI execute a task:README.mdINSTALLATION_GUIDE.mdQUICK_REFERENCE.mdCHANGELOG.md