Skip to content
DBAI

Insights · Agents & Workflows

Claude plans. Codex builds. Show me that it works.

When I tell an AI agent to build something, I do not want a pile of suggestions. I want it to read the project, understand the problem, make the changes, test them, fix what breaks, and show me the result.

Published
Cluster
Agents & Workflows

Two models are only useful when the handoff is clear

That is why the Claude Code and Codex combination is useful. Give Claude responsibility for the brief, architecture, taste, and final review. Give Codex a bounded implementation job. Then make the work pass through a verification gate before it reaches you.

Build it. Check it. Fix what fails. Show me what works.

The value is separation of responsibility. One model translates the business outcome into an assignment. Another model executes it. The first model reviews the result against the original requirements and sends the worker back when the evidence does not hold up.

  1. 01

    Define

    State the outcome the user should be able to see or complete.

  2. 02

    Specify

    Write the acceptance criteria and protect the boundaries that must remain intact.

  3. 03

    Build

    Give the worker the smallest complete implementation it can finish and verify.

  4. 04

    Review

    Run the real feature and compare its behavior with the original brief.

  5. 05

    Correct

    Return exact failures to the same worker until the criteria pass.

  • Manager

    Claude Code

    Reads the situation, sets scope, makes architecture and design calls, writes the brief, and reviews the result.

  • Worker

    OpenAI Codex

    Inspects the repository, implements the assigned change, runs the requested checks, and returns evidence.

  • Revision gate

    The work is judged against behavior

    A summary is a pointer. A passing test, rendered page, denied unauthorized request, correct calculation, or verified deployment is evidence.

Install the tools and prove the connection

You need Claude Code, the Codex CLI, and the official Codex plugin for Claude Code. Current plugin requirements include Node.js 18.18 or later and either a ChatGPT subscription or an OpenAI API key.

  • Requirement

    Claude Code

    Install and authenticate it on the machine where you work.

  • Requirement

    OpenAI Codex CLI

    Install it globally and sign into the intended account.

  • Requirement

    Codex plugin

    Install the official plugin from OpenAI's Claude Code marketplace.

Install Claude CodeTerminal · shell
npm install -g @anthropic-ai/claude-code
claude doctor
Install and authenticate CodexTerminal · shell
npm install -g @openai/codex
codex login
Install the official Codex pluginInside Claude Code · shell
/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/reload-plugins
/codex:setup

Get the connection working before adding routing rules. The setup command checks whether Codex is ready. Check the current plugin README before installing because tooling and command names can change.

Point Codex at the model you want doing the work

This workflow routes its hardest work to GPT-6 Astra with high reasoning. Put the settings below in ~/.codex/config.toml, or add them to the relevant profile if you already maintain several Codex profiles.

Codex model configuration~/.codex/config.toml · toml
model = "gpt-6-astra"
model_reasoning_effort = "high"

Run a small command and confirm the model shown in the Codex header.

Configuration smoke testTerminal · shell
codex exec "say hi"

Model access varies by account. If GPT-6 Astra is unavailable, choose a model your account can use. The workflow matters more than the name in the configuration.

Tell the manager how work moves through the system

Claude Code reads CLAUDE.md as project guidance. Put broad operating rules in ~/.claude/CLAUDE.md. Put repository-specific rules in the project's own CLAUDE.md.

  • Planning and review

    Claude or Fable 5.1

    Use for planning, architecture, acceptance criteria, product judgment, copy, and final review.

  • Complex implementation

    GPT-6 Astra

    Use for difficult implementation, multi-file refactors, computer-use work, and failed escalations.

  • Routine implementation

    GPT-5.6 Sol

    Use for routine builds, tests, debugging, repository research, boilerplate, and brief-driven drafts.

This DBAI operating block turns the plan-build-review workflow into rules for real client work: repository instructions, ownership, existing changes, privacy, and evidence.

DBAI manager and worker rules~/.claude/CLAUDE.md or project/CLAUDE.md · markdown
# DBAI manager and workers

Claude is the manager. It reads the project, defines the outcome,
writes acceptance criteria, makes architecture and design calls,
and reviews the finished work.

Implementation goes to a Codex worker when delegation improves
speed, focus, or review quality. Small conversational replies and
pure judgment calls can stay inline.

## Before work starts

1. Read the repository instructions and the existing implementation.
2. Confirm the working directory, branch, and relevant application paths.
3. Identify user changes already in the worktree and preserve them.
4. Define what the user will be able to do when the task is complete.
5. Name the checks that will prove the result.

## Model routing

| Model | Use for |
|---|---|
| Claude / Fable 5.1 | Planning, architecture, product judgment, copy, final review |
| GPT-6 Astra | Complex implementation, multi-file refactors, computer-use work, failed escalations |
| GPT-5.6 Sol | Routine builds, tests, debugging, repo research, boilerplate, brief-driven drafts |

These are defaults. Judge the work by the result. Escalate when the
current model misses the bar.

