codex-cli
Skill227 starsChanged 2 months agoApache-2.0View on GitHub
When handing work to the Codex CLI earns its cost, and how to size the run: second-model review, bounded implementation hand-offs, sandbox permissions, model and reasoning effort. Use when the user asks for Codex or `codex exec`, when a change is complex or high-stakes enough that an independent reviewer would change the outcome, or when a delegated run needs its model, effort, or permissions chosen. For agents other than Codex itself.
23 other projects use a version of this.
Adopted by
Most recently taken up by
- kortix-ai/sunatheir own version, first seen Nov 8, 2026
- Awakehsh/awesome-agent-toolstheir own version, first seen Nov 8, 2026
- kortix-ai/CompanyOStheir own version, first seen Nov 8, 2026
- legibet/agent-skillstheir own version, first seen Nov 1, 2026
- samirpatil2000/skillstheir own version, first seen Nov 1, 2026
- sugarforever/01coder-agent-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use opencode-cli, claude-cli and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
julweberSkillopencode-cli
Expert control of opencode via the command line. Use when running opencode TUI, headless server, web UI, or the `run` non-interactive mode; managing sessions, providers, agents, MCP servers, models, stats, import/export, GitHub integration, debugging, database tools, upgrades, or shell completions.
Also in 5 projects that use this
julweberSkillclaude-cli
Expert control of the `claude` CLI (Claude Code). Use when running Claude Code interactively or non-interactively, managing sessions, configuring MCP servers, managing plugins, handling authentication, or piping prompts through claude for scripting.
Also in 3 projects that use this
ihiteshguptaSkillterraform
Expert in Infrastructure as Code with Terraform. Use for creating, managing, and versioning infrastructure across cloud providers.
Also in 3 projects that use this
mrgoonieSkillclaude-code
Also in 4 projects that use this
GoogleSkillponytail
Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use on ANY coding task: writing, adding, refactoring, fixing, reviewing, or designing code, and choosing libraries or dependencies. Also use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", or complains about over-engineering, bloat, boilerplate, or unnecessary dependencies. Do NOT use for non-coding requests (general knowledge, prose, translation, summaries, recipes).
Also in 4 projects that use this
MicrosoftSkillcaveman
Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules
Also in 3 projects that use this
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- kortix-ai/suna★ 21ksame name
- kortix-ai/CompanyOS★ 21ksame name
- wentorai/Research-Claw★ 858same name
- revfactory/skills★ 160same name
- sugarforever/01coder-agent-skills★ 139same name
- georgekhananaev/claude-skills-vault★ 28same name
- samirpatil2000/skills★ 17same name
- mr-ske1r/1c-ai-devstart★ 16same name
- Awakehsh/awesome-agent-tools★ 8same name
- deedeeharris/claude-skills★ 7same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- user/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- antigravity-cliSkill
- ask-to-planSkill
- devin-cliSkill
- grok-cliSkill
- marketing-copySkill
- product-writingSkill
- scoped-changeSkill
- talk-like-scarletkcSkill
- ux-writingSkill
- worktree-prSkill
- x-contentSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 20 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 35
Every invocation is a second model spending the user's money and your wall-clock time.
- Distinctive: line 63
When you are stuck: After two failed attempts on the same defect, a third attempt from the same context tends to repeat the second.
- Distinctive: line 151
When the answer is "nothing changed", the fix lives in the user's configuration or their host setup — say so, rather than rerunning the …
- Distinctive: line 192
Report the division of labour: When the user reads the result, they should know which parts another agent wrote and what you verified.
“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Codex CLI
Codex is a second agent on the same machine, with its own model behind it. That is the entire reason to reach for it: a model that did not write the code has no memory of intending it to work. Everything below follows from that one asymmetry — who wrote it, who reads it, and how much thinking each step is worth paying for.
This skill is for the supervising agent, not for Codex. If you are Codex, this does not apply — calling yourself buys nothing but a second opinion from the same mind. Claude Code is the intended caller.
It also assumes the machine is already set up: codex on PATH, the user
logged in, and whatever MCP servers and tools they want available configured
in ~/.codex/config.toml. If the binary is missing, auth has expired, or a
run dies on permissions, report that plainly and stop — quietly falling back
to doing it yourself hides the fact that the review the user asked for never
happened.
Concrete flags belong to codex --help, which is authoritative and moves
faster than this file. What follows is the judgment.
When to reach for it
Every invocation is a second model spending the user's money and your wall-clock time. It earns that when the problem is hard enough that another model changes the outcome — not as a reflex after every edit. Doing the work yourself and checking it with the project's own tests remains the normal path.
- When the user asks for it. They have already made the call; don't re-litigate it. Match the model and effort to the task and go.
- After writing something complex or expensive to get wrong. Your own review of your own diff is the weakest review available, because you are checking the code against the intent you already have in your head rather than against what it says. That weakness only matters when the defect would be costly — concurrency, migrations, security-adjacent paths, platform assumptions, anything on a compatibility surface. A routine edit that the suite already covers is not worth a review pass. Counter-example: an agent changed one side of a path comparison to a normalized form and left the other side platform-native; every test it wrote passed, because it wrote them against the same wrong mental model.
- When a demanding change is bounded well enough to describe in a prompt.
A hand-off is worth it when you can state the goal, the files, and the
acceptance check in a paragraph. That paragraph is also the honest test of
whether you understand the change — if you cannot write it, delegating it
just moves the confusion downstream. What "bounded" means is
scoped-change, and it binds Codex exactly as it binds you: pass the boundary along in the prompt, because Codex cannot infer where the user drew it. - When the work is long, mechanical, and verifiable. Wide renames, repetitive migrations, and mass edits with a green suite proving them buy throughput rather than insight, and they are cheap to check.
- When you are stuck. After two failed attempts on the same defect, a third attempt from the same context tends to repeat the second. A fresh agent with the symptom and the reproduction, and none of your accumulated theory, is a better use of the next few minutes.
When to keep it
- Ordinary work you can verify yourself. Most changes are this. Writing the prompt, waiting for the run, and reading the diff costs more than the edit, and a delegated pass over a small change mostly returns items you already knew. Absent a reason above, just do it.
- Judgment about words. User-facing copy, documentation, naming, and
release notes need the taste and the context of the session that has been
talking to the user, and they survive delegation badly. See
ux-writing. - Anything you cannot check afterwards. Delegating work you have no way to verify converts an unknown into a confident-sounding report, which is worse than the unknown. Establish the check first.
- Decisions the user reserved. Choosing the approach, committing, pushing, opening or merging a PR — those stay where the user put them. A permissive sandbox makes it possible for a delegated run to do all of them, which is a reason to scope the prompt tightly, not a licence to let it decide.
Choosing the model
Pick from the task's difficulty, not from habit. Reaching for the strongest model every time wastes the user's money on renames; reaching for the cheapest on a subtle bug wastes the user's afternoon.
gpt-5.6-sol— the frontier model. Worth it for reviews that must not miss anything, root-cause hunts, concurrency and lock-ordering questions, cross-platform semantics, and any change whose failure mode is silent.gpt-5.6-terra— balanced, and the sane default for ordinary feature work inside a boundary you have already defined.gpt-5.6-luna— fast and cheap with a lower ceiling. Right when a test suite or a compiler, not the model, is what actually decides whether the result is correct.
Choosing the effort
Reasoning effort buys deliberation, not knowledge, and it multiplies both latency and cost. Scale it with how subtle the failure would be:
medium— mechanical work with an immediate, objective check.high— real implementation work and routine reviews. The usual pick.xhigh— subtle bugs, unfamiliar subsystems, anything one attempt has already failed at.max— the hardest problems, when a wrong answer costs far more than the extra minutes. Deliberate, not habitual.
The pairing that matters most: review the code at least as high as you wrote it. A cheap review of an expensive change finds the typos and misses the reason you delegated it.
Running it
Drive the non-interactive surface — codex exec for work, codex exec review
for review. Model and effort are per invocation: -m <model> and
-c model_reasoning_effort=<level>, both overriding the user's config.toml
defaults for that run only. Prefer codex exec review over the top-level
codex review, which is equally non-interactive but takes the model through
-c model="..." rather than -m. Review scope is --base <branch> for
a branch, --uncommitted for the working tree, --commit <sha> for one
commit. Everything else — --json, output files, resuming a session — is in
codex --help.
Give it the permissions the task needs
This is the step that most often turns a delegated run into a wasted one.
codex exec is sandboxed, and its own default — before the user's config is
applied — is read-only: the model reads the repository, plans the change,
and every write is refused. Failures inside the sandbox are handed back to the
model rather than raised to you, so what returns is a fluent description of a
change that never reached disk.
- Let the user's configuration apply, and reach for
-smainly to narrow. Theirconfig.tomlalready encodes the permission level they are willing to run at, and on many machines it is the setting that actually works.-s read-onlyis a sound narrowing for a review or an investigation, since nothing should be written anyway.--ignore-user-configdiscards their settings wholesale and is rarely what you want. - Raising the mode is a request, not a guarantee.
-s workspace-writeasks for a writable workspace; whether it is granted depends on the platform's sandbox backend and on any.rulespolicy in effect, and on a host without a working backend the writes are refused anyway. So confirm withgit statuson the target tree rather than with the run's summary. When the answer is "nothing changed", the fix lives in the user's configuration or their host setup — say so, rather than rerunning the same command or escalating the flag yourself. - Widen the reach deliberately, not by default.
--add-dirmakes another directory writable, which matters when the work spans a worktree and its main checkout;-Csets the working root;--skip-git-repo-checkallows running outside a repository.workspace-writedoes not imply network access — that is a separate setting (sandbox_workspace_write.network_access), so dependency installs inside it fail until it is enabled. - Treat full access as the user's call.
-s danger-full-accessand--dangerously-bypass-approvals-and-sandboxremove the boundary that keeps a delegated agent inside the task. Some users configure exactly that globally and are happy with it; inheriting their setting is different from escalating to it yourself on a task they scoped narrowly.
Write the prompt like a brief
- Put the acceptance check in it. State the goal, the files in scope, the test or command that proves it, and the boundary it must not cross. Codex cannot see your conversation with the user, so anything the user said that constrains the change has to be restated.
- Ask review prompts for specifics. "Review this" returns prose. Naming what you are unsure of — the migration path, the error handling, the platform assumption — returns findings you can act on.
Reading the result back
A Codex run is a proposal, not a merge. You asked for a second model precisely because a single model's confidence is not evidence, and that cuts both ways.
- Read the diff, not the summary. The report describes what Codex meant to do. Only the diff says what it did, and the gap between the two is where the surprises live — the unrelated file it touched, the test it relaxed to make something pass, the fallback it added to keep an error from surfacing.
- Run the suite yourself. "Tests pass" from the agent that changed the tests is a claim about the same run that produced them.
- Findings are input, not a verdict. A review from a strong model still produces items that are wrong about this codebase or out of scope for this change. Judge each one, fix what is real, and say plainly which ones you dismissed and why — an unexplained dismissal reads as an oversight later.
- Report the division of labour. When the user reads the result, they should know which parts another agent wrote and what you verified. That is what makes the supervision worth anything.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

