# Codex Features and Practical Usage
🧩 Tired of re-explaining the same workflow to Codex every time? Agent Skills let you package a reusable playbook once, and Codex loads it only when it is actually needed.
🏷️ Title: Agent Skills (SKILL.md)
🔗 URL:
📘 Overview
Agent Skills package routine workflows into a single `SKILL.md` file you can reuse. Only a skill's name and description sit in Codex's context at all times; the full body loads when Codex decides to invoke it. You scope skills by where you place them: repository-wide, personal, or machine-level.
⚙️ How It Works
・A skill is a folder with `SKILL.md` (required) plus optional `scripts/` (executable code), `references/` (docs), `assets/` (templates), and `agents/openai.yaml` (UI config).
・`SKILL.md` opens with frontmatter containing `name` and `description`. A good description states clearly when the skill triggers and what its boundaries are.
・Codex scans several locations in priority order: the repo's `.agents/skills`, `$REPO_ROOT/.agents/skills`, your personal `$HOME/.agents/skills`, the admin path `/etc/codex/skills`, and OpenAI's bundled built-in skills.
・Progressive disclosure keeps only names, descriptions, and paths in the initial context (capped around 8,000 characters). The full body loads on invocation, so many installed skills won't bloat the prompt.
🛠️ Practical Usage
・The easiest way to author one is the built-in `$skill-creator`. It walks you through what the skill does, when it triggers, and whether to bundle scripts (instruction-only is the default).
・Invoke explicitly with `/skills` in the CLI/IDE, or mention a skill by name like `$skill-name`. Codex also selects skills implicitly when your task matches the description.
・To forbid implicit selection for a skill, set `policy.allow_implicit_invocation` to `false` in `agents/openai.yaml`.
・To disable a skill without deleting it, add a `[[skills.config]]` entry with its `path` and `enabled = false` in `~/.codex/config.toml`.
💡 Use Cases
Encode error-prone, brittle routines such as release procedures, how to run the E2E suite, or the correct way to use an internal library. Anyone on the team then gets consistent results from Codex. Put shared workflows under the repo and personal habits under `$HOME/.agents/skills` for a clean split.
⚠️ Caveats
・Duplicate skill names across locations are not merged; both appear in the selector, so keep names unique.
・A vague description breaks implicit matching. Front-load key use cases and be concrete.
・With many skills installed, descriptions may be shortened to save context. If changes don't show up, restart Codex.
#
OpenAICodex# #
AgentSkills#