skills.md +51 −18
2 2
3Use agent skills to extend Codex with task-specific capabilities. A skill packages instructions, resources, and optional scripts so Codex can follow a workflow reliably. Skills build on the [open agent skills standard](https://agentskills.io).3Use agent skills to extend Codex with task-specific capabilities. A skill packages instructions, resources, and optional scripts so Codex can follow a workflow reliably. Skills build on the [open agent skills standard](https://agentskills.io).
4 4
55Skills are the authoring format for reusable workflows. Plugins are the installable distribution unit for reusable skills and apps in Codex. Use skills to design the workflow itself, then package it as a [plugin](https://developers.openai.com/codex/plugins) when you want other developers to install it.Skills are the authoring format for reusable workflows. Plugins are the installable distribution unit for reusable skills and apps in Codex. Use skills to design the workflow itself, then package it as a [plugin](https://developers.openai.com/codex/plugins/build) when you want other developers to install it.
6 6
7Skills are available in the Codex CLI, IDE extension, and Codex app.7Skills are available in the Codex CLI, IDE extension, and Codex app.
8 8
99Skills use **progressive disclosure** to manage context efficiently: Codex starts with each skill’s metadata (`name`, `description`, file path, and optional metadata from `agents/openai.yaml`). Codex loads the full `SKILL.md` instructions only when it decides to use a skill.Skills use **progressive disclosure** to manage context efficiently: Codex starts with each skill's name, description, and file path. Codex loads the full `SKILL.md` instructions only when it decides to use a skill.
10 10
1111A skill is a directory with a `SKILL.md` file plus optional scripts and references. The `SKILL.md` file must include `name` and `description`.Codex includes an initial list of available skills in context so it can choose the right skill for a task. To avoid crowding out the rest of the prompt, this list is capped at roughly 2% of the model’s context window, or 8,000 characters when the context window is unknown. If many skills are installed, Codex shortens skill descriptions first. For very large skill sets, some skills may be omitted from the initial list, and Codex will show a warning.
12 12
1313- my-skill/This budget applies only to the initial skills list. When Codex selects a skill, it still reads the full SKILL.md instructions for that skill.
14 14
1515 - SKILL.md Required: instructions + metadataA skill is a directory with a `SKILL.md` file plus optional scripts and references. The `SKILL.md` file must include `name` and `description`.
16 - scripts/ Optional: executable code
17 - references/ Optional: documentation
18 - assets/ Optional: templates, resources
19 - agents/
20 16
2117 - openai.yaml Optional: appearance and dependencies<FileTree
18 class="mt-4"
19 tree={[
20 {
21 name: "my-skill/",
22 open: true,
23 children: [
24 {
25 name: "SKILL.md",
26 comment: "Required: instructions + metadata",
27 },
28 {
29 name: "scripts/",
30 comment: "Optional: executable code",
31 },
32 {
33 name: "references/",
34 comment: "Optional: documentation",
35 },
36 {
37 name: "assets/",
38 comment: "Optional: templates, resources",
39 },
40 {
41 name: "agents/",
42 open: true,
43 children: [
44 {
45 name: "openai.yaml",
46 comment: "Optional: appearance and dependencies",
47 },
48 ],
49 },
50 ],
51 },
52
53]}
54/>
22 55
23## How Codex uses skills56## How Codex uses skills
24 57
271. **Explicit invocation:** Include the skill directly in your prompt. In CLI/IDE, run `/skills` or type `$` to mention a skill.601. **Explicit invocation:** Include the skill directly in your prompt. In CLI/IDE, run `/skills` or type `$` to mention a skill.
282. **Implicit invocation:** Codex can choose a skill when your task matches the skill `description`.612. **Implicit invocation:** Codex can choose a skill when your task matches the skill `description`.
29 62
3063Because implicit matching depends on `description`, write descriptions with clear scope and boundaries.Because implicit matching depends on `description`, write concise descriptions with clear scope and boundaries. Front-load the key use case and trigger words so Codex can still match the skill if descriptions are shortened.
31 64
32## Create a skill65## Create a skill
33 66
58 91
59| Skill Scope | Location | Suggested use |92| Skill Scope | Location | Suggested use |
60| :---------- | :-------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |93| :---------- | :-------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
6194| `REPO` | `$CWD/.agents/skills` Current working directory: where you launch Codex. | If you’re in a repository or code environment, teams can check in skills relevant to a working folder. For example, skills only relevant to a microservice or a module. || `REPO` | `$CWD/.agents/skills` <br /> Current working directory: where you launch Codex. | If you're in a repository or code environment, teams can check in skills relevant to a working folder. For example, skills only relevant to a microservice or a module. |
6295| `REPO` | `$CWD/../.agents/skills` A folder above CWD when you launch Codex inside a Git repository. | If you’re in a repository with nested folders, organizations can check in skills relevant to a shared area in a parent folder. || `REPO` | `$CWD/../.agents/skills` <br /> A folder above CWD when you launch Codex inside a Git repository. | If you're in a repository with nested folders, organizations can check in skills relevant to a shared area in a parent folder. |
6396| `REPO` | `$REPO_ROOT/.agents/skills` The topmost root folder when you launch Codex inside a Git repository. | If you’re in a repository with nested folders, organizations can check in skills relevant to everyone using the repository. These serve as root skills available to any subfolder in the repository. || `REPO` | `$REPO_ROOT/.agents/skills` <br /> The topmost root folder when you launch Codex inside a Git repository. | If you're in a repository with nested folders, organizations can check in skills relevant to everyone using the repository. These serve as root skills available to any subfolder in the repository. |
6497| `USER` | `$HOME/.agents/skills` Any skills checked into the user’s personal folder. | Use to curate skills relevant to a user that apply to any repository the user may work in. || `USER` | `$HOME/.agents/skills` <br /> Any skills checked into the user's personal folder. | Use to curate skills relevant to a user that apply to any repository the user may work in. |
6598| `ADMIN` | `/etc/codex/skills` Any skills checked into the machine or container in a shared, system location. | Use for SDK scripts, automation, and for checking in default admin skills available to each user on the machine. || `ADMIN` | `/etc/codex/skills` <br /> Any skills checked into the machine or container in a shared, system location. | Use for SDK scripts, automation, and for checking in default admin skills available to each user on the machine. |
66| `SYSTEM` | Bundled with Codex by OpenAI. | Useful skills relevant to a broad audience such as the skill-creator and plan skills. Available to everyone when they start Codex. |99| `SYSTEM` | Bundled with Codex by OpenAI. | Useful skills relevant to a broad audience such as the skill-creator and plan skills. Available to everyone when they start Codex. |
67 100
68Codex supports symlinked skill folders and follows the symlink target when scanning these locations.101Codex supports symlinked skill folders and follows the symlink target when scanning these locations.
69 102
70These locations are for authoring and local discovery. When you want to103These locations are for authoring and local discovery. When you want to
71distribute reusable skills beyond a single repo, or optionally bundle them with104distribute reusable skills beyond a single repo, or optionally bundle them with
72105app integrations, use [plugins](https://developers.openai.com/codex/plugins).app integrations, use [plugins](https://developers.openai.com/codex/plugins/build).
73 106
74## Distribute skills with plugins107## Distribute skills with plugins
75 108
76Direct skill folders are best for local authoring and repo-scoped workflows. If109Direct skill folders are best for local authoring and repo-scoped workflows. If
77you want to distribute a reusable skill, bundle two or more skills together, or110you want to distribute a reusable skill, bundle two or more skills together, or
78ship a skill alongside an app integration, package them as a111ship a skill alongside an app integration, package them as a
79112[plugin](https://developers.openai.com/codex/plugins).[plugin](https://developers.openai.com/codex/plugins/build).
80 113
81Plugins can include one or more skills. They can also optionally bundle app114Plugins can include one or more skills. They can also optionally bundle app
82mappings, MCP server configuration, and presentation assets in a single115mappings, MCP server configuration, and presentation assets in a single