From codex-review
Orchestrates cross-agent code review: Claude implements plans/code, Codex CLI reviews via bash scripts. Activates on 'codex review' or Russian triggers.
npx claudepluginhub artwist-polyakov/polyakov-claude-skills --plugin codex-reviewThis skill uses the workspace's default tool permissions.
Кросс-агентное ревью: Claude реализует, Codex (GPT) ревьюит. Codex работает в той же директории и может самостоятельно смотреть код.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Кросс-агентное ревью: Claude реализует, Codex (GPT) ревьюит. Codex работает в той же директории и может самостоятельно смотреть код.
Скрипты лежат в scripts/ рядом с этим SKILL.md. Определи полный путь:
SKILL.md на scripts/codex-review.sh (и scripts/codex-state.sh)Все команды ниже используют относительный scripts/ — подставь полный путь при вызове.
Codex CLI использует macOS system API (SCDynamicStore), которые блокируются sandbox Claude Code. Все вызовы codex-review.sh и codex-state.sh ОБЯЗАНЫ выполняться с dangerouslyDisableSandbox: true в Bash tool. Без этого codex крашится с паникой Rust.
Создай сессию Codex с описанием задачи.
bash scripts/codex-review.sh init "Implement JWT authentication for API"
Сессия может быть также задана вручную в .codex-review/config.env: CODEX_SESSION_ID=sess_...
Если сессии нет (exit 3 — NO_SESSION), спроси пользователя:
init?Опиши ЧТО собираешься делать, КАКОЙ подход выбрал и ПОЧЕМУ. Включи полное содержимое плана в аргумент — Codex НЕ имеет доступа к файлам вне папки проекта.
Если используешь plan mode — отправь план на ревью перед ExitPlanMode:
codex-review.sh planCHANGES_REQUESTED → скорректируй план, отправь снова (см. «Accept or Argue»)APPROVED → вызови ExitPlanMode для одобрения пользователемТаким образом план проходит два ревью: техническое (Codex) и бизнес-приоритетное (пользователь).
What: [problem being solved]
Approach: [chosen approach and why]
Alternatives considered: [what was rejected and why]
Files to change: [list]
Addressed concerns: [if resubmit — point-by-point from previous review]
bash scripts/codex-review.sh plan "What: JWT authentication for API. Approach: middleware validates token, refresh via separate endpoint. Alternatives: session-based rejected (API is stateless). Files: auth/jwt.py, api/auth.py, tests/test_auth.py"
Перед началом реализации обнови фазу:
bash scripts/codex-state.sh set phase implementing
Имплементируй по утвержденному плану.
Опиши ЧТО сделал, КАКИЕ решения принимал. НЕ передавай git diff — Codex сам посмотрит.
What changed: [summary of changes]
Key decisions: [non-obvious decisions made during implementation]
Files modified: [list with brief description per file]
Tests: [what tests were added/run, results]
Addressed concerns: [if resubmit — point-by-point from previous review]
bash scripts/codex-review.sh code "What changed: JWT auth middleware + refresh endpoint. Key decisions: RS256 over HS256 for key rotation. Files: auth/jwt.py (middleware), api/auth.py (refresh endpoint). Tests: 3 new tests (expired/invalid/valid tokens), all pass."
bash scripts/codex-state.sh show # Текущее состояние
bash scripts/codex-state.sh dir # Путь к state-каталогу текущей ветки
bash scripts/codex-state.sh reset # Сброс итераций (session сохраняется)
bash scripts/codex-state.sh reset --full # Полный сброс
bash scripts/codex-state.sh get session_id # Получить поле
bash scripts/codex-state.sh set session_id <val> # Установить вручную
bash scripts/codex-state.sh set phase implementing # Обновить фазу
Для чтения файлов ревью (notes, STATUS.md и пр.) используй codex-state.sh dir — он вернёт абсолютный путь к каталогу текущей ветки.
| Exit | Status | Действие |
|---|---|---|
| 0 | APPROVED | Продолжай работу |
| 0 | CHANGES_REQUESTED | Скорректируй и отправь снова (см. «Accept or Argue») |
| 1 | ERROR | Сообщи об ошибке, предложи проверить session_id |
| 2 | ESCALATE | Оповести пользователя, выведи краткое резюме, предложи варианты (см. «Обработка ESCALATE») |
| 3 | NO_SESSION | Спроси: создать сессию через init? |
Когда лимит итераций исчерпан:
STATE_DIR=$(bash scripts/codex-state.sh dir). Прочитай заметки ревью из $STATE_DIR/notes/ (файлы {phase}-review-{N}.md)AskUserQuestion с тремя вариантами:
Обработка ответа:
codex-review.sh {phase} "..." --max-iter $((текущий_лимит + 1))codex-review.sh {phase} "..." --max-iter 999Файл STATUS.md в state-каталоге ветки (путь: codex-state.sh dir) создаётся и обновляется автоматически скриптами. Не редактируй его вручную.
init и обновляется при каждом plan/code и codex-state.sh setcode и при reset --fullCodex пишет свой вердикт в verdict.txt внутри state-каталога ветки (одно слово: APPROVED или CHANGES_REQUESTED). Файл очищается перед каждым запросом ревью. Если Codex не создал файл — скрипт парсит вердикт из текста ответа (fallback).
codex exec напрямую — только через скрипты codex-review.sh и codex-state.sh. Скрипты сами знают модель, конфиг и session_idcodex-state.sh set phase implementing--max-iter N позволяет изменить лимит итерацийСостояние ревью изолировано по ветке. Скрипты автоматически определяют основной репозиторий и текущую ветку. Параллельная работа на нескольких ветках/worktrees безопасна. config.env — общий (в корне .codex-review/). Для получения пути к state-каталогу текущей ветки используй codex-state.sh dir.
При получении CHANGES_REQUESTED:
$(bash scripts/codex-state.sh dir)/notes/{phase}-review-{N}.md