본문으로 건너뛰기
cccskills
무료GitHub에 공개

pr-review-comments

Review, triage, and resolve PR review comments. Use when user asks to check PR comments, address review feedback, fix issues raised in review, reply to reviewers, or resolve review threads.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(1)

  • SKILL.md4.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

PR Review Comments

Triage and address review comments on a pull request: read each comment, decide if valid, fix code, verify tests pass, reply, and resolve threads.

Prerequisites

  • gh CLI authenticated
  • Working directory inside the repo (or use --repo owner/repo)

Workflow

1. Fetch review comments

Get all review comments with context:

gh api repos/{owner}/{repo}/pulls/{pr}/comments \
  --jq '.[] | {id, path, line, body, user: .user.login}'

Also check top-level PR comments (non-inline):

gh api repos/{owner}/{repo}/issues/{pr}/comments \
  --jq '.[] | {id, body, user: .user.login}'

2. Triage each comment

For each comment, decide:

  • Valid & actionable → fix the code
  • Valid but won't fix → reply with rationale
  • Invalid / misunderstanding → reply with explanation
  • Question → answer it

Read the relevant file context before deciding. Don't blindly accept or reject.

3. Fix code

Apply fixes for valid comments. Group related fixes into a single commit. Use conventional commit style:

fix(<scope>): address PR review comments

- <summary of fix 1>
- <summary of fix 2>

Stage, commit, and push.

4. Validate tests pass

After fixing code, always run tests before pushing to make sure the fixes don't break anything:

  • Run the project's test command (check project docs / CLAUDE.md / Makefile / mise tasks for the right command).
  • If tests fail, fix the issue before pushing. A review fix that breaks CI is worse than the original comment.
  • If the fix changes test expectations (e.g., updated output values), update the tests too.
  • Pay special attention to mock/stub setups — removing or changing mocks can cause unrelated tests to fail when test infrastructure intercepts more than expected (e.g., mock_provider intercepting locally-evaluated data sources).

Only push once all tests are green.

5. Reply to comments

Reply to each review comment thread using the in_reply_to field:

gh api -X POST repos/{owner}/{repo}/pulls/{pr}/comments \
  -f body="<reply text>" \
  -F in_reply_to=<original_comment_id>

Important: The in_reply_to parameter must be a number (-F), not a string (-f). Use -F for numeric values.

Keep replies concise: state what was done or why not.

6. Resolve threads

Fetch unresolved thread node IDs via GraphQL:

gh api graphql -f query='
{
  repository(owner: "{owner}", name: "{repo}") {
    pullRequest(number: {pr}) {
      reviewThreads(first: 50) {
        nodes {
          id
          isResolved
          comments(first: 1) {
            nodes { databaseId body }
          }
        }
      }
    }
  }
}' --jq '.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved == false) | {id, commentId: .comments.nodes[0].databaseId, body: (.comments.nodes[0].body[:80])}'

Resolve each thread after replying:

gh api graphql -f query='
mutation {
  resolveReviewThread(input: {threadId: "<thread_node_id>"}) {
    thread { isResolved }
  }
}'

Loop over all thread IDs to resolve in batch:

for tid in PRRT_abc PRRT_def PRRT_ghi; do
  gh api graphql -f query="mutation { resolveReviewThread(input: {threadId: \"$tid\"}) { thread { isResolved } } }"
done

Rules

  • Read before deciding. Always read the file/context around the commented line before accepting or rejecting.
  • Don't blindly accept. Evaluate each comment on merit. Some automated/AI review comments are wrong.
  • Don't blindly reject. If a comment points out a real issue, fix it even if the wording is off.
  • Test before pushing. Run the full test suite (or at minimum the affected module's tests) after every fix. Never push code you haven't validated.
  • Codify repeatable findings. If a fixed comment is mechanically enforceable or clearly recurring, add a guard in the same commit via the review-guards skill (ast-grep rule with test; qualitative → a line in REVIEW_GUIDELINES.md).
  • One commit for all fixes. Don't create separate commits per comment unless changes are unrelated.
  • Reply to every comment. Even if resolved by a code change, confirm what was done.
  • Resolve only after replying. Don't resolve threads without a reply — reviewers need to see acknowledgment.
  • Push before replying. The fix commit should be visible in the PR when the reviewer reads the reply.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Explain a GitHub pull request as an English Markdown walkthrough and return a Plannotator share link. Use for PR explanations, walkthroughs, or review preparation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tomsej/pi-ext792026년 9월 4일 업데이트

Codify project review rules as deterministic guards — ast-grep structural rules (with TDD-style rule tests) for mechanical checks, REVIEW_GUIDELINES.md for qualitative ones, wired into the project gate / wf verify. Use when the user wants to define review rules, turn a repeated review finding into a lint/guard, or set up ast-grep in a project.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tomsej/pi-ext792026년 9월 4일 업데이트

sem

무료

Entity-aware code change analysis using the pi-sem tools. Use when the user asks what changed, wants blast radius or affected tests, needs focused context for a function/class, wants review help on a commit/branch/PR, or asks to compare semantic diff with raw git diff. Prefer sem_context and sem_impact; use sem_diff selectively for summaries and reviews.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tomsej/pi-ext792026년 9월 4일 업데이트

wf

무료

Vytvoř workflow kontrakt z dosavadní diskuse — zapíše ~/Workspace/specs/<projekt>/<název>/contract.md (české tělo + strojový frontmatter) a zlintuje ho wf-gate. Použij, když uživatel řekne /wf nebo chce z probraného problému udělat kontrakt. Nikdy neimplementuje.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tomsej/pi-ext792026년 9월 4일 업데이트

České vysvětlení změny kódu z kontraktu, ref range nebo PR — pozadí, intuice, průchod kódem, důkazy, UAT a kvíz. Volá wf-impl po UAT nebo uživatel ručně.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tomsej/pi-ext792026년 9월 4일 업데이트

wf-impl

무료

Dirigent jednoho workflow kontraktu ve svém super.engineering worktree — deleguje implementaci na subagenta, mezi fázemi pouští wf-gate, review předá skill wf-review, otevře draft PR (guardovaný), vyřeší komentáře, spustí UAT. Použij, když task session říká, že se má kontrakt provést přes wf-impl.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tomsej/pi-ext792026년 9월 4일 업데이트

tomsej의 스킬 모두 보기

이 스킬의 문제 신고