Guide for creating and structuring skills with consistent formatting, clear documentation, and proper reference organization. Use when creating new skills or updating existing skill documentation.
This skill provides guidelines and templates for creating well-structured skills that follow consistent patterns in this repository while staying aligned with the current Codex skill guide. Skills should be clear, discoverable, and provide actionable guidance for developers.
When creating or updating a skill, this skill guides you to:
Start from the official minimum:
SKILL.md filename and descriptionApply this repo's preferred structure:
Create reference files that are:
references/filename.md)Organize component/system references in tables with:
[ComponentName](references/componentname.md)Add optional metadata when useful:
agents/openai.yaml for UI metadata in the Codex appinterface.display_name, short_description, icon_small, icon_large, and brand_colorinterface.default_prompt only when a starter prompt will improve skill discoverability or invocation claritypolicy or dependencies only when the skill genuinely needs themFollow consistent formatting:
Every SKILL.md must satisfy the official minimum format. In this repo, the preferred structure is the three-section layout below:
skill-name/
āāā SKILL.md
āāā agents/
ā āāā openai.yaml
āāā assets/
ā āāā logo.svg
āāā references/
āāā reference.md
---
name: skill-name
description: Brief description of what the skill does and when to use it.
---
# Skill Name
## Description and Goals
[Description of the skill, its purpose, and goals]
### Goals
- Goal 1
- Goal 2
- Goal 3
## What This Skill Should Do
[Clear explanation of what the skill accomplishes and how it should be used]
## Information About the Skill
### Core Concepts
[Important concepts and principles]
### Reference Tables
[Tables organizing references with clickable links and "When to Use" descriptions]
### Implementation Patterns
[Code examples and patterns]
### Pitfalls and Checks
[Common mistakes and things to watch for]
references/filename.md[ComponentName](references/componentname.md)Codex supports optional skill metadata in agents/openai.yaml. Use it when the skill benefits from a polished display name, icon, short description, brand color, invocation policy, or declared tool dependencies.
interface:
display_name: "Optional user-facing name"
short_description: "Optional user-facing description"
icon_small: "../assets/small-logo.svg"
icon_large: "../assets/large-logo.png"
brand_color: "#3B82F6"
default_prompt: "Optional surrounding prompt to use the skill with"
policy:
allow_implicit_invocation: false
dependencies:
tools:
- type: "mcp"
value: "openaiDeveloperDocs"
description: "OpenAI Docs MCP server"
transport: "streamable_http"
url: "https://developers.openai.com/mcp"
Use policy and dependencies only when they materially improve the skill. Do not add them by default just because the fields exist.
Reference tables should use this format:
| Component | When to Use |
|-----------|-------------|
| [`ComponentName`](references/componentname.md) | Clear description of when to use this component. |
{name}component.md (e.g., modelcomponent.md)system.md (consolidate all system info in one file)$skill-creator first when you want a starting point from the official Codex workflow