agent-deck
Управление сессиями AI агентов через agent-deck CLI. Триггеры (RU): "запусти агента", "запусти саб-агента", "создай сессию",…
Workflow кросс-агентного ревью с Codex. Triggers (RU): "кодекс ревью". Triggers (EN): "with codex review", "codex review workflow", "start codex review". ВАЖНО: при срабатывании триггера прочитай SKILL.md до любых других шагов.
$ npx -y skills add artwist-polyakov/polyakov-claude-skills --skill codex-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/codex-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Workflow кросс-агентного ревью с Codex. Triggers (RU): "кодекс ревью". Triggers (EN): "with codex review", "codex review workflow", "start codex review". ВАЖНО: при срабатывании триггера прочитай SKILL.md до любых других шагов.
name: codex-review description: | Workflow кросс-агентного ревью с Codex. Triggers (RU): "кодекс ревью". Triggers (EN): "with codex review", "codex review workflow", "start codex review". ВАЖНО: при срабатывании триггера прочитай SKILL.md до любых других шагов.
Кросс-агентное ревью: Claude реализует, Codex (GPT) ревьюит. Codex работает в той же директории и может самостоятельно смотреть код.
Скрипты лежат в `scripts/` рядом с этим SKILL.md. Определи полный путь:
Все команды ниже используют относительный `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), спроси пользователя:
Передай путь к файлу плана через `--plan-file`. НЕ вставляй содержимое плана в аргумент командной строки — скрипт сам читает файл и отдаёт содержимое Codex на stdin, поэтому размер плана ничем не ограничен.
Если используешь plan mode — отправь план на ревью **перед** `ExitPlanMode`: 1. Написал план → CC сохраняет его в `~/.claude/plans/<slug>.md` (автоматически) 2. Передай этот путь в `--plan-file`:
bash scripts/codex-review.sh plan --plan-file ~/.claude/plans/<slug>.md
3. `CHANGES_REQUESTED` → скорректируй план в файле, отправь снова (см. «Accept or Argue») 4. `APPROVED` → обработай `## Non-blocking` и `## Pre-existing` (см. «Разделы ответа ревьюера»), затем вызови `ExitPlanMode` для одобрения пользователем
Таким образом план проходит два ревью: техническое (Codex) и бизнес-приоритетное (пользователь).
Если план написан в отдельный файл внутри проекта:
bash scripts/codex-review.sh plan --plan-file docs/plan.md
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-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."
Если в описании есть обратные кавычки (обычное дело — так пишут имена функций и полей), `$` или `$(...)` — передавай текст файлом, а не аргументом: шелл выполняет такие фрагменты внутри двойных кавычек, и до Codex доходит искажённый текст либо вызов падает с `command not found`.
bash scripts/codex-review.sh code --description-file /path/to/description.md
Опция работает для `init`, `plan` и `code`; на `plan` она называет файл плана — то же, что `--plan-file`. Одновременно с `--plan-file` или с описанием в аргументе — ошибка. Файл читается до последнего байта: пустые строки в конце и отсутствие перевода строки в конце сохраняются.
Отправленный текст сохраняется рядом с логом попытки байт в байт: `codex-<phase>-<N>.request.md` для ревью, `codex-init.request.md` для сессии.
`state.json` хранит одну строку — название задачи, которое видно в `STATUS.md` и в сводке архива. Название даёшь ты сам:
bash scripts/codex-review.sh init --description-file task.md --task-label "JWT auth: middleware + refresh endpoint"
Правила: одна строка, без двойных кавычек, обратных слешей и управляющих символов, без пробелов в начале и в конце, до 200 символов. Название сохраняется ровно таким, каким передано: скрипт ничего не переписывает и не подчищает, а отклоняет с объяснением. Пустое значение в `--task-label` — ошибка. Если описание задачи занимает больше одной строки, а `--task-label` не передан — запуск завершается ошибкой, ничего не создаётся: назови задачу сам, а не рассчитывай, что скрипт угадает. При однострочном описании название берётся из него.
Полный текст задачи в `state.json` не попадает — он целиком уходит в Codex и лежит в `codex-init.request.md`.
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 # Обновить фазу bash scripts/codex-state.sh set iteration 2 # Откатить счётчик кругов
`get` в
Управление сессиями AI агентов через agent-deck CLI. Триггеры (RU): "запусти агента", "запусти саб-агента", "создай сессию",…
SEO-краулер сайтов на базе Crawl4AI. Полный аудит страниц: title, meta, H1, canonical, breadcrumbs, навигация, внутренние ссылки.…
Fill Word document templates (contracts, forms) with structured data using docxtpl. Use when user uploads a .docx template with…
Generate/edit images via fal.ai. Supports Google Nano Banana Pro and OpenAI GPT Image 2 selected from config/.env. Supports…
Анализирует генетические данные пользователя из VCF файла. Используй когда пользователь спрашивает о своей генетике,…
Publish static page artifacts from the publisher workspace to a GitHub Pages repository using a fine-grained token, with advisory…