resolve-review
GitHub PR의 코드 리뷰 코멘트를 읽어와 피드백을 반영하고, 각 코멘트에 답글을 남깁니다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
GitHub PR의 코드 리뷰 코멘트를 읽어와 피드백을 반영하고, 각 코멘트에 답글을 남깁니다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Load when developing API endpoints, designing request/response DTOs, creating controllers, or working with BaseResponse wrapper and exception handling patterns.
Load when designing new domains or modules, refactoring architecture, working with Clean Architecture layers, ports/adapters pattern, or cross-domain communication.
Commit, push, and open a PR following project conventions. Use when creating pull requests.
프로젝트 컨벤션에 맞는 일관된 커밋 메시지를 생성하고 커밋을 수행합니다.
Create a GitHub issue following project conventions. Use when creating issues.
Load when working with environment settings, application profiles (local/staging/prod), Jasypt encryption, secrets management, or infrastructure configuration.
| name | resolve-review |
| description | GitHub PR의 코드 리뷰 코멘트를 읽어와 피드백을 반영하고, 각 코멘트에 답글을 남깁니다. |
GitHub PR에 남겨진 코드 리뷰 코멘트를 확인하고, 피드백을 코드에 반영한 뒤, 각 코멘트에 처리 결과를 답글로 남깁니다.
PR에 코드 리뷰 코멘트가 달린 후, 피드백을 반영할 때 사용합니다.
/resolve-review <PR번호>
# PR 리뷰 요약 확인
gh pr view <PR번호> --comments --json comments,reviews \
--jq '.reviews[] | "[\(.author.login)] state: \(.state)\n\(.body)"'
# 인라인 리뷰 코멘트 조회 (comment ID, 파일 경로, 내용)
gh api repos/{owner}/{repo}/pulls/{pull_number}/comments \
--jq '.[] | "\(.id)\t\(.path):\(.original_line)\t\(.body)"'
각 코멘트에서 다음을 파악:
path와 line 필드suggestion 코드 블록 또는 본문 설명in_reply_to_id가 있는 코멘트는 답글이므로 원본만 처리# PR의 head 브랜치 확인
gh pr view <PR번호> --json headRefName --jq '.headRefName'
# 해당 브랜치로 체크아웃 (worktree가 있으면 해당 경로에서 작업)
git checkout <branch>
git add <수정된 파일들>
git commit -m "refactor: 코드 리뷰 피드백 반영
Co-Authored-By: Claude <model> <noreply@anthropic.com>"
git push
각 코멘트에 처리 결과를 답글로 남김:
gh api repos/{owner}/{repo}/pulls/{pull_number}/comments -X POST \
-f body="반영 완료했습니다. <변경 요약> (<commit-hash>)" \
-F in_reply_to=<comment_id>
AI Agent(봇)가 남긴 코멘트를 반영한 경우, 해당 코멘트 스레드를 resolve 처리:
user.type이 "Bot"인 코멘트만 resolve (예: gemini-code-assist[bot], github-actions[bot] 등)# 코멘트의 GraphQL node_id를 사용하여 resolve
gh api graphql -f query='
mutation {
resolveReviewThread(input: {threadId: "<thread_node_id>"}) {
thread { isResolved }
}
}
'
thread_node_id 조회 방법: 리뷰 코멘트 조회 시 node_id 필드 대신, PR의 review threads에서 GraphQL로 조회:
gh api graphql -f query='
query {
repository(owner: "{owner}", name: "{repo}") {
pullRequest(number: {pull_number}) {
reviewThreads(first: 100) {
nodes {
id
isResolved
comments(first: 1) {
nodes {
databaseId
author { login }
}
}
}
}
}
}
}
'
comments(first: 1)의 databaseId가 원본 코멘트 ID와 일치하는 thread의 id를 사용하여 resolve
in_reply_to_id가 null인 코멘트만 대상으로 함 (답글은 무시)user.type == "Bot"인 코멘트는 반영 후 자동으로 resolve 처리. 사람이 남긴 코멘트는 절대 resolve하지 않음GET /repos/{owner}/{repo}/pulls/{pull_number}/comments
주요 필드:
id: 코멘트 고유 ID (답글 시 in_reply_to에 사용)path: 대상 파일 경로line / original_line: 코멘트가 달린 라인 번호body: 코멘트 본문in_reply_to_id: 답글 대상 코멘트 ID (null이면 원본 코멘트)POST /repos/{owner}/{repo}/pulls/{pull_number}/comments
필수 파라미터:
body (string): 답글 내용 → -f body="..."in_reply_to (integer): 원본 코멘트 ID → -F in_reply_to=<id> (-F로 숫자 전달)