← ClaudeAtlas

pev-external-reviewerlisted

外部 LLM CLI (v2.0 では OpenAI Codex) を Reviewer として subprocess invoke する skill。 git diff + plan.md + rubric を組み立てて codex exec --json --output-schema に渡し、 structured JSON output を verify.json に merge する。 timeout / non-zero exit / 認証失敗時は自動で dual-claude にfallback (graceful degrade)。
myksyut/pev-harness · ★ 0 · Code & Development · score 70
Install: claude install-skill myksyut/pev-harness
# pev-external-reviewer v2.0 で導入された **external reviewer 起動** skill。 OpenAI Codex CLI を subprocess として呼び、 schema 強制 JSON を受け取って verifier の verify.json に merge する。 v2.1+ で Gemini CLI 等の他 vendor を同じ pattern で増設できるよう、 「subprocess + JSON schema + fallback」 を抽象化している。 ## When to Use - `PEV_REVIEWER_MODE` が `dual-codex` または `codex-only` の時、 verifier dispatch logic から起動 - `/pev <task> --reviewer-mode=dual-codex` で明示指定された時 - v2.0 では provider = `codex` のみ、 v2.1+ で `gemini` 等が追加予定 起動すべきでない場面: - `PEV_REVIEWER_MODE=claude-only` (default) — 本 skill は dispatch されない - codex CLI が未 setup (`pev-bootstrap-codex` が未実行) — Preflight が detect、 fallback に即遷移 ## Preflight check skill 起動直後、 以下を確認 (どれか fail なら **即 fallback** + `verify.json.fallback_reason` 記録): 1. **codex CLI 存在**: `command -v ${PEV_CODEX_BIN:-codex}` で確認、 不在なら `fallback_reason="codex_not_installed"` 2. **認証状態**: `codex login status` を確認 (subscription auth または API key auth どちらでも OK): - `"Logged in using ChatGPT"` (subscription) → OK - `"Logged in using API key"` または `"Logged in"` (API key 経由) → OK - `"Not logged in"` または取得失敗 → `fallback_reason="codex_not_authenticated"` 3. **schema file 存在**: `schemas/codex-reviewer-output.json` を確認、 不在なら `fallback_reason="schema_missing"` fallback 先は `PEV_REVIEWER_MODE` 値次第: - `dual-codex` → `dual-claude` (Reviewer B が codex → sonnet に降格) - `codex-only` → `claude-only` (single verifier) fallback 時は warning を stderr に出力、 verify.json に `reviewer_mode` (=実行モード) と `intended_reviewer_mod