elixir-phoenix-pr-review
Handle Phoenix PR review comments: inspect feedback, draft replies, and fix code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Handle Phoenix PR review comments: inspect feedback, draft replies, and fix code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Recommend the right `$elixir-phoenix-*` skill for the current task.
Elixir/Phoenix: Review lifecycle, state-machine, Oban, persistence, pause/resume, retry, and restart-sensitive changes before commit, push, or PR. Use for concurrency-sensitive runtime work to produce explicit blocking vs optional findings, require durability checks, and verify smoke plus restart resilience when applicable.
Capture a solved Phoenix problem as a reusable solution doc.
Audit LiveView assigns for memory bloat, dead assigns, and stream candidates.
Audit project health across architecture, security, performance, tests, and deps.
Analyze Phoenix context boundaries and coupling with `mix xref`.
| name | elixir-phoenix-pr-review |
| description | Handle Phoenix PR review comments: inspect feedback, draft replies, and fix code. |
| metadata | {"short-description":"Address Phoenix PR review feedback"} |
Fetch PR review comments, categorize them, draft responses, and optionally apply code fixes.
`elixir-phoenix-pr-review` 42 # Address comments on PR #42
`elixir-phoenix-pr-review` 42 --fix # Address + apply code fixes
`elixir-phoenix-pr-review` https://... # Full URL also works
$ARGUMENTS = PR number (or URL), optionally followed by --fix.
Run gh pr view {number} --json title,body,state,baseRefName,headRefName for PR metadata.
Run gh api repos/{owner}/{repo}/pulls/{number}/comments --paginate and gh api repos/{owner}/{repo}/pulls/{number}/reviews --paginate for all review comments.
Run gh pr diff {number} for the diff context.
Parse the PR number from $ARGUMENTS. If a URL, extract the
number from it. Detect --fix flag.
Group each comment into one of these categories:
| Category | Signal | Action |
|---|---|---|
| Code change | "should be", "change to", "use X instead" | Draft fix + response |
| Question | "why", "what if", "how does" | Draft explanation |
| Nitpick | "nit:", style-only, formatting | Quick acknowledgment |
| Praise | "nice", "good", "LGTM" | No action needed |
| Discussion | Architecture, trade-offs, alternatives | Draft thoughtful response |
For each code-change comment:
path and positionFor each comment, draft a response following patterns in
references/response-patterns.md.
Present ALL draft responses to the user for review:
## PR #{number}: {title}
### {n} comments to address
**Code changes ({n}):**
1. {file}:{line} — {reviewer suggestion} → {proposed fix}
**Questions ({n}):**
1. {question summary} → {draft answer}
**Nitpicks ({n}):**
1. {nit} → Acknowledged
**Discussion ({n}):**
1. {topic} → {draft response}
If --fix flag provided AND user approves:
mix compile --warnings-as-errors && mix testSTOP and ask user to review all draft responses.
After user approves (may edit some):
Post each approved response as a reply using gh api repos/{owner}/{repo}/pulls/{number}/comments/{id}/replies -f body="{response}".
PR receives review comments
↓
`elixir-phoenix-pr-review` {number} ← YOU ARE HERE
↓
Fix code? → --fix flag applies changes
↓
Post responses (after user approval)
↓
Push changes → user handles git push
After addressing review comments, suggest follow-up:
- ``elixir-phoenix-plan`` — Create a plan if findings reveal scope gaps
- ``elixir-phoenix-verify`` — Run full verification before pushing
- Push changes — user handles git push
references/response-patterns.md — Response templates and common patterns