Agent skill

Consult Codex

by centminmod in centminmod/my-claude-code-setup

Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives.

MITAuto-check passedResearch & Science

Install Consult Codex

skills CLI
$ npx skills add centminmod/my-claude-code-setup --skill consult-codex -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install centminmod/my-claude-code-setup consult-codex --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/centminmod/my-claude-code-setup.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/consult-codex .claude/skills/consult-codex && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
consult-codex
GitHub stars
2.7k
Token cost
~4.8k tokens
SKILL.md length
1,641 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives.

  • Works in 5 steps: Build Enhanced Prompt → Invoke Both Analyses in Parallel → Cleanup Temp Files → …
  • A quick second opinion on a code question
  • SKILL.md covers When to Use This Skill, Workflow, Codex Response and Code-Searcher (Claude) Response, plus 6 more sections
  • Calls jq, bash and brew

What it does

Consult Codex is an agent skill from centminmod/my-claude-code-setup. Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives. Use for a quick second opinion on a code question.

Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Research & Science, covering Citation management. The repository describes itself as: Shared starter template configuration and CLAUDE.md memory bank system for Claude Code. The licence is MIT.

When your agent uses it

  • A quick second opinion on a code question
  • Tasks that involve Citation management

Example prompts

  • “/consult-codex”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Build Enhanced Prompt
  2. Invoke Both Analyses in Parallel
  3. Cleanup Temp Files
  4. Handle Errors
  5. Create Comparison Analysis

What it can do on your machine

Read from SKILL.md and the folder at commit 7d5c374. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • jq
    • bash
    • brew

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Consult Codex loads about 4.8k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 1,641 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~4.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from centminmod/my-claude-code-setup at commit 7d5c374, republished under its MIT licence (© centminmod). 1,641 words, ~4,790 tokens.

