claude-codex-settings: Shared Agent Rules and Plugins for Claude Code, Codex, Cursor and Gemini CLI
Battle-tested Claude Code, OpenAI Codex, Cursor configs, plugins, hooks and agents with Kimi, MiniMax and GLM API support.
At a glance
- What is it?
- This repository packages agent guidance, plugins and hooks that run across four coding CLIs, with the same review and file-editing behaviour in each. The value is in the shared CLAUDE.md convention and the guard hooks, not in the plugin count.
- Who is it for?
- Adopt it if you already run Claude Code and want the same review and write-time checks inside Codex, Cursor or Gemini CLI, or if you want one CLAUDE.md symlinked to AGENTS.md and GEMINI.md instead of three drifting copies. Skip it if you work in a single tool and have no need for the guard hooks, since the marketplace step adds a moving dependency for no gain.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The Problem: Four Coding CLIs, Four Sets of Rules
A team that uses Claude Code, OpenAI Codex, Cursor and Gemini CLI ends up maintaining the same agent instructions in four places. The repository treats that duplication as the problem it exists to remove. Its README quotes Andrej Karpathy on agents that make wrong assumptions, do not surface inconsistencies and bloat abstractions, then states that the repo's guidelines are structured to fix those pitfalls. That is the stated intent, and it sets the scope: guidance and enforcement, not a model or a runtime.
The audience is narrow and specific. You need to be running at least one of the supported CLIs, and you need to care that the same rules apply in the others. Someone using only Claude Code gets the plugins but not the cross-tool argument. Someone who has never installed a plugin from a marketplace will spend their first ten minutes on the marketplace commands rather than on the content.
The repository is Apache-2.0, written mostly in Python, and the last release listed is v2.8.0 from 2026-09-08. The README links two companion sites, claudesettings.com for setup guides and skill downloads, and agentplugins.net described as a compact plugin directory. Neither is required to install anything.
How the Plugins, Skills and Hooks Fit Together
The unit of distribution is a plugin. A plugin bundles skills, commands, hooks and agents, and you install only the ones you want. The README shows two in detail, and the pattern generalises.
The simplify plugin wraps a review flow. Running /simplify reviews your staged or committed diff across four named angles (reuse, simplification, efficiency, altitude) using parallel agents, then applies the cleanups. The README is explicit that it reviews changed-code quality, not correctness bugs. The plugin also ships guard.py, a hook that requires a completed /simplify run before each Claude Code or Codex commit unless you explicitly ask to skip it for one commit. That hook is where the plugin stops being a suggestion and starts being a gate.
The humanize plugin works at write time. Before a Write or Edit saves, it scans the new text and blocks whatever reads as machine-written, pairing each hit with a plain-word swap. It reads Markdown files whole and checks comments and docstrings in code files, while skipping source code and recognized code-shaped references. The README enumerates the rules: three marks (the em-dash, section sign, and stray semicolon, with the en-dash left alone), 53 stock words mapped to plain swaps, 16 openers and cliches, and 10 pile-up words flagged at three or more uses in one write. The README notes it runs on Claude Code and Gemini. The truncated text cuts off mid-sentence after that, so the behaviour on Codex and Cursor is not confirmed by the material available.
The distribution mechanism is a marketplace. Claude Code and Codex each add the repository as a marketplace once, then install plugins by name. Gemini CLI takes a path instead, pointing at the plugin directory in a local checkout. Cursor uses cursor-agent with a marketplace URL and an interactive /plugin menu. Four tools, three different installation shapes.
Installation Commands Across the Four CLIs
Claude Code adds the marketplace once with claude plugin marketplace add fcakyon/claude-codex-settings, then installs by name, for example claude plugin install fable-advisor@claude-settings or claude plugin install simplify@claude-settings. In the desktop app, the README says to select + beside the prompt, then Plugins, then Add plugin.
Codex CLI mirrors that shape: codex plugin marketplace add fcakyon/claude-codex-settings, then codex plugin add simplify@claude-settings. The desktop path is Plugins, find the plugin, Install.
Gemini CLI does not use a marketplace in the README's example. It takes a local path: gemini extensions install --path ./plugins/simplify. That means you need the repository checked out before you can install, which is a different prerequisite from the other two.
Cursor uses cursor-agent plugin marketplace add https://github.com/fcakyon/claude-codex-settings, then start the interactive CLI with cursor-agent, enter /plugin, open the marketplace, and install at user or project scope. In the Cursor app, the route is Customize, then Install.
The shared-guidance step is separate from plugin installation. The README points at .claude/CLAUDE.md as the file written for your projects, and offers /claude-tools:sync-claude-md to pull it into ~/.claude/CLAUDE.md. Alternatively you paste it into a project as CLAUDE.md and symlink the other tools at it: ln -sfn CLAUDE.md AGENTS.md for Codex CLI, Cursor and Copilot, and ln -sfn CLAUDE.md GEMINI.md for Gemini CLI. The README also mentions INSTALL.md for setup requirements, which is where prerequisites live.
The Hooks Are Gates, and Gates Can Be Wrong
Both documented plugins ship a hook that can stop you. guard.py blocks a commit until /simplify has run, unless you explicitly ask to skip it for one commit. humanize blocks a Write or Edit when the new text trips one of its rules. These are the most opinionated parts of the repository, and they are also the parts most likely to annoy a working engineer.
Consider the humanize rules as the README describes them. A stray semicolon is one of the three marks. In prose that is defensible. In a Markdown table or a config snippet pasted into a document, a semicolon may be deliberate. The README says it skips source code and recognized code-shaped references, which suggests the author thought about this, but the boundary is not spelled out in the material available. The 53-word list is curated, and any curated list will have false positives on domain vocabulary. If your product is called something that appears on the list, you will be fighting the hook.
The pile-up rule flags crucial or significant at three or more uses in a single write. That is a reasonable heuristic and a crude one. A long design document may legitimately use significant three times. The escape hatches exist, and the README describes the skip path for guard.py explicitly. Whether humanize has an equivalent per-write bypass is not stated in the supplied text.
There is a second, quieter cost. A hook that blocks a commit changes the commit loop for everyone on the team who installs the plugin. That is a coordination decision, not a personal preference, and the README does not discuss team rollout.
Where This Is the Wrong Tool
If you use one CLI and one CLI only, the cross-tool premise does not apply to you. You would be installing a marketplace, accepting a hook that can block your commits, and getting back guidance you could paste into a single CLAUDE.md by hand. The repository's own README frames the symlink trick as the point: one file, three names. With one tool, there is nothing to symlink.
If your team has already written agent instructions that encode your codebase's conventions, adopting the shared CLAUDE.md replaces them or forces a merge. The README does not describe a merge path, and the sync command pulls the repository's file into ~/.claude/CLAUDE.md, which is a global location. That is the wrong place for project-specific rules.
If you need correctness review rather than style and structure review, simplify is the wrong instrument. The README says so directly: it reviews changed-code quality, not correctness bugs. A team looking for a bug-finding pass will install it, run it, and conclude it does nothing useful, when in fact it is doing exactly what it claims.
Finally, the humanize plugin's stated coverage is Claude Code and Gemini. If your work happens in Codex or Cursor, the README as supplied does not establish that the write-time check runs there.
Compared With Writing Your Own AGENTS.md and Hooks
The obvious alternative is to skip the marketplace and write the files yourself: an AGENTS.md at the repository root, a CLAUDE.md symlinked to it, and a small pre-commit script that runs your formatter and linter. That approach has no third-party dependency, no version to track, and no curated word list deciding what your prose may contain. It also has no upstream maintenance. When a new CLI appears, you write the fourth symlink yourself.
The difference in approach is where the enforcement lives. A pre-commit script runs at commit time on the machine, in your repository, under your control. The guard.py hook runs inside the agent's commit flow, which is why it can require that a specific agent command completed first. A pre-commit script cannot know whether /simplify ran. That is the specific capability the plugin model buys, and it is the reason to accept the dependency.
A second alternative is to use each vendor's own plugin ecosystem and keep the configurations separate. That preserves fidelity to each tool's conventions and avoids a lowest-common-denominator instruction file. The cost is the duplication the repository exists to remove. Neither approach is wrong; they optimise for different things. If your four tools genuinely need different instructions, the shared file is a liability. If they need the same instructions, the shared file is the whole point.
Maintenance, Versioning and Licence
The release cadence visible in the material is roughly weekly to biweekly: v2.7.0 on 2026-08-27, v2.7.1 on 2026-08-28, v2.8.0 on 2026-09-08, with the last push to main on 2026-09-10. A marketplace install tracks the repository, so plugin behaviour can change between your installs. The README does not describe a pinning mechanism, and the material does not show whether individual plugins are versioned separately from the repository as a whole. If you need reproducible agent behaviour across a team, that is the first thing to verify.
The licence is Apache-2.0. That permits commercial use and modification and includes a patent grant, and it requires that you preserve copyright and licence notices and state significant changes. It does not, on its own, settle what happens to the text your agent produces or to the third-party API keys the description mentions for Kimi, MiniMax and GLM. Those are questions for your own counsel, not for this review.
The upgrade cost is concentrated in the hooks. A change to guard.py alters when your commits are allowed through, and a change to the humanize word list alters what your agent may write. Those are the two files worth reading before you update, and the README's plugin sections are where their behaviour is described.
Editorial conclusion
Adopt it if you already run Claude Code and want the same review and write-time checks inside Codex, Cursor or Gemini CLI, or if you want one CLAUDE.md symlinked to AGENTS.md and GEMINI.md instead of three drifting copies. Skip it if you work in a single tool and have no need for the guard hooks, since the marketplace step adds a moving dependency for no gain. Before installing, read the plugin table in the README, confirm which plugins ship a hook that can block a commit or a write, and check whether the humanize word list overlaps wording your own documentation already uses.
Community notes