← ClaudeAtlas

pev-external-executorlisted

外部 LLM CLI (v3.5.0 では OpenAI Codex) を Execute phase の実装エンジンとして subprocess invoke する skill。 plan.md (Mode A) または task description + triage.json + cwd context (Mode B) と team-conventions を 1 prompt にまとめて codex exec --json --output-schema に渡し、 codex が workspace-write sandbox 内で file を編集する。 codex 不在 / 未認証 / timeout / non-zero exit 時は executor agent に fallback signal を返す (= Claude native 実装に degrade)。 v2.0 pev-external-reviewer の対称形 (reviewer ではなく executor 版)。
myksyut/pev-harness · ★ 0 · AI & Automation · score 70
Install: claude install-skill myksyut/pev-harness
# pev-external-executor v3.5.0 で導入された **external executor 起動** skill。 OpenAI Codex CLI を subprocess として呼び、 Execute phase の **実 file 編集** を委譲する。 v2.0 `pev-external-reviewer` (= codex を Reviewer として呼ぶ) の対称形で、 「subprocess + JSON schema + fallback」 の抽象を共有する。 **重要 (責務分離、 v3.5.0 設計判断)**: codex は **raw な file 編集のみ** を担う。 `execute.log` の authoring / DRY self-review / judgment traceability / Mode B Self-Clarify は **Claude executor agent (wrapper)** が担当する (= `agents/executor.md` の Codex delegation mode)。 本 skill は codex 起動の機構だけを提供し、 pipeline の audit 成果物には触れない。 ## When to Use - `PEV_EXECUTOR_MODE=codex` の時、 `agents/executor.md` の Codex delegation mode から dispatch される - `/pev <task> --executor-mode=codex` で明示指定された時 - v3.5.0 では provider = `codex` のみ、 将来 `gemini` 等を同じ subprocess pattern で増設する想定 起動すべきでない場面: - `PEV_EXECUTOR_MODE=claude` (= codex default を override した場合) — 本 skill は dispatch されず、 executor agent が native に実装する - codex CLI が未 setup (`pev-bootstrap-codex` が未実行) — Preflight が detect、 fallback signal を返す ## Preflight check skill 起動直後、 以下を確認 (どれか fail なら **即 fallback signal を返す**、 codex は起動しない): 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_authenti