SkillAgentSearch skills...

codex-claude-council

Ask ChatGPT (Codex) and Claude the same question through your own signed-in CLIs: each answers, critiques the other, replies, and they agree on one answer. Both can read your project (never change it) and search the web. MCP server + plugin for Claude Code, Claude Cowork and Codex. No API keys.

Install / Use

claude mcp add hamza-aziz-ai -- npx -y github:hamza-aziz-ai/codex-claude-council

If the server publishes to npm under a different name, use that package instead β€” check the repo README.

About this skill
πŸ”Œ

MCP Server

Model Context Protocol server

Quality Score

74/100

Supported Platforms

Claude Code
Claude Desktop
OpenAI Codex

Tags

Our assessment of codex-claude-council

codex-claude-council scores 74/100 on our quality scale, 865th of 968 AI & Machine Learning skills we index.

Its MCP Server is 40 KB long, well organised into 35 sections with 17 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
21/30
Structure
20/20
Description
15/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so codex-claude-council is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit β€” read the skill file before letting an agent act on it.

codex-claude-council compared with similar skills

All 4 of these similar skills score higher than codex-claude-council; compare them before choosing.

SkillScoreStarsUpdatedFormat
codex-claude-council (this skill)by hamza-aziz-ai743todayMCP Server
claude-memby thedotmack10099.2k1d agoCLAUDE.md
Agent-Reachby Panniantong10095.5k2d agoCLAUDE.md
Understand-Anythingby Egonex-AI10085.8ktodayCLAUDE.md
headroomby headroomlabs-ai10074.9ktodayCLAUDE.md

Frequently asked questions

How do I install codex-claude-council?
Run claude mcp add hamza-aziz-ai -- npx -y github:hamza-aziz-ai/codex-claude-council. The install tabs above show the steps for each supported agent.
Which AI agents does codex-claude-council work with?
It is written for Claude Code, Claude Desktop and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
Is codex-claude-council safe to use?
It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is codex-claude-council still maintained?
The repository was last updated today, so codex-claude-council is actively maintained.

Codex–Claude Council

M8ven Score CI License: MIT Node 20+

Ask ChatGPT (through Codex) and Claude the same question. Each gives its own answer, hears the other's critique of it and replies, and together they settle on one answer that both agree with, using the subscriptions you already have. No API keys.

Works inside Claude Code, Claude Desktop (Cowork), Codex, the ChatGPT desktop app and your terminal, on Windows, macOS and Linux.

  • Both work in your project, in plan mode. They read files, search and run read-only commands such as git log and git diff, but neither can change anything.
  • With your own setup. Your skills, plugins, MCP servers and CLAUDE.md / AGENTS.md apply to both.
  • With the sessions you choose. New sessions, your existing Claude Code and Codex sessions (with everything they already know), or the session you are asking from as one of the two members.
  • With the web. Both check current versions, APIs and docs instead of relying on memory.
  • With skills on request, such as llm-council, caveman, ponytail or graphify.

Contents:

How it works

