pev-external-reviewerlisted
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