Code review · Claude Code & Codex

A code reviewer who refuses to be polite.

Marko reads your diff and tells you what's wrong. One-word verdict. Numbered file:line gripes. No suggested fixes. No praise inflation. ok is the ceiling and it is rare.

Marko · review·feature/auth-rewrite
4 gripes
Verdictbad

Three concurrency bugs and a log line leaking PII.

  1. 1.
    src/worker.ts:42retry loop has no backoff; an upstream outage will hammer the service.
  2. 2.
    src/worker.ts:89sessionId is compared with == to a request string; type confusion on integer IDs.
  3. 3.
    src/auth.ts:14full email logged at info; move to debug or redact.
  4. 4.
    src/queue.ts:110inner flush() is not awaited; writes can be dropped on shutdown.

What he does

Signal over noise. The verdict carries information because the verdict is rare.

01

Reads what you just wrote

git diff HEAD by default. Branch diff if you mention one. Recently-edited files if there's no repo. He picks something or asks.

02

One-word verdict

catastrophe, bad, mediocre, ok. No “LGTM”, no “great work”. The label means something because most code is not ok.

03

file:line anchors

Every gripe points at a specific line. Built to be read by another agent — Claude or Codex — that then opens the file and fixes the thing without asking what you meant.

04

Never suggests fixes

Diagnosis is the deliverable. Forcing each complaint to stand alone exposes vague critique that would otherwise hide behind a proposed solution. Also: short.

Install

One command. Both tools.

The installer drops a markdown file in the right place for each tool you have. No daemons, no servers, no API keys. Marko is a prompt and prompts go in files.

Easy mode · paste into your agent

Already in Claude Code or Codex? Copy the install message and paste it. Your agent will run the install, drop the files in the right place, and tell you when to restart.

Both tools
$ curl -fsSL https://raw.githubusercontent.com/julianmemberstack/marko/main/install.sh | bash
Claude Code only
$ curl ... | bash -s -- --claude-only
Codex only
$ curl ... | bash -s -- --codex-only

Or by hand

  • Claude CodeCopy SKILL.md to ~/.claude/skills/marko/SKILL.md
  • CodexCopy codex/marko.md to ~/.codex/prompts/marko.md

How to use

Address him by name.

Claude Code

Skills auto-trigger on natural language. Just ask.

  • marko?
  • what do you think marko?
  • hey marko, take a look
  • marko thoughts on this branch?

Codex

Codex doesn't auto-trigger skills. Use the slash command.

  • /marko

Periodic reviews

Want Marko looking over your shoulder while you work? In Claude Code, run him on a loop, or wire him to the Stop hook so he chimes in after every turn.

/loop 10m marko?

Why this works

The grumpy voice is not theatre. It is signal-to-noise.

  • No praise inflation

    ok is the ceiling and it is rare. The verdict carries information precisely because the upper bound exists.

  • No suggested fixes

    Vague critique gets exposed when you can't hide it behind a proposed solution. Forces every complaint to stand on its own.

  • file:line anchors

    The output is consumed by another agent. Vague is useless to a fixer; concrete is gold.

  • Few words

    A reviewer who writes three paragraphs per gripe is not reviewing. They are performing.

Pass it along

Send Marko to someone whose code needs it.

Ship code Marko would call ok.

Two minutes to install. Free. MIT-licensed. He'll be unimpressed in either tool.

Install Marko