‹ 首页

phx-codex-loop

@oliver-kriska · 收录于 2 天前 · 上游提交 3 天前

Fix Elixir/Phoenix code until Codex CLI review comes back clean — bounded review, fix, verify loop before opening a PR. Use when codex is installed and you want an external cross-model critic on your changes before pushing.

适合你,如果使用 Codex CLI 做代码审查并希望在 PR 前确保代码干净

/ 通过 npx 安装 校验哈希
npx oh-my-skill add oliver-kriska/claude-elixir-phoenix/phx-codex-loop
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- oliver-kriska/claude-elixir-phoenix/phx-codex-loop
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify oliver-kriska/claude-elixir-phoenix/phx-codex-loop
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
485GitHub stars
~1.2K最小装载
~1.2K含声明引用
~2.1K文本包总量
索引托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · d6b21b5

Codex Loop (fix until clean)

Critic→Refiner loop with the Codex CLI as external critic: review → fix approved findings → verify → re-review, until codex is clean or rounds run out. Codex reviews; Claude fixes. Complements /phx:review (Claude panel) — run either or both before a PR.

Usage
/phx:codex-loop                    # diff vs default branch, interactive
/phx:codex-loop --uncommitted      # staged + unstaged + untracked
/phx:codex-loop --base develop     # explicit base branch
/phx:codex-loop --auto             # auto-approve P0/P1/P2, skip P3
/phx:codex-loop --max-rounds 2     # default 3
Iron Laws
  1. BOUNDED rounds — never exceed --max-rounds (default 3) — each round costs codex quota; report remaining findings instead of looping on
  2. Verify BEFORE re-reviewmix compile --warnings-as-errors + tests must pass before burning a codex round on broken code
  3. NEVER commit or push — leave git to the user
  4. Codex findings get Iron Law scrutiny — decline suggestions that violate an Iron Law, with explanation in the round report
  5. Skipped findings are reported, never dropped — every finding ends as fixed, declined (with reason), or deferred-by-user
  6. Missing CLI stops the skill with an install hint — suggest /phx:review as the codex-free alternative; never crash
Workflow
Step 1: Preflight

Run command -v codex. If missing: STOP. Show the install hint (brew install codex or npm i -g @openai/codex, then codex login; codex doctor to diagnose) and suggest /phx:review.

Then two cheap checks that save review rounds:

  • Dirty tree (git status --short, only when using --base): codex inspects working-tree state too and WILL flag local dirt (stray edits, dirty submodules) as findings. Surface the dirt and ask: clean/stash first, or proceed knowing round 1 may spend findings on it.
  • Missing rubric: if AGENTS.md has no ## Review guidelines section, note once that /phx:init installs the Elixir rubric that steers codex priorities — then proceed (it works without, on defaults).
Step 2: Detect Diff Mode
  • Flag passed (--base/--uncommitted) → use as given
  • Commits ahead of the default branch--base {default}
  • No commits yet--uncommitted
Step 3: Round Loop (max --max-rounds, default 3)
  1. Review — ONE foreground Bash call, explicit timeout: 600000 (large diffs run 10+ min). On timeout with the process alive: ONE until [ -f {out} ]; do sleep 5; done wait — never poll-spam or pkill a running review (quota is spent either way). ALWAYS silence the streams — only the -o file matters (10k+ lines otherwise):

``bash codex exec review --base {branch} --ephemeral \ -o /tmp/codex-round-{n}.md > /tmp/codex-round-{n}.log 2>&1 ``

NEVER pass custom instructions with a diff-mode flag — the CLI rejects the combination; the rubric comes from AGENTS.md ## Review guidelines (/phx:init). Parse the output file, NOT the exit code (0 even with findings). Recipes: ${CLAUDE_SKILL_DIR}/references/codex-cli.md.

  1. Clean check — parse the output file; no - [P{n}] bullets means CLEAN → go to Step 4.
  1. Triage — emit the findings table (# | P | file:line | title | proposed action) as **visible response text BEFORE any AskUserQuestion call** — a table composed only in thinking never renders. Then ask approve-or-skip per finding (AskUserQuestion). With --auto: approve P0/P1/P2, skip P3 (list skipped in the round report).
  1. Fix — apply approved fixes with user-visible diffs. Check each against Iron Laws first (Law 4).
  1. Verify — scoped, before the next round:

``bash mix format {changed_files} && \ mix compile --warnings-as-errors && mix test {affected_tests} ``

If verification fails 3 times, STOP with a BLOCKER report — do not burn another codex round on broken code.

  1. Next round (n+1).
Step 4: Final Report
## Codex Loop Report — {CLEAN | MAX ROUNDS REACHED | BLOCKED}
Rounds: {n}/{max} | Fixed: {n} | Declined (Iron Law): {n} | Deferred: {n}
{per-round: findings → outcome}
{remaining findings if not CLEAN}

On CLEAN: suggest /phx:compound for non-obvious fixes, then commit/PR. On MAX ROUNDS: list remaining findings; offer /phx:plan to convert them into a follow-up plan.

Integration
implement → /phx:codex-loop (YOU ARE HERE) → clean → commit/PR → /phx:watch-pr --codex
     ↑ or arrive from /phx:review --codex verdict REQUIRES CHANGES
References
  • ${CLAUDE_SKILL_DIR}/references/codex-cli.md — invocation recipes, parse patterns, verified gotchas (CLI 0.142.5)
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。