Skills, Plugins, and Automations
Explore how to extend OpenAI Codex with Skills, Plugins, and Automations that package repeatable workflows, connect external tools, and automate recurring tasks. Understand how to create and invoke skills, install plugins, and schedule automations to streamline development processes and reduce manual overhead.
Codex handles individual tasks well. Give it a prompt, and it reads the codebase, plans the work, writes the files, and reports back. That loop works for tasks we think of in the moment: fix this bug, add this endpoint, refactor this module.
But development work also includes workflows that do not change from run to run. Scanning for technical debt before a sprint. Generating a changelog before a release. Checking that every new file follows the project’s naming conventions. They are repeatable processes. Running them manually means writing the same multi-step prompt each time, hoping the phrasing stays consistent, and reviewing output that varies slightly depending on how we worded it that day.
The real cost is not the time spent on any single run. It is the compounding overhead of repeating the same prompt, the same review, the same manual invocation, week after week. Skills, Plugins, and Automations are the layer that eliminates this overhead.
A Skill packages a repeatable workflow so it can be invoked by name.
A Plugin bundles pre-built integrations so Codex can connect to external tools.
An Automation schedules a skill to run on a set cadence without any input from us.
Together, they turn Codex from a capable assistant into a persistent part of the development workflow.
What are Skills?
A Skill is a directory containing a SKILL.md file that teaches Codex how to perform a specific, repeatable workflow. Where AGENTS.md gives Codex rules that apply to every task, a skill packages a named, multi-step process that we invoke when we need it.
Skills are built around a concept called progressive disclosure. Codex loads only the skill’s metadata at startup, which allows it to discover all available skills without loading their full content into the context window. The full SKILL.md is read only when the skill is actually invoked, and any scripts it references are run only when explicitly called. This keeps context usage low regardless of how many skills exist in the project.
A well-defined skill is a reusable unit of work with a name, a precise description, ...