Uses

How I build with AI coding agents: Claude Code writes, Codex reviews, and I decide what ships.

# workflow

Claude Code writes, a Stop hook asks Codex to review the diff, and only high-confidence bugs send the work back.

# agents

Two agents with different jobs: one writes, the other checks. I stay the one who decides what ships.

  • Claude Codewriter

    Main coding agent in the terminal, running Opus. It reads the codebase, plans, edits and verifies its own work.

  • Codex CLIreviewer

    Reviews every change Claude makes, runs QA in a browser on demand, and takes standalone tasks with high reasoning effort.

  • GitHub Copilotinline

    Inline completions while I type in the editor.

# the review loop (hooks)

A small bash + jq tool wires Codex into Claude Code through hooks, so every change gets a second pair of eyes without me asking.

  • UserPromptSubmithook

    On each prompt, snapshot the working tree into a temporary git index (my staging area stays untouched). That tree is the review base.

  • Stophook

    When Claude finishes a turn that changed code, Codex reviews the diff against the base in read-only mode, with my recent prompts and any plan or spec files as context.

  • Only real bugs block

    Codex returns structured findings. Only high-confidence P0/P1 issues block Claude; medium ones go to a log. No style nitpicks, and Codex never edits code.

  • Claude can push back

    Claude verifies each finding and either fixes it or answers CODEX-REJECT with a reason. Rejected findings are remembered and not raised again.

  • Never in the way

    Rounds are capped, a Codex failure or timeout never blocks, accounts fall back when one hits a quota, and the loop can be turned off per repo or for a few hours.

# /qa: codex as qa engineer
  • /qaskill

    Starts or reuses the dev server, then lets Codex write and run test cases through a headless, isolated Playwright browser.

  • Guard rails

    A request guard blocks dangerous endpoints, passwords stay in a 0600 secrets file and are redacted from logs, and the result comes back as a report with screenshots for Claude to triage.

# superpowers: how a feature gets built

The Superpowers plugin turns good engineering habits into skills the agent must follow, so it does not jump straight into code.

  • brainstorming1 · design

    Before any new feature, the agent asks questions one at a time, plays back what it understood and waits for my approval of the design.

  • using-git-worktrees2 · isolate

    The work happens on its own branch in a separate worktree, so my main checkout stays clean.

  • writing-plans3 · plan

    The approved design becomes a plan of small tasks with exact files, steps and checks, written for an engineer with no context.

  • subagent-driven-development4 · build

    Each task goes to a fresh subagent, so context stays small; independent tasks can run in parallel with dispatching-parallel-agents.

  • test-driven-development5 · test

    Write the failing test, make it pass, then refactor. When something breaks, systematic-debugging finds the root cause before any fix.

  • requesting / receiving code review6 · review

    A reviewer checks each task against the plan; feedback is verified on its merits, not accepted blindly.

  • verification-before-completion7 · verify

    No "done" without running the checks and showing the output: tests, lint, a browser screenshot.

  • finishing-a-development-branch8 · ship

    Once everything passes, choose to merge, open a PR, keep the branch or discard it.

# skills & plugins
  • Feature dev · Code review · Frontend designplugin

    Guided feature work with codebase exploration, PR reviews, and design guidance for new UI.

  • Context7plugin

    Pulls current library docs into the session instead of relying on what the model remembers.

  • Cavemanplugin

    Terse output mode plus a compressor for memory files, so long sessions spend tokens on code, not prose.

  • Custom skillsskill

    /codex-review to toggle the loop, /codex-model to pick the reviewer model and effort, /qa, plus React best-practice and agent orchestration skills.

# mcp servers
  • Playwright

    The agent opens the app, clicks through it and screenshots the result before calling a UI change done.

  • Chrome DevTools

    Performance traces, network and console inspection, Lighthouse and accessibility checks from inside the session.

  • Codegraph

    A SQLite knowledge graph of the codebase: one call returns the relevant symbols, call paths and blast radius instead of a grep-and-read loop.

  • ESLint

    Lints exactly the files that changed, so edits match the project rules.

# context, memory & cost
  • CLAUDE.mdglobal + per repo

    Standing rules, like "query the code graph before grep", plus each project's architecture notes and conventions.

  • Persistent memory

    Facts and feedback that should outlive one session are saved as small notes the agent reads next time.

  • RTKPreToolUse hook

    Rewrites shell commands through a Rust proxy that trims noisy output, typically saving 60-90% of tokens on git, test and build output.

  • Status line

    A custom status line shows the model, how much context is left, the folder and the git branch at a glance.

# orchestration with orca

For bigger jobs I run several agents at once in Orca, a desktop app for coding agents, with one of them coordinating the rest.

  • Parallel worktreesorca-cli

    Each agent (Claude Code or Codex) gets its own git worktree and terminal, so parallel work never collides.

  • Coordinator + workersorchestration

    A coordinator breaks the job into a task DAG with dependencies, dispatches tasks to workers and waits for worker_done or an escalation.

  • Messages & decision gates

    Workers and the coordinator talk through threaded messages and blocking ask/reply; decision gates stop the flow until results are checked.

  • Handoffs

    A whole task can be handed to another agent in another worktree when it should own it end to end.

  • Linearorca-linear

    Work starts from a Linear ticket and ends with the PR link, a completion comment and the ticket moved to the next state.

  • Hooks to the dashboard

    Claude Code hooks report every agent event (prompts, tool calls, permission requests, stops) back to Orca, so I see all agents in one place.

# editor & stack
  • WebStorm

    Main IDE for React and TypeScript.

  • VS Code

    Quick edits, notes and markdown.

  • Next.js · React · TypeScript

    Default stack for product UIs and this site.

  • Playwright · Vitest · axe-core

    The checks the agents run before anything is called done.