Where does Codex look for skills?
The format matches Claude Code and the Agent Skills standard: a folder with a SKILL.md that has name and description. The paths differ.
.agents/skills in the current directory and every parent up to the repo rootUser$HOME/.agents/skillsAdmin/etc/codex/skillsSystembundled with Codex by OpenAIThe old ~/.codex/skills path is not in the current docs. Cursor still reads it for compatibility, but for Codex use .agents/skills. Cursor, Copilot, Gemini CLI, OpenCode and Zed read that path too, so one folder serves several agents.
Installing with $skill-installer
Codex ships with an installer skill. Type this in the chat:
$skill-installer linear
It installs curated skills and can pull from other repositories. Codex detects new skills automatically; if one does not show up, the docs say to restart Codex.
Installing with npx skills add
The vercel-labs/skills installer knows Codex by the id codex:
npx skills add OWNER/REPO -a codex npx skills add OWNER/REPO --skill skill-name -a codex -g
Without -g the skill lands in the project .agents/skills/; with -g in ~/.agents/skills/. It needs Node.js 22.20 or later. The same skill installs into Claude Code with -a claude-code, which helps when a team uses more than one agent.
Read SKILL.md and the bundled scripts before installing a stranger's skill. It runs with the agent's permissions, and GitHub warns in its skills docs that skills are not verified and may carry prompt injection. Look hardest at anything that calls the network or reads files outside the project.
How do you use skills in Codex?
- Explicitly. In the CLI or IDE extension, run
/skillsor type$followed by the skill name. - Implicitly. Codex picks a skill when the task matches its description.
Only the skill list sits in context at first. It gets at most 2 % of the context window, or 8,000 characters when the window size is unknown. The skills.max_context_tokens setting raises the ceiling to 10,000 tokens. When space runs out, Codex shortens descriptions, and a skill with a long description may stop triggering on its own.
You can add agents/openai.yaml next to SKILL.md for UI metadata, tool dependencies and policy.allow_implicit_invocation, which turns implicit invocation on or off.
openai/skills is deprecated: what replaced it
The openai/skills repo (28,281 stars on 24 October 2026; 44 SKILL.md files, 39 curated and 5 system) says in its README that it is deprecated. The replacement is openai/plugins. The old skills still load; just do not expect new ones there.
Some skills in openai/skills are not openly licensed: eight fall under the Figma Developer Terms and four belong to Notion. Check the LICENSE.txt in each skill folder before copying it into your own repo.
Codex plugins bundle skills, MCP servers and hooks into one package. In the CLI, /plugins opens a browser of plugins from your configured marketplaces. Start a new session after installing so the plugin skills load.
Custom prompts are on the way out
Codex used to keep reusable requests as custom prompts in ~/.codex/prompts/*.md, called with /prompts:name. The docs now mark them deprecated and point to skills. Moving one over is simple: the prompt becomes the body of a SKILL.md, plus frontmatter with name and description.
For skills we have checked for license and description, see best Codex skills. Choosing an agent? Read Claude Code vs Codex.