원클릭으로
pr-review
Address review comments and CI failures for the current branch's PR
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Address review comments and CI failures for the current branch's PR
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | pr-review |
| description | Address review comments and CI failures for the current branch's PR |
GH_PAGER= to every gh command (bash/zsh), or set $env:GH_PAGER="" in PowerShell — never modify global configgh pr list --head <BRANCH> · gh pr view <PR> --comments · gh pr checks <PR> · gh run view <RUN_ID> --log-failedAfter fixing a P1/P2 comment, mark its thread as resolved on GitHub using the GraphQL mutation:
GH_PAGER= gh api graphql -f query='mutation { resolveReviewThread(input: { threadId: "PRRT_xxxx" }) { thread { isResolved } } }'
To get thread IDs with their status and a brief description:
GH_PAGER= gh api graphql -f query='
{
repository(owner: "OWNER", name: "REPO") {
pullRequest(number: PR_NUMBER) {
reviewThreads(first: 50) {
nodes {
id
isResolved
isOutdated
path
line
comments(first: 1) { nodes { body } }
}
}
}
}
}' | python3 -c "
import json,sys
data = json.load(sys.stdin)
for t in data['data']['repository']['pullRequest']['reviewThreads']['nodes']:
body = t['comments']['nodes'][0]['body'][:100].replace('\n',' ') if t['comments']['nodes'] else ''
print(f\"ID={t['id']}, resolved={t['isResolved']}, outdated={t['isOutdated']}, {t['path']}:{t['line']}\")
print(f\" >> {body}\")
"
Also resolve threads that are outdated (the underlying code they referenced has since changed), as they are no longer actionable.
Before acting on any review comment or suggestion, classify it by importance:
| Level | Criteria | Action |
|---|---|---|
| P1 — Must Fix | Bug, security issue, broken behavior, API contract violation, CI failure | Fix immediately |
| P2 — Should Fix | Correctness risk, meaningful maintainability improvement, clear code smell with real impact | Fix with brief justification |
| P3 — Conditional | Style preference, minor naming, "could be cleaner" | Fix if it aligns with best practices and the change is safe + trivial; defer if complex or has any potential functional impact |
| P4 — Reject | Contradicts project conventions, introduces unnecessary complexity, or is factually wrong | Reject with explanation |
Rules:
gh run view <RUN_ID> --log-failed.github/workflows/ directlyGH_PAGER= gh pr checks <PR> (or GH_PAGER= gh run watch <RUN_ID>) until the affected check finishesgh run view <NEW_RUN_ID> --log-failed) and repeat from step iGH_PAGER= gh pr checks <PR>| # | Source (comment / CI) | Issue description | Priority | Action taken | Reason if not fixed |
|---|-----------------------|-------------------|----------|--------------|---------------------|
| 1 | Reviewer @xxx | use import instead of FQN | P3 | Fixed | Best practice + trivial mechanical change |
| 2 | Reviewer @xxx | rename internal var foo→bar | P3 | Not fixed | Non-standard opinion, no best-practice backing — deferred to user |
| 3 | CI: lint | null-check missing | P1 | Fixed | — |
All P3/P4 items that were not fixed must appear in this table with a clear reason, so the user can make an informed decision.