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

pr-feedback

Address PR reviewer feedback by evaluating comments, proposing fixes, and executing after user approval. Use when the user wants to handle review comments on an existing PR, address PR feedback, fix PR comments, respond to reviewer suggestions, or process code review feedback. Triggers on "address PR feedback", "handle review comments", "fix PR comments", "respond to PR review", "process reviewer feedback", or when given a PR number/URL with intent to address its comments.

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

연동 도구GitHub
설치 방법 보기

포함된 파일(1)

  • SKILL.md5.2 KB

SKILL.md(원문)

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

Address PR Feedback

Fetch reviewer comments from a PR, evaluate each, present a plan, and after approval make fixes (one commit per comment) and post replies.

Input: PR number, URL, or omit to auto-detect from the current branch.

Workflow

0. Ask About Device Verification

Ask: "Would you like to verify the app on device after applying fixes?" Store the answer for later.

1. Resolve PR and Ensure Local Branch

# Get PR metadata (use number if provided, otherwise detect from branch)
gh pr view [NUMBER] --json number,title,author,headRefName,baseRefName,url
gh repo view --json owner,name

Check out the head branch and pull latest if not already on it.

2. Fetch Review Comments

Use GraphQL for inline comment threads (required for isResolved status):

gh api graphql -f query='
  query($owner:String!, $repo:String!, $number:Int!) {
    repository(owner:$owner, name:$repo) {
      pullRequest(number:$number) {
        author { login }
        reviewThreads(first:100) {
          nodes {
            isResolved
            isOutdated
            path
            line
            comments(first:50) {
              nodes { id databaseId author { login } body url path line originalLine diffHunk createdAt }
            }
          }
        }
      }
    }
  }
' -F owner='OWNER' -F repo='REPO' -F number=NUMBER

Also fetch review-level body comments and general PR comments via REST:

gh api 'repos/OWNER/REPO/pulls/NUMBER/reviews' --jq '.[] | select(.body != "" and .body != null)'
gh api 'repos/OWNER/REPO/issues/NUMBER/comments' --paginate

3. Filter

Skip these:

  • Resolved threads (isResolved == true)
  • Bots (login contains [bot] or matches wpmobilebot, codecov-commenter, dependabot, github-actions)
  • PR author's own comments
  • Empty bodies
  • Pure approvals (state APPROVED with only praise like "LGTM")

For threaded comments, evaluate the root comment. Use replies as context only.

If nothing remains, report "No actionable reviewer feedback found." and stop.

4. Read Code and Evaluate

For each comment:

  1. Read the file at path around the referenced line (use originalLine + diffHunk for outdated comments)
  2. Evaluate against project conventions (AGENTS.md) and code quality
  3. Assign an action:
    • FIX — feedback is valid; draft the code change
    • REPLY — disagree or no code change needed; draft a 1-2 sentence reply
    • SKIP — already addressed or not actionable

5. Present Plan

## PR Feedback Plan — #<number>: <title>

N comment(s) to address.

---

### 1 of N
**Reviewer:** @username | **File:** `path/File.kt:42`
**Link:** <url>
> Original comment text

**Action:** FIX — Description of proposed change

Repeat for each comment. Omit File: for general comments. End with:

**Summary:** Fixing X. Replying to Y. Skipping Z.

6. Confirm

Wait for user to say "go" or request changes:

  • "skip 2" / "change 3 to reply: text" / "change 1 to fix: description"
  • Re-present if modified

7. Execute

For each FIX (one commit per comment):

  1. Make the change (prefer Edit over Write)
  2. git add <specific-file> — never git add -A
  3. git commit -m "<concise description>" (under 100 chars, no Co-Authored-By, no AI mentions)
  4. Reply to the comment:
    gh api --method POST 'repos/OWNER/REPO/pulls/NUMBER/comments/COMMENT_DB_ID/replies' \
      -f body='Fixed in <short-hash>'
    

For each REPLY:

# Inline comments
gh api --method POST 'repos/OWNER/REPO/pulls/NUMBER/comments/COMMENT_DB_ID/replies' -f body='TEXT'
# General comments
gh api --method POST 'repos/OWNER/REPO/issues/NUMBER/comments' -f body='TEXT'

Process fixes in file order to minimize conflicts.

8. Push and Finish

git push

If user opted for device verification in step 0, invoke the verify-on-device skill.

Print summary:

## Done

**Fixes:** X commits pushed to `branch-name`
- `hash` commit message

**Replies:** Y posted
**Skipped:** Z comments

Reply Style

  • Fixes: Fixed in abc1234 — nothing more
  • Disagreements: 1-2 direct sentences, no AI/automation mentions

Edge Cases

  • Outdated comments (line is null): use originalLine + diffHunk to locate current code; flag if significantly changed
  • Deleted files: suggest REPLY explaining the file was removed
  • Already-replied threads: SKIP if author replied and reviewer didn't follow up
  • General review comments: include as REPLY-only items
  • >15 comments: suggest batching
  • Conflicting comments on same lines: group by file, flag conflicts

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

Repair a failing WooCommerce Android Maestro flow by reproducing it against the store it runs on, inspecting Maestro selectors, patching the smallest selector/wait/setup issue, and rerunning with repeat evidence. Human-triggered only.

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

woocommerce/woocommerce-android3192026년 10월 17일 업데이트

pos

무료

POS (Point of Sale) architecture and patterns. Use when writing, editing, exploring, debugging, fixing bugs, implementing features, or reviewing WooPos-prefixed classes or files under ui/woopos/. POS uses a different architecture than the main app — plain ViewModel (not ScopedViewModel), pure Compose (no Fragments), Compose Navigation (no nav graphs), parent-child SharedFlow event bus. Loading this skill prevents applying main-app patterns that would be wrong for POS. For analytics use `pos-analytics`, for tests use `pos-tests`.

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

woocommerce/woocommerce-android3192026년 10월 17일 업데이트

POS analytics tracking patterns (WooPosAnalyticsEvent sealed class, WooPosAnalyticsTracker, WooPosAnalyticsEventConstant). Use when writing, editing, exploring, debugging, or reviewing analytics tracking in POS (WooPos*) code. NOT for main store app — use the `store-analytics` skill instead.

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

woocommerce/woocommerce-android3192026년 10월 17일 업데이트

pos-tests

무료

POS unit testing patterns (WooPosCoroutineTestRule, runTest, advanceUntilIdle, mockito-kotlin, event bus mocking, analytics verification). Use when writing, editing, exploring, debugging, or reviewing unit tests for POS (WooPos*) code. NOT for main store app tests — use the `store-tests` skill instead.

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

woocommerce/woocommerce-android3192026년 10월 17일 업데이트

pr

무료

Create a pull request following project conventions. Triggers on any request to create, open, make, submit, file, send, push, spin up, put up, draft, raise, or prepare a PR/pull request.

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

woocommerce/woocommerce-android3192026년 10월 17일 업데이트

review

무료

Review code changes against project architecture, style, and conventions

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

woocommerce/woocommerce-android3192026년 10월 17일 업데이트

woocommerce의 스킬 모두 보기

이 스킬의 문제 신고