OpenAI Codex Goals Best Practices
Reference for writing and managing Codex Goals — the persistent objective feature introduced in Codex 0.128.0. "Best practices" here means the patterns and anti-patterns that determine whether a Goal completes against the right evidence vs. silently against the wrong surface. Contains 31 rules across 8 categories, ordered by how much they affect whether a Goal completes correctly. Derived from the official OpenAI cookbook article "Using Goals in Codex".
When to Apply
Reference these guidelines when:
- Deciding whether a task warrants a
/goal or a normal prompt
- Drafting or strengthening a
/goal invocation
- Reviewing a Goal someone else wrote before activating it
- Debugging a Goal that completed against the wrong verification surface
- Setting up a research Goal where exact proof may not be available
- Managing Goal lifecycle (pause, resume, clear) across thread sessions
- Writing the iteration policy or blocked stop condition for a long-running Goal
- Diagnosing a Goal that hit its budget without completing
Rule Categories by Priority
| Priority |
Category |
Impact (worst rule) |
Prefix |
| 1 |
Goal Fit Decisions |
CRITICAL |
fit- |
| 2 |
Outcome Definition |
CRITICAL / HIGH |
outcome- |
| 3 |
Verification Surface |
CRITICAL / HIGH |
verify- |
| 4 |
Boundaries & Iteration |
HIGH |
bound- |
| 5 |
Lifecycle Commands |
HIGH |
life- |
| 6 |
Evidence-Based Completion |
HIGH |
evidence- |
| 7 |
Crafting Strong Goals |
MEDIUM |
craft- |
| 8 |
Research Goals & Anti-Patterns |
MEDIUM |
research- |
Individual rule impacts are listed inline in the per-rule frontmatter.
Quick Reference
1. Goal Fit Decisions (CRITICAL)
fit-when-to-use — Use a Goal When the Finish Line Is Clear but the Path Is Uncertain
fit-three-required-properties — Require Three Properties Before Setting a Goal — Durable Objective, Evidence Finish Line, Multi-Turn Path
fit-prompt-vs-goal — Choose a Prompt for Single-Turn Work, a Goal for Outcome-Driven Continuation
fit-skip-for-vague-targets — Skip a Goal When the Finish Line Is Vague
2. Outcome Definition (CRITICAL)
outcome-measurable-end-state — State the Outcome as a Measurable End State, Not an Activity
outcome-quantify-thresholds — Pin Thresholds with Numbers, Not Relative Comparatives
outcome-narrow-but-discoverable — Make the Outcome Narrow Enough to Audit, Broad Enough to Allow Discovery
outcome-name-the-artifact — For Generated Artifacts, Name the Artifact and Its Validity Conditions
3. Verification Surface (CRITICAL)
verify-name-the-surface — Always Name the Verification Surface Inside the Goal
verify-include-constraints — Include Constraints That Must Not Regress Alongside the Primary Metric
verify-multiple-checks-when-needed — Use Multiple Verification Surfaces When a Single Check Is Insufficient
verify-surface-must-be-runnable — The Verification Surface Must Be Something Codex Can Actually Run or Inspect
4. Boundaries & Iteration (HIGH)
bound-tools-and-files — Bound the Files, Tools, and Repositories Codex May Use
bound-iteration-policy — Define an Iteration Policy — How Codex Chooses the Next Experiment Between Turns
bound-blocked-stop-condition — Define a Blocked Stop Condition — What to Report When No Defensible Path Remains
bound-respect-budget — Treat the Budget Limit as Halt-and-Summarize, Not Extend
5. Lifecycle Commands (HIGH)
life-set-with-slash-goal — Set a Goal with /goal <text> — Available from Codex 0.128.0
life-pause-during-detours — Pause the Goal Before Unrelated Detours, Resume When Returning
life-clear-stale-goals — Clear Stale Goals on Resumed Threads
life-inspect-with-slash-goal — Use Bare /goal to Inspect Current Objective and State Before Continuation
6. Evidence-Based Completion (HIGH)
evidence-audit-before-completion — Audit the Objective Against Concrete Evidence Before Marking a Goal Complete
evidence-budget-is-not-completion — Reaching the Budget Limit Is Not the Same as Completing the Objective
evidence-honest-blockers — Surface Blockers Explicitly — Never Substitute a Proxy for the Asked Claim
7. Crafting Strong Goals (MEDIUM)
craft-six-components — Define Six Components in Every Strong Goal — Outcome, Verification, Constraints, Boundaries, Iteration Policy, Blocked Stop
craft-template-pattern — Use the Canonical "verified by … while preserving … Use … Between iterations … If blocked …" Pattern
craft-let-codex-draft-it — Ask Codex to Draft the Goal from a Plain-Language Description, Then Tighten
craft-strengthen-weak-goals — Strengthen a Weak Goal by Naming the End State, Verification Surface, and Constraints
8. Research Goals & Anti-Patterns (MEDIUM)
research-define-evidence-standard-first — For Research Goals, Define the Evidence Standard Before Investigation Begins
research-build-claim-inventory — Decompose Research Goals into a Claim Inventory Mapped to Evidence Channels
research-preserve-epistemic-ledger — Final Report Must Preserve Epistemic Levels Per Claim — Use a Structured Ledger Entry
research-anti-patterns — Avoid the Three Common Goal Anti-Patterns — Keep-Going Wishes, Hidden Uncertainty, Overclaim on Proxy
How to Use
Read individual reference files for detailed explanations and worked examples comparing weak vs strong Goal text:
- Section definitions — Category structure and impact levels
- Rule template — Template for adding new rules
Each rule file contains:
- A 2-4 sentence explanation of WHY the rule matters
- An "Incorrect" example of a weak Goal or anti-pattern
- A "Correct" example showing how to strengthen it
- Reference back to the cookbook section it derives from
Reference Files
| File |
Description |
| AGENTS.md |
Compiled TOC built by build-agents-md.js |
| references/_sections.md |
Category definitions and impact ordering |
| assets/templates/_template.md |
Template for new rules |
| metadata.json |
Version and reference information |
| gotchas.md |
Failure points discovered through use |
1---2name: codex-goals3description: Patterns and anti-patterns for using OpenAI Codex Goals — the persistent objectives feature introduced in Codex 0.128.0. Use this skill whenever writing, reviewing, or debugging a `/goal` invocation, deciding whether a task should be a Goal at all, drafting a research Goal that needs an evidence ledger, or diagnosing a Goal that completed against the wrong surface. Triggers on `/goal`, "Codex Goal", "Codex goals", "persistent objective", "evidence-based completion", "iteration policy", "blocked stop condition", or any user message describing a multi-turn Codex task with a defined finish line. Trigger even if the user doesn't explicitly mention Goals — if they're typing "/goal" or asking Codex to "keep going until X", this skill applies.4---5
6# OpenAI Codex Goals Best Practices
7
8Reference for writing and managing Codex Goals — the persistent objective feature introduced in Codex 0.128.0. "Best practices" here means the patterns and anti-patterns that determine whether a Goal completes against the right evidence vs. silently against the wrong surface. Contains 31 rules across 8 categories, ordered by how much they affect whether a Goal completes correctly. Derived from the official OpenAI cookbook article ["Using Goals in Codex"](https://developers.openai.com/cookbook/examples/codex/using_goals_in_codex).
9
10## When to Apply
11
12Reference these guidelines when:
13- Deciding whether a task warrants a `/goal` or a normal prompt
14- Drafting or strengthening a `/goal` invocation
15- Reviewing a Goal someone else wrote before activating it
16- Debugging a Goal that completed against the wrong verification surface
17- Setting up a research Goal where exact proof may not be available
18- Managing Goal lifecycle (pause, resume, clear) across thread sessions
19- Writing the iteration policy or blocked stop condition for a long-running Goal
20- Diagnosing a Goal that hit its budget without completing
21
22## Rule Categories by Priority
23
24| Priority | Category | Impact (worst rule) | Prefix |
25|----------|----------|--------|--------|
26| 1 | Goal Fit Decisions | CRITICAL | `fit-` |
27| 2 | Outcome Definition | CRITICAL / HIGH | `outcome-` |
28| 3 | Verification Surface | CRITICAL / HIGH | `verify-` |
29| 4 | Boundaries & Iteration | HIGH | `bound-` |
30| 5 | Lifecycle Commands | HIGH | `life-` |
31| 6 | Evidence-Based Completion | HIGH | `evidence-` |
32| 7 | Crafting Strong Goals | MEDIUM | `craft-` |
33| 8 | Research Goals & Anti-Patterns | MEDIUM | `research-` |
34
35Individual rule impacts are listed inline in the per-rule frontmatter.
36
37## Quick Reference
38
39### 1. Goal Fit Decisions (CRITICAL)
40
41- [`fit-when-to-use`](references/fit-when-to-use.md) — Use a Goal When the Finish Line Is Clear but the Path Is Uncertain
42- [`fit-three-required-properties`](references/fit-three-required-properties.md) — Require Three Properties Before Setting a Goal — Durable Objective, Evidence Finish Line, Multi-Turn Path
43- [`fit-prompt-vs-goal`](references/fit-prompt-vs-goal.md) — Choose a Prompt for Single-Turn Work, a Goal for Outcome-Driven Continuation
44- [`fit-skip-for-vague-targets`](references/fit-skip-for-vague-targets.md) — Skip a Goal When the Finish Line Is Vague
45
46### 2. Outcome Definition (CRITICAL)
47
48- [`outcome-measurable-end-state`](references/outcome-measurable-end-state.md) — State the Outcome as a Measurable End State, Not an Activity
49- [`outcome-quantify-thresholds`](references/outcome-quantify-thresholds.md) — Pin Thresholds with Numbers, Not Relative Comparatives
50- [`outcome-narrow-but-discoverable`](references/outcome-narrow-but-discoverable.md) — Make the Outcome Narrow Enough to Audit, Broad Enough to Allow Discovery
51- [`outcome-name-the-artifact`](references/outcome-name-the-artifact.md) — For Generated Artifacts, Name the Artifact and Its Validity Conditions
52
53### 3. Verification Surface (CRITICAL)
54
55- [`verify-name-the-surface`](references/verify-name-the-surface.md) — Always Name the Verification Surface Inside the Goal
56- [`verify-include-constraints`](references/verify-include-constraints.md) — Include Constraints That Must Not Regress Alongside the Primary Metric
57- [`verify-multiple-checks-when-needed`](references/verify-multiple-checks-when-needed.md) — Use Multiple Verification Surfaces When a Single Check Is Insufficient
58- [`verify-surface-must-be-runnable`](references/verify-surface-must-be-runnable.md) — The Verification Surface Must Be Something Codex Can Actually Run or Inspect
59
60### 4. Boundaries & Iteration (HIGH)
61
62- [`bound-tools-and-files`](references/bound-tools-and-files.md) — Bound the Files, Tools, and Repositories Codex May Use
63- [`bound-iteration-policy`](references/bound-iteration-policy.md) — Define an Iteration Policy — How Codex Chooses the Next Experiment Between Turns
64- [`bound-blocked-stop-condition`](references/bound-blocked-stop-condition.md) — Define a Blocked Stop Condition — What to Report When No Defensible Path Remains
65- [`bound-respect-budget`](references/bound-respect-budget.md) — Treat the Budget Limit as Halt-and-Summarize, Not Extend
66
67### 5. Lifecycle Commands (HIGH)
68
69- [`life-set-with-slash-goal`](references/life-set-with-slash-goal.md) — Set a Goal with `/goal <text>` — Available from Codex 0.128.0
70- [`life-pause-during-detours`](references/life-pause-during-detours.md) — Pause the Goal Before Unrelated Detours, Resume When Returning
71- [`life-clear-stale-goals`](references/life-clear-stale-goals.md) — Clear Stale Goals on Resumed Threads
72- [`life-inspect-with-slash-goal`](references/life-inspect-with-slash-goal.md) — Use Bare `/goal` to Inspect Current Objective and State Before Continuation
73
74### 6. Evidence-Based Completion (HIGH)
75
76- [`evidence-audit-before-completion`](references/evidence-audit-before-completion.md) — Audit the Objective Against Concrete Evidence Before Marking a Goal Complete
77- [`evidence-budget-is-not-completion`](references/evidence-budget-is-not-completion.md) — Reaching the Budget Limit Is Not the Same as Completing the Objective
78- [`evidence-honest-blockers`](references/evidence-honest-blockers.md) — Surface Blockers Explicitly — Never Substitute a Proxy for the Asked Claim
79
80### 7. Crafting Strong Goals (MEDIUM)
81
82- [`craft-six-components`](references/craft-six-components.md) — Define Six Components in Every Strong Goal — Outcome, Verification, Constraints, Boundaries, Iteration Policy, Blocked Stop
83- [`craft-template-pattern`](references/craft-template-pattern.md) — Use the Canonical "verified by … while preserving … Use … Between iterations … If blocked …" Pattern
84- [`craft-let-codex-draft-it`](references/craft-let-codex-draft-it.md) — Ask Codex to Draft the Goal from a Plain-Language Description, Then Tighten
85- [`craft-strengthen-weak-goals`](references/craft-strengthen-weak-goals.md) — Strengthen a Weak Goal by Naming the End State, Verification Surface, and Constraints
86
87### 8. Research Goals & Anti-Patterns (MEDIUM)
88
89- [`research-define-evidence-standard-first`](references/research-define-evidence-standard-first.md) — For Research Goals, Define the Evidence Standard Before Investigation Begins
90- [`research-build-claim-inventory`](references/research-build-claim-inventory.md) — Decompose Research Goals into a Claim Inventory Mapped to Evidence Channels
91- [`research-preserve-epistemic-ledger`](references/research-preserve-epistemic-ledger.md) — Final Report Must Preserve Epistemic Levels Per Claim — Use a Structured Ledger Entry
92- [`research-anti-patterns`](references/research-anti-patterns.md) — Avoid the Three Common Goal Anti-Patterns — Keep-Going Wishes, Hidden Uncertainty, Overclaim on Proxy
93
94## How to Use
95
96Read individual reference files for detailed explanations and worked examples comparing weak vs strong Goal text:
97
98- [Section definitions](references/_sections.md) — Category structure and impact levels
99- [Rule template](assets/templates/_template.md) — Template for adding new rules
100
101Each rule file contains:
102- A 2-4 sentence explanation of WHY the rule matters
103- An "Incorrect" example of a weak Goal or anti-pattern
104- A "Correct" example showing how to strengthen it
105- Reference back to the cookbook section it derives from
106
107## Reference Files
108
109| File | Description |
110|------|-------------|
111| [AGENTS.md](AGENTS.md) | Compiled TOC built by `build-agents-md.js` |
112| [references/_sections.md](references/_sections.md) | Category definitions and impact ordering |
113| [assets/templates/_template.md](assets/templates/_template.md) | Template for new rules |
114| [metadata.json](metadata.json) | Version and reference information |
115| [gotchas.md](gotchas.md) | Failure points discovered through use |