clonst_review
Submit a plan, code, or proposal for adversarial AI review. Iterate revisions with the reviewer until consensus is reached.
Instructions
Have a plan, code or proposal critiqued by Codex (a second LLM, through its CLI and the user's ChatGPT subscription). One call = one structured critique (APPROVED/CHANGES_NEEDED verdict, required changes, suggestions, risks). The revision loop lives on your side: critically evaluate each critique - apply what holds, reject with justification what is wrong, drifts from the project's intent, or would break something else - then call this tool again with the revised content and the returned thread_id - the reviewer keeps its session memory across rounds. Loop until consensus=true, following the returned next_action field, or until the user decides to stop. WHEN TO USE IT: the criterion is LOGIC, not size. Call it by default, without being asked, for any development that touches the project's logic or behavior (business logic, computations, data flows, models, routes, APIs, state, error handling, concurrency, security, migrations), and for plans and architecture decisions before coding. Do NOT use it for pure presentation (static HTML/CSS, copy), documentation, renames without behavior change, or throwaway content the user will not run. Every call consumes the user's subscription quota; when the scope is unclear, ask the user.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| round | No | Round number (default: 1 without thread_id, 2 with). Hard safety cap: 50 rounds (a ping-pong reaching that point is a runaway, not a review). | |
| content | Yes | The plan, code or proposal to review, COMPLETE (on later rounds: the full revised version, not a diff). | |
| context | No | Round 1 only: the reviewer's yardstick for the intent-drift check - user goal, intended behavior, non-goals, constraints, business/product intent, and decisions already made with the user. The reviewer measures the deliverable against this and flags divergences; the richer it is, the better the review. Ignored when thread_id is provided (the reviewer already holds the context in session memory). | |
| language | No | Language code for the reviewer's free-text output: language[-Script][-Region] only (e.g. "fr", "pt-BR", "zh-Hans"). Pass the language of your conversation with the user so critiques read naturally to them. Omit to let the reviewer use the language of the reviewed content. | |
| thread_id | No | Later rounds: the identifier returned by the previous call. Resumes the reviewer's session, so it remembers its critiques. Omit on round 1. | |
| max_rounds | No | Round limit set by the user for THIS ping-pong (the reviewer is informed and calibrates its demands). Omit by default: no limit, the loop continues until consensus. Pass the same value on every round. | |
| changes_made | No | Later rounds: summary of the changes made in response to the previous critiques. | |
| project_path | No | Absolute path of the project: the reviewer runs there and can read the real files. Reserve it for reviews that must verify existing APIs/contracts/files: by default the content parameter is enough. When set, the ENTIRE project (including .env and secrets) becomes readable by the reviewer, and token consumption can grow sharply: the reviewer explores files agentically, repeatedly re-sending its growing context (largely served from cache when the CLI reports cache hits). Pass it only when independent verification adds value. | |
| review_focus | No | Round 1: review focus. Default: all. | |
| changes_rejected | No | Later rounds: rejected critiques, each with its justification (the reviewer will evaluate them). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| round | Yes | ||
| score | Yes | ||
| usage | Yes | ||
| status | Yes | ||
| verdict | Yes | ||
| critique | Yes | ||
| consensus | Yes | ||
| report_id | Yes | ||
| thread_id | Yes | ||
| next_round | Yes | ||
| next_action | Yes | ||
| report_path | Yes | ||
| session_log | Yes | ||
| suggestions | Yes | ||
| total_usage | Yes | ||
| report_error | Yes | ||
| reviewer_model | Yes | ||
| should_reinvoke | Yes | ||
| duration_seconds | Yes | ||
| next_action_kind | Yes | ||
| required_changes | Yes | ||
| risks_identified | Yes | ||
| session_migrated | Yes | ||
| reviewer_feedback | Yes | ||
| requires_user_input | Yes | ||
| parsed_from_fallback | Yes | ||
| total_duration_seconds | Yes | ||
| reviewer_reasoning_effort | Yes |