.agents/skills/claude-review-codex/SKILL.md
Temporary review gate for Codex-authored code. Until the local Claude CLI is restored, spawn a Codex subagent to review the diff against AGENTS.md constraints and exec-plan acceptance criteria. Review→Fix loop runs at most 3 rounds; P0-free exits with APPROVE, otherwise escalates to Human Review. Use this skill after self-review (Step 3a) passes but before approving the PR. Trigger immediately — do not skip this gate.
npx skillsauth add Bububuger/spanory claude-review-codexInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Temporarily replace the local Claude CLI gate with a Codex subagent review. This is a fallback second-pass review, not true heterogeneous-model review. Use it until the local Claude path is restored.
npm run check && npm test)origin/main is available for diffingspawn_agent, send_input, wait_agent, and close_agent are available in
this sessionInvoke after WORKFLOW.md Step 3a (auto-review) self-review passes and before approving the PR.
Collect the following context before invoking:
# 1. diff (relative to main)
DIFF_FILE=$(mktemp /tmp/cross-review-diff-XXXXXX.md)
git diff origin/main...HEAD > "$DIFF_FILE"
# 2. AGENTS.md constraints
AGENTS_FILE="AGENTS.md"
# 3. exec-plan (parse path from issue description, if present)
# EXEC_PLAN_FILE="docs/exec-plans/bub-xxx.md"
Maintain state:
round: current round number (1–3)review_history: accumulated results from all previous roundsfix_summary: summary of changes made this roundreview_agent_id: spawned Codex subagent idSpawn one Codex subagent and wait for its result.
Recommended spawn settings:
model: gpt-5.3-codexreasoning_effort: highfork_context: truePrompt the subagent with:
You are a senior code reviewer. You are reviewing code produced by another AI
agent (Codex/GPT).
Project constraints:
<contents of AGENTS.md>
Change diff:
<contents of git diff origin/main...HEAD>
Please review comprehensively:
1. Correctness — Is the logic correct? Are edge cases handled?
2. Architecture compliance — Does it follow AGENTS.md constraints
(Contract-First, immutable design, field registry, adapter isolation, etc.)?
3. Type safety — Is TypeScript strict mode satisfied? Does `any` leak?
4. Cross-package boundaries — Are there direct internal file imports that
violate rootDir rules?
5. Test coverage — Are new logic paths covered by tests? Consider whether
`npm run check && npm test` is sufficient.
6. Security — Are there secret leaks or injection risks?
Classify each issue as P0 (blocking) / P1 (important) / P2 (suggestion).
Attach the specific file path and line number for each issue.
If there are no P0 issues, write NO_P0 at the end.
Output format:
### Findings
- [P0/P1/P2] file:line — issue
### Summary
- short overall assessment
If there are no P0 findings, append `NO_P0` as the final line. Otherwise omit
it.
Read the subagent result directly; no extraction script is needed.
Reuse the same subagent with send_input when possible. If the agent is no
longer available, spawn a fresh one and provide the full context again.
Send:
You are conducting round {round} of review.
Previous review results:
{review_history}
Changes made this round:
{fix_summary}
Incremental diff:
<contents of git diff origin/main...HEAD>
Please complete:
1. Verify whether each previous P0/P1 issue has been fixed — mark each as
[FIXED] or [NOT FIXED]
2. Check whether the new changes introduced any new issues
3. Keep the same P0/P1/P2 classification and file:line precision
Output format:
### Previous Issue Verification
- [FIXED/NOT FIXED] issue
### New Findings
- [P0/P1/P2] file:line — issue
### Outstanding Issues Summary
- unresolved issues
If there are no outstanding or new P0 findings, append `NO_P0` as the final
line. Otherwise omit it.
Wait for completion and parse the returned text directly.
NO_P0) → PASS — record P1 issues in workpad
for referenceHuman Reviewnpm run check && npm test) to
confirm no regressionsfix_summary for use in the next review roundAfter review passes:
### Cross-Review section:
- Reviewer: Codex subagent
- Model: gpt-5.3-codex
- Rounds: {n}/3
- Result: APPROVED
- P1 remaining: {list or "none"}
Human ReviewOutput in Chinese for the human user
--- Round {n}/3 · Review Gate ---
Reviewer: Codex subagent (gpt-5.3-codex)
Result: P0:{x} P1:{x} P2:{x}
{Previous round fix verification (from round 2 onward)}
{Issue list}
Changes: {fix_summary}
send_input.| Issue | Mitigation |
|-------|------------|
| spawn_agent fails or no subagent is available | Retry once; if it still fails, escalate to Human Review |
| Diff too large for context window | Pass only the diff for changed files, not the entire repo |
| Same issue repeats across rounds | Stop at round 3 and escalate |
| Agent output is verbose | Normalize it into the per-round Chinese summary before reporting |
tools
Push current branch changes to origin and create or update the corresponding pull request; use when asked to push, publish updates, or create pull request.
development
Pull latest origin/main into the current local branch and resolve merge conflicts (aka update-branch). Use when Codex needs to sync a feature branch with origin, perform a merge-based update (not rebase), and guide conflict resolution best practices.
documentation
Linear GraphQL patterns for Symphony agents. Use `linear_graphql` for all operations — comments, state transitions, PR attachments, file uploads, and issue creation. Never use schema introspection.
testing
Land a PR by monitoring conflicts, resolving them, waiting for checks, and squash-merging when green; use when asked to land, merge, or shepherd a PR to completion.