Download SKILL.mdSave it as .claude/skills/consult-codex/SKILL.md (or your agent's skills folder).
name
consult-codex
description
Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives. Use for a quick second opinion on a code question.

Dual-AI Consultation: Codex vs Code-Searcher

You orchestrate consultation between OpenAI's Codex and Claude's code-searcher to provide comprehensive analysis with comparison.

When to Use This Skill

High value queries:

  • Complex code analysis requiring multiple perspectives
  • Debugging difficult issues
  • Architecture/design questions
  • Code review requests
  • Finding specific implementations across a codebase

Lower value (single AI may suffice):

  • Simple syntax questions
  • Basic file lookups
  • Straightforward documentation queries

Workflow

When the user asks a code question:

1. Build Enhanced Prompt

Problem-restate pre-flight (non-blocking). Before building the prompt, emit ONE line restating the code question you are about to dispatch (and, only if genuinely ambiguous, the alternative reading), then proceed:

Reading this as: «one-line restatement» (alt: «other reading», if any) — proceeding to consult; interrupt now to correct the framing.

Emit-and-proceed — do not ask-and-wait (the orchestrator can't reliably detect its own misframing). One line, and it guards the whole dispatch against a wrong-framing run.

Wrap the user's question with structured output requirements:

[USER_QUESTION]

=== Analysis Guidelines ===

**Structure your response with:**
1. **Summary:** 2-3 sentence overview
2. **Key Findings:** bullet points of discoveries
3. **Evidence:** file paths with line numbers (format: `file:line` or `file:start-end`)
4. **Confidence:** High/Medium/Low with reasoning
5. **Limitations:** what couldn't be determined

**Line Number Requirements:**
- ALWAYS include specific line numbers when referencing code
- Use format: `path/to/file.ext:42` or `path/to/file.ext:42-58`
- For multiple references: list each on a SEPARATE line with its own file path
  (avoid comma-separated multi-citation like `file.ts:45, 67, 98`)
- Include brief code snippets for key findings

**Examples of good citations:**
- "The authentication check at `src/auth/validate.ts:127-134`"
- "Configuration loaded from `config/settings.json:15`"
- "Error handling in `lib/errors.ts:45`, `lib/errors.ts:67-72`, and `lib/errors.ts:98`"

**Citations Index (required):** end your response with a fenced block, one line per
Key Finding (repeat each block entry's `file:line` inline in the finding as usual):
```citations
<finding #> — path/to/file.ext:LINE[-END]
```

Severity / no-manufacture block — ORCHESTRATOR-GATED. Append the block below to both agents' prompts identically ONLY when the query is a defect hunt / code review (bug, security audit, "what's wrong with…", "review this"). OMIT it for explanatory / "how does X work" questions, where "found nothing" is not meaningful. The orchestrator — which knows the query type — makes this include/omit decision once, BEFORE writing the prompt files; do not leave it to each agent to self-classify. When included, append exactly these two bullets (the text only — no leading marker):

- Tag each finding with a **Severity** — Critical (wrong/broken on expected inputs) · Warning (fails on unusual but valid inputs) · Info (noteworthy, not actionable). Severity is *impact*, orthogonal to the Confidence field (*certainty*).
- **Finding nothing is a valid, valuable result.** If the code is correct, say so plainly with one verifying note — do NOT manufacture issues to look thorough.
2. Invoke Both Analyses in Parallel

Setup (run first). $CLAUDE_PROJECT_DIR is not always exported into the Bash tool shell, so resolve it with a $PWD fallback and ensure the tmp dir exists. Substitute the resolved literal path for $PROJECT_DIR, and a freshly generated RUN_ID (seconds-resolution + 4-char nonce, e.g. run-2026-05-25-143052-a7f3), into every command below. The RUN_ID in temp filenames prevents collisions between two concurrent invocations sharing $PROJECT_DIR/tmp.

bash
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$PWD}"
# Validate BEFORE creating tmp — `mkdir -p` would otherwise make the check pass even
# for a bad path (it creates the dir, then `[ -d ]` always succeeds).
[ -d "$PROJECT_DIR" ] || { echo "ERROR: PROJECT_DIR '$PROJECT_DIR' is not a directory" >&2; exit 1; }
mkdir -p "$PROJECT_DIR/tmp"

# Pre-flight (fail fast, not after a 10-min hang). jq is a HARD dependency — output
# parsing needs it — so abort now rather than warn-and-continue into opaque failures.
command -v jq >/dev/null 2>&1 || { echo "ERROR: 'jq' not found — required for output parsing; aborting" >&2; exit 1; }
# codex is a soft dependency — the CODEX_BIN resilience block below resolves or SKIPs it.
command -v codex >/dev/null 2>&1 || \
  zsh  -i -c "type codex" >/dev/null 2>&1 || \
  bash -i -c "type codex" >/dev/null 2>&1 || \
  echo "WARNING: 'codex' not found — will attempt nvm resolution below, else SKIP"

# Sweep stale orphans (>60 min) from crashed prior runs (best-effort, age-based —
# can theoretically delete a live run's files if it paused >60 min; acceptable).
find "$PROJECT_DIR/tmp" -maxdepth 1 -name '*-prompt-*.txt'   -mmin +60 -delete 2>/dev/null
find "$PROJECT_DIR/tmp" -maxdepth 1 -name '*-output-*.jsonl' -mmin +60 -delete 2>/dev/null

Codex binary resilience (run once, before dispatch). An nvm-managed codex can be a symlink whose @openai/codex install is broken (deleted vendor binary → spawn ... ENOENT), and a broken version can sit EARLIER on PATH than a working one. command -v / zsh -i return the broken path, so detect by RUNNING the binary. If the PATH-resolved codex fails, hunt all nvm node installs for one whose --version succeeds and emit its absolute path. Emit CODEX_BIN=SKIP if none work.

bash
CODEX_BIN=""; INTERACTIVE_SHELL=zsh
# Capture WHICH interactive shell resolves codex (nvm may be in only one of
# ~/.zshrc / ~/.bashrc). The dispatch below uses $INTERACTIVE_SHELL so a
# .bashrc-only setup on macOS still works (prior bug: probe accepted bash,
# dispatch hardcoded zsh).
if   zsh  -i -c 'codex --version' >/dev/null 2>&1; then CODEX_BIN="codex"; INTERACTIVE_SHELL=zsh   # codex resolves via zsh
elif bash -i -c 'codex --version' >/dev/null 2>&1; then CODEX_BIN="codex"; INTERACTIVE_SHELL=bash  # codex resolves via bash
else
  # Match symlinks too (-type l): nvm/npm install codex as a bin/ symlink, which -type f misses.
  CODEX_BIN=$(find "$HOME/.nvm/versions/node" -maxdepth 5 -name codex \( -type f -o -type l \) 2>/dev/null | while IFS= read -r p; do
    "$p" --version >/dev/null 2>&1 && { printf '%s\n' "$p"; break; }
  done)
  [ -z "$CODEX_BIN" ] && CODEX_BIN="SKIP"
fi
echo "CODEX_BIN=$CODEX_BIN"                   # MUST echo: shell vars don't persist across Bash tool calls
echo "INTERACTIVE_SHELL=$INTERACTIVE_SHELL"   # the interactive shell that resolves codex; substitute into the dispatch below

# Resolve the timeout binary used to wrap the Codex gen dispatch (§Step 2 below) so a
# hung CLI is bounded rather than running unbounded — the harness may auto-background
# the dispatch, letting it escape the Bash tool's own timeout. Probe BOTH names:
# Homebrew coreutils installs GNU timeout as `gtimeout`; plain `timeout` exists only
# when the coreutils gnubin PATH is on. If neither exists, TIMEOUT_CMD stays empty and
# the dispatch runs UNWRAPPED (best-effort Bash-tool timeout; `brew install coreutils`
# restores the hard guard).
TIMEOUT_CMD=""
if   command -v timeout  >/dev/null 2>&1; then TIMEOUT_CMD="timeout"
elif command -v gtimeout >/dev/null 2>&1; then TIMEOUT_CMD="gtimeout"
fi
echo "TIMEOUT_CMD=$TIMEOUT_CMD"   # substitute into the §Step-2 Codex dispatch (when empty: omit the wrap)

Two-phase dispatch (required). Tool calls in one message run concurrently, so emitting the Codex prompt-file Write and the Codex dispatch together races the dispatch ahead of the file (Codex errors on a missing prompt file). Use two messages: message 1 writes the Codex prompt file (Step 1 below); message 2 issues the Codex dispatch (Step 2) and the Code-Searcher Agent call in parallel:

Gen-dispatch timeout watchdog (GEN_TIMEOUT=1200). Each $TIMEOUT_CMD -k 10 1200-prefixed CLI gen below — SIGTERM at 1200s (20 min), SIGKILL 10s later (-k 10, which also reaps orphaned Node/MCP children) — is bounded against a hung provider CLI that would otherwise run unbounded (the harness may auto-background the dispatch, so the Bash tool's own timeout is not a reliable cap). When TIMEOUT_CMD is empty (no timeout/gtimeout): omit the $TIMEOUT_CMD -k 10 1200 prefix and dispatch unwrapped (the existing §Setup fallback) — set the Bash tool's own timeout parameter to 1300000 ms as a best-effort cap, and brew install coreutils to restore the hard guard. On a timed-out gen (exit 124 = SIGTERM, 137 = SIGKILL): the output file is empty/truncated, so the existing [ -z … ] parse guard already drops the agent — additionally surface Agent X timed out after 1200s (distinct from an auth failure, which leaves non-empty stderr) and re-count against the §Setup minimum-agent guard. Do not retry. Code-Searcher (Agent tool) carries no $TIMEOUT_CMD -k 10 1200 prefix — it is bounded by its own mechanism, not this watchdog.

  • For Codex:

    Model ownership — the model is CONFIG-OWNED, never named by this skill. Do not pass -m: inherit the model and reasoning effort from Codex configuration (~/.codex/config.toml — this installation is configured for gpt-5.6-sol, high effort). Report the agent as plain "Codex" everywhere in the report; never a hardcoded version string. A hardcoded label silently misreports the model the moment the config changes: this skill advertised GPT-5.6-terra in seven places while every dispatch had been running gpt-5.6-sol, because the dispatch carries no -m and never did (corrected 2026-08-01).

    Step 1: Write the enhanced prompt to a temp file using the Write tool:

    Write to $PROJECT_DIR/tmp/codex-prompt-RUN_ID.txt with the ENHANCED_PROMPT content

    Step 2: Execute Codex (allow ~10 min; Codex can be slow). Pipe the prompt via stdin and capture the JSONL event stream to a file.

    Pick the form based on CODEX_BIN from Setup:

    • CODEX_BIN=codex → use the interactive-shell form below ($INTERACTIVE_SHELL resolved in Setup).
    • CODEX_BIN is an absolute path → use the absolute-path form (calls the binary directly so PATH ordering can't shadow it again).
    • CODEX_BIN=SKIP → no working codex; skip this dispatch, present only the Code-Searcher response. Label the report a degraded single-AI run — Code-Searcher is the sole agent, so there is no cross-comparison — and note that a direct Read or a lighter path would have been cheaper. Record the skip in §4 (error handling) / §5 (comparison report).

    macOS/Linux (CODEX_BIN=codex; $INTERACTIVE_SHELL = the zsh|bash literal resolved in Setup):

    bash
    cat "$PROJECT_DIR/tmp/codex-prompt-RUN_ID.txt" \
      | $TIMEOUT_CMD -k 10 1200 $INTERACTIVE_SHELL -i -c "codex exec -s read-only --json -C '$PROJECT_DIR' 2>&1" \
      > "$PROJECT_DIR/tmp/codex-output-RUN_ID.jsonl"

    Absolute-path (CODEX_BIN resolved to a path — macOS & Linux): substitute the literal absolute path for CODEX_BIN_LITERAL; no shell wrapper needed.

    bash
    cat "$PROJECT_DIR/tmp/codex-prompt-RUN_ID.txt" \
      | $TIMEOUT_CMD -k 10 1200 CODEX_BIN_LITERAL exec -s read-only --json -C "$PROJECT_DIR" \
      > "$PROJECT_DIR/tmp/codex-output-RUN_ID.jsonl" 2>&1

    Why this exact form (each piece prevents a failure seen in practice):

    • -s read-only is the portable Codex sandbox flag — it needs no ~/.codex/config.toml [profiles.readonly] entry, unlike -p readonly (which silently misbehaves when that profile is absent).
    • stdin pipe (cat … | …) instead of "$(cat …)" avoids the Reading additional input from stdin... hang (Codex waits on stdin when the prompt is passed as a positional) and ARG_MAX limits on large prompts.
    • -C '$PROJECT_DIR' — outer-shell single-quote expansion of an absolute path — gives Codex project context. Do NOT pass the dir via an inner-shell positional (-C "$0"/literal placeholders): besides being fragile, a skill loaded WITH user arguments has its $0/$1/$2 rewritten by Claude Code's argument substitution, so a wrong-bound $0 produces a cryptic Error: No such file or directory (os error 2).

    Parse $PROJECT_DIR/tmp/codex-output-RUN_ID.jsonl with the §2a recipes.

  • For Code-Searcher: Use Agent tool with subagent_type: "code-searcher" with the same enhanced prompt (plus the orchestrator-gated Severity block above on defect-hunt runs)

    • No sub-agent fan-out — append this VERBATIM to the code-searcher prompt: "Do this analysis YOURSELF — do NOT spawn sub-agents. Do not use the Agent/Task tool to fan out to code-searcher, Explore, general-purpose, or any other subagent; use Read/Grep/Glob/Bash directly, however many calls that takes." Code-searcher runs with all tools and fans out unprompted on Sonnet 5 (reported live 2026-08-01); a sub-agent inherits none of this run's constraints, and the Agent-tool call carries no dispatch watchdog — a stalled fan-out underneath it stalls the whole consult. (consult-panel §1d carries the full form of this guard.)

This parallel execution significantly improves response time.

Show full SKILL.md (468 more words)Show less
2a. Parse Codex --json Output Files (jq Recipes)

Codex CLI with --json typically emits newline-delimited JSON events (JSONL). Some environments may prefix lines with terminal escape sequences; these recipes strip everything before the first { and then fromjson? safely.

Set a variable first:

bash
FILE="$PROJECT_DIR/tmp/codex-output-RUN_ID.jsonl"   # the file the §2 dispatch redirected to

List event types (top-level .type)

bash
jq -Rr 'sub("^[^{]*";"") | fromjson? | .type // empty' "$FILE" | sort | uniq -c | sort -nr

List item types (nested .item.type on item.completed)

bash
jq -Rr 'sub("^[^{]*";"") | fromjson? | select(.type=="item.completed") | .item.type? // empty' "$FILE" | sort | uniq -c | sort -nr

Extract only “reasoning” and “agent_message” text (human-readable)

bash
jq -Rr '
  sub("^[^{]*";"")
  | fromjson?
  | select(.type=="item.completed" and (.item.type? | IN("reasoning","agent_message")))
  | "===== \(.item.type) \(.item.id) =====\n\(.item.text // "")\n"
' "$FILE"

Extract ALL agent_message events (Codex frequently emits multiple; extracting only the last would truncate the answer)

bash
out=$(jq -Rr '
  sub("^[^{]*";"")
  | fromjson?
  | select(.type=="item.completed" and .item.type?=="agent_message")
  | .item.text // empty
' "$FILE")
[ -z "$out" ] && echo "ERROR: Codex produced no agent_message events — check the raw output for errors" >&2
printf '%s\n' "$out"

Build a clean JSON array for downstream tools

bash
jq -Rn '
  [inputs
   | sub("^[^{]*";"")
   | fromjson?
   | select(.type=="item.completed" and (.item.type? | IN("reasoning","agent_message")))
   | {type:.item.type, id:.item.id, text:(.item.text // "")}
  ]
' "$FILE"

Extract command executions (command + exit code), avoiding huge stdout/stderr

Codex JSON schemas vary slightly; this tries multiple common field names.

bash
jq -Rr '
  sub("^[^{]*";"")
  | fromjson?
  | select(.type=="item.completed" and .item.type?=="command_execution")
  | [
      (.item.id // ""),
      (.item.command // .item.cmd // .item.command_line // "<no command field>"),
      (.item.exit_code // .item.exitCode // "<no exit>")
    ]
  | @tsv
' "$FILE"

Discover actual fields present in command_execution for your environment

bash
jq -Rr '
  sub("^[^{]*";"")
  | fromjson?
  | select(.type=="item.completed" and .item.type?=="command_execution")
  | (.item | keys | @json)
' "$FILE" | head -n 5
3. Cleanup Temp Files

After processing the Codex response (success or failure), clean up the temp files:

bash
rm -f "$PROJECT_DIR/tmp/codex-prompt-RUN_ID.txt" "$PROJECT_DIR/tmp/codex-output-RUN_ID.jsonl"

This prevents stale prompts from accumulating and avoids potential confusion in future runs.

4. Handle Errors
  • If one agent fails or times out, still present the successful agent's response
  • Note the failure in the comparison: "Agent X failed to respond: [error message]"
  • Provide analysis based on the available response
5. Create Comparison Analysis

Use this exact format:


Codex Response

[Raw output from codex-cli agent]


Code-Searcher (Claude) Response

[Raw output from code-searcher agent]


Comparison Table

(MANDATORY — always render this table on a multi-agent run; it is the at-a-glance visual diff readers rely on, so never skip it. Omit only in a degraded single-AI run, where there is nothing to compare.)

AspectCodexCode-Searcher (Claude)
File paths[Specific/Generic/None][Specific/Generic/None]
Line numbers[Provided/Missing][Provided/Missing]
Code snippets[Yes/No + details][Yes/No + details]
Unique findings[List any][List any]
Accuracy[Note discrepancies][Note discrepancies]
Strengths[Summary][Summary]

Agreement Level

  • High Agreement: Both AIs reached similar conclusions - Higher confidence in findings
  • Partial Agreement: Some overlap with unique findings - Investigate differences
  • Disagreement: Contradicting findings - Manual verification recommended

[State which level applies and explain]

Findings by Corroboration

Bucket each distinct finding by how many agents independently reached it:

  • Corroborated — both agents report it. Highest trust as a consensus signal — this dual has no citation-verification stage, so it is agreement, not verified correctness.
  • Solo — reported by one agent only. Plausible but unconfirmed.
  • Disputed — the agents contradict on the point. Flag for manual verification.

(Cluster findings across agents by their claim + file:line — the Citations Index blocks make this pairing mechanical. On a defect-hunt run, tag each listed finding with its agent-assigned Severity — Critical/Warning/Info.)

Key Differences

  • Codex: [unique findings, strengths, approach]
  • Code-Searcher: [unique findings, strengths, approach]

Synthesized Summary

[Combine the best insights from both sources into unified analysis. Prioritize findings that are:

  1. Corroborated by both agents
  2. Supported by specific file:line citations
  3. Include verifiable code snippets]

Recommendation

[Which source was more helpful for this specific query and why. Consider:

  • Accuracy of file paths and line numbers
  • Quality of code snippets provided
  • Completeness of analysis
  • Unique insights offered]

© centminmod, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/consult-codex of centminmod/my-claude-code-setup.

Open the folder on GitHubat commit 7d5c374

Compare with similar skills

Consult Codex next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Consult Codex compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Consult Codex this skillcentminmod/my-claude-code-setup2.7k—~4.8kAutomated safety check: PassMIT
Content Research Writerweapp-tailwindcss/weapp-tailwindcss1.9k25 repos~3.5kAutomated safety check: PassMIT
NetworkxzLanqing/codex-claude-academic-skills4.6k16 repos~3.2kAutomated safety check: PassBSD-3-Clause
Citation Verification GuideGalaxy-Dawn/claude-scholar5.7k3 repos~1.9kAutomated safety check: PassMIT
Systematic Review ScreenerImbad0202/academic-research-skills51k—~8.4kAutomated safety check: PassCustom licence
Literature Reviewneflibata-feng/MyArxiv-Agent12621 repos~5.9kAutomated safety check: NotesMIT

Similar skills

  • Content Research Writer

    weapp-tailwindcss/weapp-tailwindcss

    Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.

    1.9k GitHub starsUsed in 25 repos~3.5k tokens
    Research & ScienceAuto-check passed
  • Networkx

    zLanqing/codex-claude-academic-skills

    Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python.

    4.6k GitHub starsUsed in 16 repos~3.2k tokens
    Research & ScienceAuto-check passed
  • Citation Verification Guide

    Galaxy-Dawn/claude-scholar

    Reference guidance for checking every citation in academic writing against canonical sources such as DOI, arXiv, CrossRef and Semantic Scholar, to catch fake or wrong references.

    5.7k GitHub starsUsed in 3 repos~1.9k tokens
    Research & ScienceAuto-check passed
  • Systematic Review Screener

    Imbad0202/academic-research-skills

    Screens records for systematic, scoping and rapid reviews against fixed eligibility rules, using two blinded AI reviewers and a third adjudicator, with traceable PRISMA counts.

    51k GitHub stars~8.4k tokensUpdated 4 days ago
    Research & ScienceAuto-check passed
  • Literature Review

    neflibata-feng/MyArxiv-Agent

    Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.).

    126 GitHub starsUsed in 21 repos~5.9k tokens
    Research & ScienceAuto-check: notes
  • Citation Management

    K-Dense-AI/claude-scientific-writer

    Finds papers in OpenAlex, PubMed and Google Scholar, turns DOIs, PMIDs and arXiv IDs into clean BibTeX, and validates citations for a manuscript or thesis.

    2.4k GitHub starsUsed in 3 repos~3.9k tokens
    Research & ScienceAuto-check: notes

More from centminmod/my-claude-code-setup

  • Audit Session Metrics

    centminmod/my-claude-code-setup

    Audit a session-metrics JSON export for token-usage waste and produce a plain-English findings report.

    2.7k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • AI Image Creator

    centminmod/my-claude-code-setup

    Generate, edit-from-reference, or analyze images with AI via OpenRouter (Gemini, GPT Image, Seedream, Qwen, MAI, Grok, FLUX.2, Recraft, Muse, Riverflow; Cloudflare AI Gateway BYOK).

    2.7k GitHub stars~8.1k tokensUpdated today
    Auto-check: notes
  • Session Metrics

    centminmod/my-claude-code-setup

    Tally Claude Code session token usage and cost estimates from the raw JSONL conversation log.

    2.7k GitHub stars~8k tokensUpdated today
    Auto-check passed
  • Claude Docs Consultant

    centminmod/my-claude-code-setup

    Consult official Claude Code documentation from code.claude.com using selective fetching.

    2.7k GitHub stars~959 tokensUpdated today
    Auto-check passed
  • Consult Zai

    centminmod/my-claude-code-setup

    Dual-AI code analysis pairing z.ai GLM 5.2 with Claude code-searcher — a lightweight two-model second opinion.

    2.7k GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Task Breakdown

    centminmod/my-claude-code-setup

    Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed /…

    2.7k GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Questions about Consult Codex

What does Consult Codex do?

Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives. Consult Codex is an agent skill from centminmod/my-claude-code-setup. Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives.

When should I use Consult Codex?

Consult Codex fits situations like: A quick second opinion on a code question; tasks that involve Citation management.

How do I install Consult Codex in Claude Code?

Run `npx skills add centminmod/my-claude-code-setup --skill consult-codex -a claude-code`. Or copy the skill folder (.claude/skills/consult-codex in centminmod/my-claude-code-setup) into .claude/skills/consult-codex in your project. Claude Code loads it when a task matches its description.

How do I install Consult Codex in Codex?

Run `npx skills add centminmod/my-claude-code-setup --skill consult-codex -a codex`. Or copy the skill folder (.claude/skills/consult-codex in centminmod/my-claude-code-setup) into .agents/skills/consult-codex in your project. Codex loads it when a task matches its description.

Can I use Consult Codex in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add centminmod/my-claude-code-setup --skill consult-codex -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/consult-codex, .gemini/skills/consult-codex, .github/skills/consult-codex and .opencode/skills/consult-codex in your project.

What does Consult Codex need to run?

Going by SKILL.md and its folder, Consult Codex needs the command-line tools its instructions call (jq, bash and brew). Our summary lists: Node.js.

Does Consult Codex access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Consult Codex safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Consult Codex use?

Consult Codex is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Consult Codex use?

About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Consult Codex?

Skills that share tags, products or a category with Consult Codex: Content Research Writer (weapp-tailwindcss/weapp-tailwindcss, 1.9k stars), Networkx (zLanqing/codex-claude-academic-skills, 4.6k stars), Citation Verification Guide (Galaxy-Dawn/claude-scholar, 5.7k stars) and Systematic Review Screener (Imbad0202/academic-research-skills, 51k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Consult Codex?

centminmod (a GitHub user) maintains it in centminmod/my-claude-code-setup, which has 2,656 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: centminmod/my-claude-code-setup on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.