## Worker brief

Every worker receives:
- The exact repository path.
- The problem and expected user behavior.
- The files or modules it owns.
- Relevant constraints and existing conventions.
- The checks it must run before reporting.
- The evidence required in its final response.

If several workers are active, separate file ownership or use isolated
worktrees. Tell every worker that other people or agents may be editing
the project. A worker never reverts changes it does not own.

## Revision gate

Every worker deliverable gets reviewed before it is accepted.
Run the real feature. Do not approve the work from a summary or diff alone.

- For interface work, inspect the actual page at the required sizes.
- For access control, test allowed and denied requests.
- For calculations, compare known inputs with expected outputs.
- For deployment work, verify the deployed route separately.

When a check fails, return the exact error, reproduction steps, and
expected behavior to the same worker. Continue until the acceptance
criteria pass or a concrete blocker remains.

Never remove, narrow, or substitute a requirement just to make a check pass.

## Completion report

Return a concise report with:
- What changed.
- Where it changed.
- What was tested and the result.
- What remains blocked or unverified.

Distinguish local implementation, deployment, and live verification.
Only claim the state supported by evidence.

Never print, echo, or write secrets, credentials, private customer data,
or production records into prompts, logs, screenshots, or reports.

Give the worker a job it can actually finish

Dispatch Codex with a repository path, a model, a sandbox, and a concrete task. Replace every placeholder and quote repository paths that contain spaces.

Astra dispatch commandTerminal · shell
codex exec </dev/null -s workspace-write -c approval_policy="never" -c model="gpt-6-astra" \
  -c model_reasoning_effort=high -C <repo> "<task: files to touch, what done looks like, the commands to run before reporting>"

A real assignment should describe behavior, boundaries, checks, and evidence.

Complete dispatch exampleTerminal · shell
codex exec </dev/null \
  -s workspace-write \
  -c approval_policy="never" \
  -c model="gpt-6-astra" \
  -c model_reasoning_effort=high \
  -C "/absolute/path/to/project" \
  "Read the repository instructions and inspect the existing shipment
  dashboard. Implement the missing empty and error states using the
  current UI conventions. Keep all existing authorization checks.
  Preserve unrelated changes. Run the relevant project checks and
  inspect the affected page if browser access is available. Report
  changed files, verification results, and anything still unverified."

A useful brief answers five questions: What is wrong? What should the user experience instead? Where may the worker change code? What must remain intact? Which checks prove the work?

The workspace-write setting confines writes to the workspace. An approval policy of never means the worker cannot stop and request broader execution permission, so blocked actions can fail. Use a policy that fits your environment.

Keep the correction attached to the same work

When a check fails, send the exact failure back to the same Codex session. That keeps the repository context and the decisions already made.

Resume the latest Codex sessionTerminal · shell
codex exec </dev/null resume --last -c approval_policy="never" "<exact error text or next chunk>"

When several sessions exist, use the exact session ID. It removes ambiguity.

Targeted fix roundTerminal · shell
codex exec </dev/null resume SESSION_ID \
  -c approval_policy="never" \
  "The shipment page crashes when the query returns no records.
  Reproduce the failure, add the missing empty state, and rerun the
  relevant checks. Report the result with file and route pointers."

Stay inside Claude Code when that is where the job started

The official plugin exposes review, adversarial review, rescue, status, and result commands. Use review when you want Codex to challenge current work without changing it. Use rescue when you want Codex to investigate or implement.

Plugin workflowInside Claude Code · shell
# Hand a concrete implementation problem to Codex
/codex:rescue investigate the failing shipment dashboard and fix the cause

# Run a normal read-only review
/codex:review --background

# Challenge architecture, assumptions, and risk
/codex:adversarial-review --background look for authorization gaps and race conditions

# Check the job and retrieve its report
/codex:status
/codex:result

Make done mean something

A successful build is one signal. It does not prove that the feature works, that the right records appear, that access is restricted, or that the deployed route matches the local checkout.

  • Interface

    Inspect the page

    Check the real route at desktop and mobile widths. Exercise loading, empty, error, and successful states.

  • Authorization

    Test both sides

    Prove that an allowed user succeeds and a user outside the tenant or account is denied.

  • Data

    Use known inputs

    Compare calculations, imports, and transformations with expected results you can verify independently.

  • Deployment

    Verify the live route

    Local implementation, successful deployment, and working production behavior are separate claims.

Tell me what changed, point me to where it changed, show me what passed, and say exactly what remains unverified.

Current documentation

Installation and plugin behavior should be checked against the official repositories because tooling changes.

Start with one useful job

Choose a contained improvement with an outcome you can see. Run it through planning, implementation, review, and correction. Tighten the handoff where information gets lost. Then expand the workflow.

Build it. Check it. Fix what fails. Show what works.

Bring us the workflow that needs to run without constant supervision.

We will show you what the build, review, and operating layer should look like.

Book a Discovery Call