Codex CLI Best Practice Agent Skill
from vibe coding to agentic engineering - practice makes codex perfect
Codex CLI Best Practice is an open-source agent skill by shanraisshan, written mainly in Python, with 1,021 GitHub stars and the MIT license. Its code was last updated Jun 4, 2026.
codex-cli-best-practice
from vibe coding to agentic engineering - practice makes codex perfect
<a href="https://github.com/shanraisshan/codex-cli-best-practice/stargazers"><img src="https://img.shields.io/github/stars/shanraisshan/codex-cli-best-practice?style=flat&label=%E2%98%85&labelColor=555&color=white" alt="GitHub Stars"></a>
<br>
<img src="!/tags/a.svg" height="14"> = Agents · <img src="!/tags/c.svg" height="14"> = Commands · <img src="!/tags/s.svg" height="14"> = Skills
🧠 CONCEPTS
| Feature | Location | Description |
|---|---|---|
| <img src="!/tags/c.svg" height="14"> Commands | interactive session / slash popup | Built-in slash commands for session control — examples include /plan, /fast, /fork, /review, /status, /mcp, /agent, /apps, /model, and /permissions |
| <img src="!/tags/a.svg" height="14"> Subagents | .codex/agents/<name>.toml | [agents.<name>] with dedicated TOML role configs, parallel subagent orchestration, and CSV batch processing · Global settings live under [agents] (max_threads, max_depth, job_max_runtime_seconds) · Built-in: default, worker, explorer |
| <img src="!/tags/s.svg" height="14"> Skills | .agents/skills/<name>/SKILL.md | name + description metadata and progressive disclosure via scripts/, references/, assets/, and optional agents/openai.yaml · Invoke explicitly via /skills or $skill-name, or implicitly by description match · Built-in examples: $plan, $skill-creator, $skill-installer · Distributed via Plugins |
| Plugins | .codex-plugin/plugin.json | Distributable bundles combining skills + app integrations + MCP servers — local/personal marketplace system · Built-in: $plugin-creator · Browse via /plugins or Codex App |
| Marketplace | $CODEX_HOME → [marketplaces.*] | codex plugin marketplace add|upgrade|remove accepts GitHub shorthand, git URLs, and local directories · Manifest at .agents/plugins/marketplace.json · Browse installed marketplaces via /plugins tabs |
| Memories | $CODEX_HOME/memories/ | [features] memories = true and configure under [memories] · TUI control via /memories (use · generate · reset) · Per-thread toggle persists in state DB · Scope is per-user, not per-project |
| Workflows | .codex/agents/weather-agent.toml | |
| MCP Servers | config.toml → [mcp_servers.*] | codex mcp login) · Also acts as MCP server via codex mcp-server (exposes codex() + codex-reply() tools) · MCP Apps (v0.119.0+): resource reads, elicitations, file-parameter uploads · Parallel calls (v0.121.0+): supports_parallel_tool_calls = true per server · CLI management: codex mcp add|get|list|login|logout|remove |
| Config | .codex/config.toml | [features], [otel], [shell_environment_policy], [tui], model providers, granular approvals) · Trust system for project configs · developer_instructions · model_instructions_file for custom system prompts |
| Rules | .codex/rules/ | Starlark-based command execution policies via prefix_rule() — allow, prompt, forbidden decisions with exact-prefix matching · Test via codex execpolicy check · Rules work alongside granular approval_policy controls and user-managed approvals |
| AGENTS.md | AGENTS.md | project_doc_max_bytes) · AGENTS.override.md for personal overrides |
| Hooks | .codex/hooks.json | codex_hooks = true feature flag |
| Speed | config.toml → service_tier | Fast Mode (1.5x speed, 2x credits) on gpt-5.4 — toggle with /fast on|off|status · GPT-5.3-Codex-Spark for near-instant iteration (Pro subscribers) |
| Code Review | /review | Review branches, uncommitted changes, or specific commits — configurable review_model in config.toml · Custom review instructions |
| Sessions | $CODEX_HOME/sessions/ · /archive | Session lifecycle management — resume or fork prior threads · archive via /archive (TUI) or codex archive / codex unarchive (CLI); archived threads are protected from resume/fork until restored (v0.137.0+) · search local conversation history with case-insensitive content matches + result previews (v0.135.0+) |
| AI Terms | ||
| Best Practices | Official best practices · Prompt Engineering · Codex Guides |
See orchestration-workflow for implementation details of <img src="!/tags/a.svg" height="14"> Agent → <img src="!/tags/s.svg" height="14"> Skill pattern. The agent fetches temperature from Open-Meteo and invokes the SVG creator skill.
<p align="center"> <img src="!/orchestration-workflow-diagram.svg" alt="Orchestration Workflow: Agent → Skill → Output" width="100%"> </p>codex
> Fetch the current weather for Dubai in Celsius and create the SVG weather card output using the repo.
<p align="center"> <img src="!/codex-jumping.svg" alt="section divider" width="60" height="50"> </p>Note: This workflow is not 100% in sync with the Claude Code Best Practice orchestration workflow. Codex CLI does not yet support custom commands (
.codex/commands/), so the full <img src="!/tags/c.svg" height="14"> Command → <img src="!/tags/a.svg" height="14"> Agent → <img src="!/tags/s.svg" height="14"> Skill pattern is not possible. There is an experimentaltool/requestUserInputin the Codex App Server docs and an internalrequest_user_inputcapability gated behind an under-development feature flag in codex-cli 0.115.0, but neither is publicly available yet.
⚙️ DEVELOPMENT WORKFLOWS
All major workflows converge on the same architectural pattern: Research → Plan → Execute → Review → Ship
| Name | ★ | Workflow | <img src="!/tags/a.svg" height="14"> | <img src="!/tags/s.svg" height="14"> |
|---|---|---|---|---|
| Superpowers | 218k | <img src="https://img.shields.io/badge/brainstorming-ddf4ff" alt="brainstorming" align="middle"> → <img src="https://img.shields.io/badge/writing--plans-ddf4ff" alt="writing-plans" align="middle"> → <img src="https://img.shields.io/badge/subagent--driven--development-ddf4ff" alt="subagent-driven-development" align="middle"> → <img src="https://img.shields.io/badge/test--driven--development-fff3b0" alt="test-driven-development" align="middle"> → <img src="https://img.shields.io/badge/requesting--code--review-fff3b0" alt="requesting-code-review" align="middle"> → <img src="https://img.shields.io/badge/finishing--a--development--branch-ddf4ff" alt="finishing-a-development-branch" align="middle"> | 5 | 14 |
| Spec Kit | 108k | <img src="https://img.shields.io/badge/%2Fspeckit.constitution-ddf4ff" alt="/speckit.constitution" align="middle"> → <img src="https://img.shields.io/badge/%2Fspeckit.specify-ddf4ff" alt="/speckit.specify" align="middle"> → <img src="https://img.shields.io/badge/%2Fspeckit.plan-ddf4ff" alt="/speckit.plan" align="middle"> → <img src="https://img.shields.io/badge/%2Fspeckit.tasks-ddf4ff" alt="/speckit.tasks" align="middle"> → <img src="https://img.shields.io/badge/%2Fspeckit.implement-ddf4ff" alt="/speckit.implement" align="middle"> | 0 | 0 |
| gstack | 107k | <img src="https://img.shields.io/badge/%2Foffice--hours-ddf4ff" alt="/office-hours" align="middle"> → <img src="https://img.shields.io/badge/%2Fplan--ceo--review-ddf4ff" alt="/plan-ceo-review" align="middle"> → <img src="https://img.shields.io/badge/%2Fplan--eng--review-ddf4ff" alt="/plan-eng-review" align="middle"> → <img src="https://img.shields.io/badge/%2Fplan--design--review-ddf4ff" alt="/plan-design-review" align="middle"> → <img src="https://img.shields.io/badge/implement-ddf4ff" alt="implement" align="middle"> → <img src="https://img.shields.io/badge/%2Freview-ddf4ff" alt="/review" align="middle"> → <img src="https://img.shields.io/badge/%2Fqa-ddf4ff" alt="/qa" align="middle"> → <img src="https://img.shields.io/badge/%2Fship-ddf4ff" alt="/ship" align="middle"> → <img src="https://img.shields.io/badge/%2Fland--and--deploy-ddf4ff" alt="/land-and-deploy" align="middle"> | 0 | 41 |
| Get Shit Done | 64k | <img src="https://img.shields.io/badge/%2Fgsd--new--project-ddf4ff" alt="/gsd-new-project" align="middle"> → <img src="https://img.shields.io/badge/%2Fgsd--discuss--phase-ddf4ff" alt="/gsd-discuss-phase" align="middle"> → <img src="https://img.shields.io/badge/%2Fgsd--plan--phase-ddf4ff" alt="/gsd-plan-phase" align="middle"> → <img src="https://img.shields.io/badge/%2Fgsd--execute--phase-ddf4ff" alt="/gsd-execute-phase" align="middle"> → <img src="https://img.shields.io/badge/%2Fgsd--verify--work-fff3b0" alt="/gsd-verify-work" align="middle"> → <img src="https://img.shields.io/badge/%2Fgsd--ship-ddf4ff" alt="/gsd-ship" align="middle"> → <img src="https://img.shields.io/badge/%2Fgsd--complete--milestone-ddf4ff" alt="/gsd-complete-milestone" align="middle"> | 33 | 0 |
| oh-my-codex | 30k | <img src="https://img.shields.io/badge/$deep--interview-ddf4ff" alt="$deep-interview" align="middle"> → <img src="https://img.shields.io/badge/$ralplan-ddf4ff" alt="$ralplan" align="middle"> → <img src="https://img.shields.io/badge/$ralph-ddf4ff" alt="$ralph" align="middle"> | 19 | 36 |
| Compound Engineering | 20k | <img src="https://img.shields.io/badge/%2Fce--ideate-ddf4ff" alt="/ce-ideate" align="middle"> → <img src="https://img.shields.io/badge/%2Fce--brainstorm-ddf4ff" alt="/ce-brainstorm" align="middle"> → <img src="https://img.shields.io/badge/%2Fce--plan-ddf4ff" alt="/ce-plan" align="middle"> → <img src="https://img.shields.io/badge/%2Fce--work-ddf4ff" alt="/ce-work" align="middle"> → <img src="https://img.shields.io/badge/%2Fce--code--review-ddf4ff" alt="/ce-code-review" align="middle"> → <img src="https://img.shields.io/badge/%2Fce--compound-ddf4ff" alt="/ce-compound" align="middle"> → <img src="https://img.shields.io/badge/repeat-ddf4ff" alt="repeat" align="middle"> | 49 | 42 |
Note: yellow tags are sub-loops — steps that repeat inside a parent step (e.g. per task, per story, or until a verify condition passes).
Others
<p align="center"> <img src="!/codex-jumping.svg" alt="section divider" width="60" height="50"> </p>💡 TIPS AND TRICKS (50)
Prompting · Planning · AGENTS.md · Agents · Skills · Hooks · Memories · Workflows · Advanced · Git / PR · Debugging · Utilities · Daily
<a id="tips-prompting"></a>■ Prompting (3)
| Tip |
|---|
| challenge Codex — "prove to me this works" and have Codex diff between main and your branch |
| after a mediocre fix — "knowing everything you know now, scrap this and implement the elegant solution" |
| Codex fixes most bugs by itself — paste the bug, say "fix", don't micromanage how |
<a id="tips-planning"></a>■ Planning (4)
| Tip |
|---|
| use /plan when you want an explicit plan — Codex may also plan automatically for multi-step tasks |
| always make a phase-wise gated plan, with each phase having multiple tests (unit, automation, integration) |
| spin up a second Codex (or use cross-model) to review your plan as a staff engineer |
| write detailed specs and reduce ambiguity before handing work off — the more specific you are, the better the output |
<a id="tips-agentsmd"></a>■ AGENTS.md (5)
| Tip |
|---|
| keep AGENTS.md concise — 150 lines is a useful heuristic, but the actual limit is byte-based (32 KiB) |
| use AGENTS.override.md for personal preferences without affecting the team |
| any developer should be able to launch Codex, say "run the tests" and it works on the first try — if it doesn't, your AGENTS.md is missing essential setup/build/test commands |
| keep codebases clean and finish migrations — partially migrated frameworks confuse models that might pick the wrong pattern |
| use config.toml for harness-enforced behavior (approval policy, sandbox, model) — don't put behavioral rules in AGENTS.md when config.toml settings are deterministic |
<a id="tips-agents"></a><img src="!/tags/a.svg" height="14"> Agents (3)
| Tip |
|---|
| have feature specific sub-agents with skills instead of general qa, backend engineer |
| use multi-agent to throw more compute at a problem — offload tasks to keep your main context clean and focused |
| use test time compute — separate context windows make results better; one agent can cause bugs and another can find them |
<a id="tips-skills"></a><img src="!/tags/s.svg" height="14"> Skills (7)
| Tip |
|---|
| use skills with clear name and description frontmatter for auto-discovery |
| skills are folders, not files — use references/, scripts/, examples/ subdirectories for progressive disclosure |
| build a Gotchas section in every skill — highest-signal content, add Codex's failure points over time |
| skill description field is a trigger, not a summary — write it for the model ("when should I fire?") |
| don't state the obvious in skills — focus on what pushes Codex out of its default behavior |
| don't railroad Codex in skills — give goals and constraints, not prescriptive step-by-step instructions |
| use the built-in skill creator to scaffold new skills, and document one invocation style consistently across the repo |
<a id="tips-hooks"></a>■ Hooks (3)
| Tip |
|---|
| use hooks for logging, security scanning, and validation — requires codex_hooks = true feature flag |
| use hooks for auto-formatting code — Codex generates well-formatted code, the hook handles the last 10% to avoid CI failures |
branch SessionStart on source (startup | resume | clear) — skip heavy context on clear so /clear stays snappy (v0.120.0+) |
<a id="tips-memory"></a>■ Memories (2)
| Tip |
|---|
| enable memories once and forget about it — consolidation runs between sessions, not mid-turn |
set no_memories_if_mcp_or_web_search = true for threads that touch secrets or untrusted content — reset via /memories → Reset if exposure happens |
<a id="tips-workflows"></a>■ Workflows (4)
| Tip |
|---|
| vanilla Codex is better than any workflows with smaller tasks |
| use profiles to switch between project-defined safety levels — in this repo, conservative and trusted are examples |
| start with on-request approval policy — only escalate to never when confident |
use /fork in-session (or codex fork) to explore alternatives without losing your current thread, and /resume (or codex resume) to pick up where you left off |
<a id="tips-workflows-advanced"></a>■ Workflows Advanced (5)
| Tip |
|---|
| use multi-agent to spawn sub-agents for parallel fan-out work (GA — enabled by default) |
| use codex exec for headless/CI pipelines |
| combine sandbox modes with approval policies — workspace-write + on-request is a good default |
| git worktrees for parallel development |
| use ASCII diagrams a lot to understand your architecture |
<a id="tips-git-pr"></a>■ Git / PR (3)
| Tip | Source |
|---|---|
| keep PRs small and focused — one feature per PR, easier to review and revert | |
| always squash merge PRs — clean linear history, one commit per feature, easy git revert and git bisect | |
| commit often — as soon as a task is completed, commit |
<a id="tips-debugging"></a>■ Debugging (5)
| Tip | Source |
|---|---|
| always ask Codex to run the terminal (you want to see logs of) as a background task for better debugging | |
| use MCP (Chrome DevTools, Playwright) to let Codex see browser console logs on its own | |
| make it a habit to take screenshots and share with Codex whenever you are stuck with any issue | |
| use a different model for QA — e.g. Claude Code for plan and implementation review | |
| agentic search (glob + grep) beats RAG — code drifts out of sync and permissions are complex |
<a id="tips-utilities"></a>■ Utilities (4)
| Tip | Source |
|---|---|
| iTerm/Ghostty/tmux terminals instead of IDE (VS Code/Cursor) | |
| Wispr Flow for voice prompting (10x productivity) | |
| codex-cli-hooks for Codex feedback | |
| explore config.toml features like profiles, sandbox modes, and MCP for a personalized experience |
<a id="tips-daily"></a>■ Daily (2)
| Tip | Source |
|---|---|
| update Codex CLI daily | |
| start your day by reading the changelog |
| Article / Tweet | Source |
|---|---|
| How Codex is built — 90% self-built in Rust (Tibo, Pragmatic Engineer) | 17 Feb 2026 | |
| Skills in Codex — standardizing .agents/skills across agents (Embiricos) | Feb 2026 | |
| Unrolling the Codex agent loop — how Codex works internally (Bolin) | Jan 2026 | Tweet |
| AMA with Codex team — CLI, sandbox, agents (Embiricos, Fouad, Tibo + team) | May 2025 | |
| Codex CLI — open-source local coding agent, first look (Fouad + Romain) | Apr 2025 | Tweet |
🎬 VIDEOS / PODCASTS
| Video / Podcast | Source | Link |
|---|---|---|
| The power user's guide to Codex — parallelizing workflows, planning, context engineering (Embiricos) | 2026 | How I AI | Podcast | |
| Scaffolding is coping not scaling, and other lessons from Codex (Tibo) | 2026 | Dev Interrupted | Podcast | |
| How Codex team uses their coding agent (Tibo + Andrew) | 18 Feb 2026 | Every | Podcast | |
| Dogfood — Codex team uses Codex to build Codex (Tibo) | 24 Feb 2026 | Stack Overflow | Podcast | |
| Why humans are AI's biggest bottleneck — Codex product vision (Embiricos) | Feb 2026 | Lenny's Podcast | Podcast | |
| OpenAI and Codex (Tibo + Ed Bayes) | 29 Jan 2026 | Software Engineering Daily | Podcast |
🔔 SUBSCRIBE
| Source | Name | Badge |
|---|---|---|
| r/ChatGPT, r/OpenAI, r/Codex | ||
| OpenAI, OpenAI Devs, Tibo, Embiricos, Jason, Romain, Dominik, Fouad, Bolin | ||
| Jesse Kriss (Superpowers), Garry Tan (gstack), Kieran Klaassen (Compound Eng), Lex Christopherson (GSD), Yeachan Heo (oh-my-codex), Andrej Karpathy | ||
| OpenAI | ||
| Lenny's Podcast, The Pragmatic Engineer |
<a href="https://github.com/shanraisshan/claude-code-best-practice#billion-dollar-questions"><img src="!/tags/billion-dollar-questions.svg" alt="Billion-Dollar Questions"></a>
<p align="center"> <img src="!/codex-jumping.svg" alt="section divider" width="60" height="50"> </p>Other Repos
<a href="https://github.com/shanraisshan/codex-cli-hooks"><img src="!/codex-speaking.svg" alt="Codex CLI Hooks" width="40" height="40" align="center"></a> <a href="https://github.com/shanraisshan/codex-cli-hooks"><strong>codex-cli-hooks</strong></a> · <a href="https://github.com/shanraisshan/claude-code-best-practice"><img src="!/claude-jumping.svg" alt="Claude Code" width="40" height="40" align="center"></a> <a href="https://github.com/shanraisshan/claude-code-best-practice"><strong>claude-code-best-practice</strong></a> · <a href="https://github.com/shanraisshan/claude-code-hooks"><img src="!/claude-speaking.svg" alt="Claude Code Hooks" width="40" height="40" align="center"></a> <a href="https://github.com/shanraisshan/claude-code-hooks"><strong>claude-code-hooks</strong></a>
<a href="https://openai.com/form/codex-for-oss/"><img src="!/tags/codex-for-oss.svg" alt="Codex for Open Source" width="720"></a>
<p align="center"> <img src="!/codex-jumping.svg" alt="section divider" width="60" height="50"> </p><img src="!/tags/sponsor-heart.svg" width="22" height="22" align="center"> Sponsor My Work
If you like my work, buy me a doodh patti 🍵 on
<a href="https://buy.polar.sh/polar_cl_jOwGyidIfOUWcvUAyiQc5nvTjN51EePzqzyW40tvXIX"><img src="!/tags/polar.svg" alt="Polar" width="40" height="40" align="center"></a> <a href="https://buy.polar.sh/polar_cl_jOwGyidIfOUWcvUAyiQc5nvTjN51EePzqzyW40tvXIX"><strong>Polar</strong></a>
Codex CLI Best Practice alternatives
View more →Similar agent skills in Developer Tools, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Codex CLI Best Practice (this page) shanraisshan | 1k | MIT | Jun 4, 2026 | Scanned, no flagged issues |
| Claude Skills alirezarezvani | 29k | MIT | Oct 31, 2026 | Scanned, no flagged issues |
| Pm Skills phuryn | 28k | MIT | Oct 29, 2026 | Scanned, no flagged issues |
| Notebooklm Py teng-lin | 20k | MIT | Oct 31, 2026 | Scanned, no flagged issues |
| Openrig mvschwarz | 8.5k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Yao YaoApp | 8.2k | None found | Oct 19, 2026 | Not scanned yet |