Codex Review logo

Codex Review

Organization
etherfunlab
codex-review

Use when the user asks to review a branch, PR or diff with codex ("review this with codex", 用 codex 审一下, "codex review PR N"). Runs `codex exec` from the shell with a hand-written, repo-aware prompt; falls back to one OpenRouter GPT call only when codex is out of quota. Covers the invocation contract and the failure modes that make codex look dead or silently produce no report.

Overview

Publisheretherfunlab
Repositoryworkflow
Skill namecodex-review
Stars
75
Forks
17
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by etherfunlab on GitHub. Read the source before you install it.

Installation

Install the Codex Review AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/etherfunlab/workflow/tree/main/modules/review/agent/skills/codex-review
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/etherfunlab/workflow.git /tmp/workflow
mkdir -p .claude/skills
cp -r /tmp/workflow/modules/review/agent/skills/codex-review .claude/skills/codex-review
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Codex Review in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Codex Review on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Codex Review is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Codex review

"Review with codex" means codex exec from the shell, with a prompt you write yourself that knows this repo. Do not substitute a subagent of your own model or a generic built-in review command: the point is a second model family reading the diff against this repo's own invariants.

Invocation

bash
codex exec -C <repoDir> -s read-only -c approval_policy="never" \
  --output-last-message "$TMPDIR/codex_review.txt" "$(cat "$TMPDIR/prompt.txt")" </dev/null

Read the report from the --output-last-message file.

Four ways this fails silently

  • End with </dev/null. It forces stdin to EOF at once. Backgrounded without it, codex waits forever.
  • Never pipe codex's stdout. A pipe makes it think stdin is wanted; it hits EOF, exits 0, and never writes the --output-last-message file. For a log, redirect: > log 2>&1 </dev/null.
  • Run it in the foreground. Backgrounded with > file, the output is buffered and the file sits at one line, which looks like a hang.
  • -s read-only needs -c approval_policy="never". Without it, a session with no TTY waits for an approval that never comes.

Writing the prompt

Inline the diff and forbid exploring: "Do NOT explore the repository, do NOT open files, do NOT run commands. Review only the diff inlined below."

Four parts:

  1. Stack facts it needs. Module layout, the database and its migration discipline, earlier behaviour the diff relies on without restating. codex cannot see the repo; anything load-bearing goes here.
  2. What the change should do. One paragraph, so it reviews against intent instead of guessing it.
  3. Numbered review targets that are this diff's own invariants. "Does X hold on every path", "does anything change Y without going through Z". This is where the value is; a generic checklist is not.
  4. Output discipline. Concrete defects only, with file:line and the input or sequence that triggers each one, ranked by severity; one line per clean target; no summary of the diff, no praise.

The diff: git diff {{BASE_BRANCH}}...HEAD -- {{REVIEW_GLOBS}}.

Fallback: OpenRouter (optional, billed per call)

Only when codex exec exits on a usage limit (its log ends with "You've hit your usage limit" and the output file is never written). Send the same prompt as one call:

bash
set -a && . {{OPENROUTER_ENV_FILE}} && set +a && \
  python3 <this skill's directory>/openrouter_review.py --prompt "$TMPDIR/prompt.txt" --out "$TMPDIR/review.md"
  • One call per review. The script re-sends the same request only on a 5xx, a timeout or a connection failure, at most twice. If the result is weak, stop and give it to the user; never rewrite the prompt and run again on your own.
  • Before use, list https://openrouter.ai/api/v1/models for openai/gpt-*; pass --model when a newer flagship exists.
  • Never print the key.
  • Report it as what it is: codex did not run; GPT through OpenRouter did.

Reading the result

codex reports existing behaviour as a finding when the diff makes it visible. Decide deliberately: fixing the visibility belongs in this change; fixing the old quirk itself is often a separate decision with its own blast radius. Say which one you are doing and record the other.

Rule

The reviewer model must differ from the model that wrote the change.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Codex Review AI skill do?

Use when the user asks to review a branch, PR or diff with codex ("review this with codex", 用 codex 审一下, "codex review PR N"). Runs `codex exec` from the shell with a hand-written, repo-aware prompt; falls back to one OpenRouter GPT call only when codex is out of quota. Covers the invocation contract and the failure modes that make codex look dead or silently produce no report.

Why use Codex Review on TypingMind?

Because you install it once and use it with any model. Codex Review is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Codex Review in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/etherfunlab/workflow/tree/main/modules/review/agent/skills/codex-review. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Codex Review?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Codex Review?

As many as you like. As long as a model supports skills, you can use Codex Review with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Codex Review AI skill free?

Yes. It is published on GitHub by etherfunlab under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