flowchart LR
    Q[Your question] --> CA[Codex answers]
    Q --> LA[Claude answers]
    LA --> CC[Codex critiques Claude's answer]
    CA --> LC[Claude critiques Codex's answer]
    CC --> LRe[Claude replies to Codex's critique]
    LC --> CRe[Codex replies to Claude's critique]
    CRe & LRe --> D[Draft one joint answer]
    D --> R{Other model reviews}
    R -- disagrees --> D
    R -- agrees --> A[Answer both agree with]
  1. Answer: both models answer on their own, without seeing each other.
  2. Critique: each reviews the other's answer.
  3. Reply: the critiques are swapped. Each model reads what the other said about its answer and replies: it accepts the points that are right and explains where it still disagrees.
  4. Agree: one model drafts a joint answer from the whole discussion and the other reviews it. They repeat until both agree (at most 3 rounds by default).

The conversation goes both ways whoever writes the final answer, and from step 2 on each model sees the whole discussion so far. Each model keeps its session between questions, so it remembers the discussion and what it has already read, and each prompt carries only what that model has not seen yet.

Requirements

| You need | Install | Sign in | |---|---|---| | Node.js 20 or newer: runs the small MCP server (no dependencies) | nodejs.org | – | | Claude Code CLI, with a Claude Pro, Max, Team or Enterprise plan | macOS / Linux / WSL: curl -fsSL https://claude.ai/install.sh \| bash<br>Windows: irm https://claude.ai/install.ps1 \| iex | claude auth login | | Codex CLI, with a ChatGPT plan | any OS: npm install -g @openai/codex<br>macOS: brew install --cask codex | codex login β†’ Sign in with ChatGPT | | Git (recommended) | usually already installed | – |

  • Both CLIs are required. The installer checks for them and stops, with these install steps, if either is missing. Before each council, the CLIs it runs are checked for a sign-in, and nothing is sent until they are signed in.
  • Keep both CLIs up to date. The council uses recent options: Claude Code's plan mode and stream-json output, and Codex's exec resume and web search. If a run fails with "unknown option" or "unexpected argument", update the CLI it names: claude update, or npm install -g @openai/codex@latest.
  • Git lets both models look at your project's history, changes and blame, and skill add uses it to download a repository's skills.

Install

macOS / Linux / WSL

curl -fsSL https://raw.githubusercontent.com/hamza-aziz-ai/codex-claude-council/main/install.sh | bash

Windows (PowerShell)

irm https://raw.githubusercontent.com/hamza-aziz-ai/codex-claude-council/main/install.ps1 | iex

Any OS with Node.js

npx -y github:hamza-aziz-ai/codex-claude-council install

The installer checks Node.js and both CLIs (and whether each is signed in), then adds this repository's marketplace to Claude Code and Codex and installs the plugin in both (for Claude Code, for your user, so it works in every project). If the plugin is already installed, it updates it instead.

Options: --only claude|codex (one app only; both CLIs are still required), --claude-desktop (also register the server with Claude Desktop's Chat tab), --dry-run (show the commands without running them). To pass them:

curl -fsSL https://raw.githubusercontent.com/hamza-aziz-ai/codex-claude-council/main/install.sh | bash -s -- --claude-desktop
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/hamza-aziz-ai/codex-claude-council/main/install.ps1))) --claude-desktop

Afterwards:

  1. Fully quit and reopen Claude Code and Codex (and Claude Desktop), so they load the plugin.
  2. Check the setup: npx -y github:hamza-aziz-ai/codex-claude-council doctor.
  3. Try it in a project: "Ask the council: what does this project do, and what would you improve first?"

Update

npx -y github:hamza-aziz-ai/codex-claude-council update               # both apps
npx -y github:hamza-aziz-ai/codex-claude-council update --only claude # or --only codex
npx -y github:hamza-aziz-ai/codex-claude-council update --dry-run     # show the commands only

It refreshes the marketplace and updates the plugin in Claude Code and Codex; then fully quit and reopen both. Running the installer again does the same. CHANGELOG.md lists what changed. In Claude Desktop, updates arrive through Sync automatically (or Sync under Settings β†’ Plugins); in the ChatGPT desktop app, update the plugin under Settings β†’ Plugins.

Windows: if Codex fails with "failed to back up plugin cache entry: Access is denied. (os error 5)", a running app still has the plugin's folder open (versions up to 0.5.1 did this). Quit every Codex and Claude session, IDE extension and desktop app, then update again.

Or install per app

| App | How | |---|---| | Claude Code | claude plugin marketplace add hamza-aziz-ai/codex-claude-council<br>claude plugin install codex-claude-council@codex-claude-council --scope user | | Codex (CLI and IDE extension) | codex plugin marketplace add hamza-aziz-ai/codex-claude-council<br>codex plugin add codex-claude-council@codex-claude-council | | Claude Desktop (Cowork and Code) | Settings β†’ Customize β†’ Plugins β†’ + Add β†’ Add marketplace β†’ Add from a repository, enter hamza-aziz-ai/codex-claude-council, turn Sync automatically on, click Sync, then install codex-claude-council | | Claude Desktop, Chat tab | npx -y github:hamza-aziz-ai/codex-claude-council install --claude-desktop --only claude, then fully quit and reopen Claude Desktop | | ChatGPT desktop app | Settings β†’ Plugins β†’ Add β†’ + Add a marketplace, enter https://github.com/hamza-aziz-ai/codex-claude-council.git in Source, click Add marketplace, then install codex-claude-council |

Keep the desktop app open while you use it: the council runs on your computer through your local CLIs, so both still need to be installed and signed in.

Use it

Just ask in plain language. The host (the app you are asking in) picks the tool and fills in its inputs:

| You say | What runs | |---|---| | "Ask the council: should I use Postgres or MongoDB for this?" | council_ask: both answer, critique, reply, then agree on one final answer | | "Run a council debate on this migration plan." | debate: the final answer plus every answer, critique, reply and draft/review round | | "Get Codex's second opinion on this function." | ask_codex (or ask_claude for Claude alone) | | "Discuss with my Codex session 019a… whether this refactor is safe." (asked in Claude Code) | council_join: this session takes part itself; Codex continues session 019a… | | "Ask the council, continuing my Claude session 3f2a… and my Codex session "auth refactor": is my plan sound?" | council_ask with claude_session_id and codex_session_id | | "Council this with ChatGPT on gpt-5.6-sol at xhigh and Claude on opus at max: …" | council_ask with per-side model and effort | | "Ask the council and keep going until they agree: …" | council_ask with max_rounds: 0 | | "Ask the council, and let ChatGPT write the final answer: …" | council_ask with synthesizer: "codex" | | "Ask the council: is the latest Next.js release safe to upgrade to for our app?" | council_ask: both read the project and search the web | | "Ask the council without internet access: …" | council_ask with web_search: false | | "Ask the council, using the llm-council skill: rewrite the billing service or refactor it?" | council_ask with skill: "llm-council" |

In a project, the host passes its folder as the workspace, and the models read what they need themselves: point them at files, functions, the failing test or the error rather than pasting whole files. They cannot see the host's conversation (unless the host takes part itself), so the host states the task and any context that is not in the project.

Long runs. A council takes several minutes: six CLI calls (answers, critiques, replies) plus two per agreement round, all counting against both plans' limits. Some apps end a tool call after about 60 seconds (Claude Desktop does), so every tool returns within about 50 seconds, with the answer or with "still working", the current step and a job_id; the host then calls council_result until the answer is ready, while the council keeps running. council_cancel stops a job.

Examples and best practices

Pick the right tool

flowchart TD
    S{What do you want?} -->|a quick second opinion| O[ask_codex / ask_claude]
    S -->|a cross-checked answer| W{Who should take part?}
    W -->|two fresh sessions| CA[council_ask]
    W -->|my existing Claude Code and Codex sessions| CS[council_ask with claude_session_id and codex_session_id]
    W -->|the session I am in, with the other model| CJ[council_join]
    S -->|every step, to see where they disagree| D[debate]

The host picks the tool from your words. Name the tool if you want to be sure:

| To get | Say | Not | |---|---|---| | council_join (the session you are in takes part) | "Discuss with my Codex session 019a… whether …", "take part yourself as Claude, with my Codex session …", or "use council_join …" | "council_ask with my Codex session", which starts a separate Claude session instead | | council_ask with your own sessions | "Ask the council, continuing my Claude session … and

Truncated for display β€” read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3
CategoryAI
Updated15h ago
Forks0

Languages

JavaScript

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit β€” see the Safety scan above for what the skill file itself contains.

1 low
codex-claude-council β€” MCP Server: Install & Safety Check | SkillAgent