1# Save workflows as skills | Codex use cases1---
2 2name: Save workflows as skills
3Codex use cases3tagline: Create a skill Codex can keep on hand for work you repeat.
4 4summary: Turn a working Codex task, review rules, test commands, release
55 checklists, design conventions, writing examples, or repo-specific scripts
6 6 into a skill Codex can use in future tasks.
77skills:
8 8 - token: $skill-creator
9Codex use case9 url: https://github.com/openai/skills/tree/main/skills/.system/skill-creator
10 10 description: Gather information about the workflow, scaffold a skill, keep the
11# Save workflows as skills11 main instructions short, and validate the result.
12 12bestFor:
13Create a skill Codex can keep on hand for work you repeat.13 - Codified workflows you want Codex to use again.
14 14 - Teams that want a reusable skill instead of a long prompt pasted into every
15Difficulty **Easy**15 task.
16 16starterPrompt:
17Time horizon **5m**17 title: Create a Skill From My Context
18 18 body: >-
19Turn a working Codex thread, review rules, test commands, release checklists, design conventions, writing examples, or repo-specific scripts into a skill Codex can use in future threads.19 Use $skill-creator to create a Codex skill that [fixes failing Buildkite
20 20 checks on a GitHub PR / turns PR notes into inline review comments / writes
21## Best for21 our release notes from merged PRs]
22 22
23- Codified workflows you want Codex to use again.23
24- Teams that want a reusable skill instead of a long prompt pasted into every thread.24 Use these sources when creating the skill:
25 25
26# Contents26 - Working example: [say "use this task," link a merged PR, or paste a good
27 27 Codex answer]
28[← All use cases](https://developers.openai.com/codex/use-cases)28
29 29 - Source: [paste a Slack thread, PR review link, runbook URL, docs URL, or
30Copy page [Export as PDF](https://developers.openai.com/codex/use-cases/reusable-codex-skills/?export=pdf)30 ticket]
31 31
32Turn a working Codex thread, review rules, test commands, release checklists, design conventions, writing examples, or repo-specific scripts into a skill Codex can use in future threads.32 - Repo: [repo path, if this skill depends on one repo]
33 33
34Easy34 - Scripts or commands to reuse: [test command], [preview command],
35 35 [log-fetch script], [release command]
365m36
37 37 - Good output: [paste the Slack update, changelog entry, review comment,
38Related links38 ticket, or final answer you want future tasks to match]
39 39relatedLinks:
40[Agent skills](https://developers.openai.com/codex/skills)40 - label: Agent skills
41 41 url: /codex/build-skills
42## Best for42---
43
44- Codified workflows you want Codex to use again.
45- Teams that want a reusable skill instead of a long prompt pasted into every thread.
46
47## Skills & Plugins
48
49- [Skill Creator](https://github.com/openai/skills/tree/main/skills/.system/skill-creator)
50
51 Gather information about the workflow, scaffold a skill, keep the main instructions short, and validate the result.
52
53| Skill | Why use it |
54| --- | --- |
55| [Skill Creator](https://github.com/openai/skills/tree/main/skills/.system/skill-creator) | Gather information about the workflow, scaffold a skill, keep the main instructions short, and validate the result. |
56
57## Starter prompt
58
59Use $skill-creator to create a Codex skill that [fixes failing Buildkite checks on a GitHub PR / turns PR notes into inline review comments / writes our release notes from merged PRs]
60Use these sources when creating the skill:
61- Working example: [say "use this thread," link a merged PR, or paste a good Codex answer]
62- Source: [paste a Slack thread, PR review link, runbook URL, docs URL, or ticket]
63- Repo: [repo path, if this skill depends on one repo]
64- Scripts or commands to reuse: [test command], [preview command], [log-fetch script], [release command]
65- Good output: [paste the Slack update, changelog entry, review comment, ticket, or final answer you want future threads to match]
66
67Open in the Codex app
68
69Use $skill-creator to create a Codex skill that [fixes failing Buildkite checks on a GitHub PR / turns PR notes into inline review comments / writes our release notes from merged PRs]
70Use these sources when creating the skill:
71- Working example: [say "use this thread," link a merged PR, or paste a good Codex answer]
72- Source: [paste a Slack thread, PR review link, runbook URL, docs URL, or ticket]
73- Repo: [repo path, if this skill depends on one repo]
74- Scripts or commands to reuse: [test command], [preview command], [log-fetch script], [release command]
75- Good output: [paste the Slack update, changelog entry, review comment, ticket, or final answer you want future threads to match]
76 43
77## Create a skill Codex can keep on hand44## Create a skill Codex can keep on hand
78 45
79Use skills to give Codex reusable instructions, resources, and scripts for work you repeat. A [skill](https://developers.openai.com/codex/skills) can preserve the thread, doc, command, or example that made Codex useful the first time.46Use skills to give Codex reusable instructions, resources, and scripts for work you repeat. A [skill](https://developers.openai.com/codex/build-skills) can preserve the task, doc, command, or example that made Codex useful the first time.
80 47
81Start with one working example: a Codex thread that cherry-picked a PR, a release checklist from Notion, a set of useful PR comments, or a Slack thread explaining a launch process.48Start with one working example: a Codex task that cherry-picked a PR, a release checklist from Notion, a set of useful PR comments, or a Slack thread explaining a launch process.
82 49
83## How to use50## How to use
84 51
52
53
851. Add the context you want Codex to use.541. Add the context you want Codex to use.
86 55
87 Stay in the Codex thread you want to preserve, paste the Slack thread or docs link, and add the rule, command, or example Codex should remember.56 Stay in the Codex task you want to preserve, paste the Slack thread or docs link, and add the rule, command, or example Codex should remember.
57
882. Run the starter prompt.582. Run the starter prompt.
89 59
90 The prompt names the skill you want, then gives `$skill-creator` the thread, doc, PR, command, or output to preserve.60 The prompt names the skill you want, then gives `$skill-creator` the task, doc, PR, command, or output to preserve.
61
913. Let Codex create and validate the skill.623. Let Codex create and validate the skill.
92 63
93 The result should define the `$skill-name`, describe when it should trigger, and keep reusable instructions in the right place.64 The result should define the `$skill-name`, describe when it should trigger, and keep reusable instructions in the right place.
94 65
95 Skills in `~/.codex/skills` are available from any repo. Skills in the current repo can be committed so teammates can use them too.66 Skills in `~/.codex/skills` are available from any repo. Skills in the current repo can be committed so teammates can use them too.
964. Use the skill, then update it from the thread.67
684. Use the skill, then update it from the task.
97 69
98 Invoke the new `$skill-name` on the next PR, alert, review, release note, or design task. If it uses the wrong test command, misses a review rule, skips a runbook step, or writes a draft you would not send, ask Codex to add that correction to the skill.70 Invoke the new `$skill-name` on the next PR, alert, review, release note, or design task. If it uses the wrong test command, misses a review rule, skips a runbook step, or writes a draft you would not send, ask Codex to add that correction to the skill.
99 71
102Give `$skill-creator` the material that explains how the skill should work.76Give `$skill-creator` the material that explains how the skill should work.
103 77
104| What you have | What to add |78| What you have | What to add |
105| --- | --- |79| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
106| **A workflow from a Codex thread that you want to preserve** | Stay in that thread and say `use this thread`. Codex can use the conversation, commands, edits, and feedback from that thread as the starting point. |80| **A workflow from a Codex task that you want to preserve** | Stay in that task and say `use this task`. Codex can use the task context, commands, edits, and feedback as the starting point. |
107| **Docs or a runbook** | Paste the release checklist, link the incident-response runbook, attach the API PDF, or point Codex at the markdown guide in your repo. |81| **Docs or a runbook** | Paste the release checklist, link the incident-response runbook, attach the API PDF, or point Codex at the markdown guide in your repo. |
108| **Team conversation** | Paste the Slack thread where someone explained an alert, link the PR review with frontend rules, or attach the support conversation that explains the customer problem. |82| **Team conversation** | Paste the Slack thread where someone explained an alert, link the PR review with frontend rules, or attach the support conversation that explains the customer problem. |
109| **Scripts or commands the skill should reuse** | Add the test command, preview command, release script, log-fetch script, or local helper command you want future Codex threads to run. |83| **Scripts or commands the skill should reuse** | Add the test command, preview command, release script, log-fetch script, or local helper command you want future Codex tasks to run. |
110| **A good result** | Add the merged PR, final changelog entry, accepted launch note, resolved ticket, before/after screenshot, or final Codex answer you want future threads to match. |84| **A good result** | Add the merged PR, final changelog entry, accepted launch note, resolved ticket, before/after screenshot, or final Codex answer you want future tasks to match. |
111 85
112If the source is in Slack, Linear, GitHub, Notion, or Sentry, connect that tool in Codex with a [plugin](https://developers.openai.com/codex/plugins), mention it in the starter prompt, or paste the relevant part into the thread.86If the source is in Slack, Linear, GitHub, Notion, or Sentry, connect that tool in Codex with a [plugin](https://developers.openai.com/codex/plugins), mention it in the starter prompt, or paste the relevant part into the task.
113 87
114## What Codex creates88## What Codex creates
115 89
116Most skills start as a `SKILL.md` file. `$skill-creator` can add longer references, scripts, or assets when the workflow needs them.90Most skills start as a `SKILL.md` file. `$skill-creator` can add longer references, scripts, or assets when the workflow needs them.
117 91
118- my-skill/
119
120 - SKILL.md Required: instructions and metadata
121 - references/ Optional: longer docs
122 - scripts/ Optional: repeatable commands
123 - assets/ Optional: templates and starter files
124
125## Skills you could create92## Skills you could create
126 93
127Use the same pattern when future threads should read the same runbook, run the same CLI, follow the same review rubric, write the same team update, or QA the same browser flow. For example:94Use the same pattern when future tasks should read the same runbook, run the same CLI, follow the same review rubric, write the same team update, or QA the same browser flow. For example:
128 95
129- **`$buildkite-fix-ci`** downloads failed job logs, diagnoses the error, and proposes the smallest code fix.96- **`$buildkite-fix-ci`** downloads failed job logs, diagnoses the error, and proposes the smallest code fix.
130- **`$fix-merge-conflicts`** checks out a GitHub PR, updates it against the base branch, resolves conflicts, and returns the exact push command.97- **`$fix-merge-conflicts`** checks out a GitHub PR, updates it against the base branch, resolves conflicts, and returns the exact push command.
131- **`$frontend-skill`** keeps Codex close to your UI taste, existing components, screenshot QA loop, asset choices, and browser polish pass.98- **`$frontend-skill`** keeps Codex close to your UI taste, existing components, screenshot QA loop, asset choices, and browser polish pass.
132- **`$pr-review-comments`** turns review notes into concise inline comments with the right tone and GitHub links.99- **`$pr-review-comments`** turns review notes into concise inline comments with the right tone and GitHub links.
133- **`$web-game-prototyper`** scopes the first playable loop, chooses assets, tunes game feel, captures screenshots, and polishes in the browser.100- **`$web-game-prototyper`** scopes the first playable loop, chooses assets, tunes game feel, captures screenshots, and polishes in the browser.
134
135## Related use cases
136
137[
138
139### Follow a goal
140
141Use `/goal` when a task needs Codex to keep working across turns toward a verifiable...
142
143Engineering Automation](https://developers.openai.com/codex/use-cases/follow-goals)[
144
145### Audit dependency incidents
146
147Use Codex to turn a public package or supply chain advisory into a read-only audit, then...
148
149Engineering Quality](https://developers.openai.com/codex/use-cases/dependency-incident-audits)[
150
151### Create a CLI Codex can use
152
153Ask Codex to create a composable CLI it can run from any folder, combine with repo scripts...
154
155Engineering Code](https://developers.openai.com/codex/use-cases/agent-friendly-clis)
156