AgentStack
SKILL verified MIT Self-run

Reply Comments

skill-flurdy-agent-skills-reply-comments · by flurdy

Reply to PR review comments after addressing them. Resolves conversations where changes were made. Uses polite tone for humans, terse factual responses for AI bots. IMPORTANT - Always use this skill (not raw gh api calls) when replying to PR comments, including after manually addressing review feedback.

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add skill-flurdy-agent-skills-reply-comments

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Reply Comments? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Reply to Review Comments

Reply to PR review comments after addressing the feedback. Use this after /review-comments to close the feedback loop.

Usage

/reply-comments
/reply-comments 123    # Specific PR number

Instructions

1. Find the PR

If no PR number provided, get it from the current branch:

~/.claude/skills/reply-comments/scripts/gh-pr-current-info.sh

If the script is unavailable, fall back to:

gh pr view --json number,url,title,headRepositoryOwner,headRepository \
  --jq '{number, url, title, owner: .headRepositoryOwner.login, repo: .headRepository.name}'

2. Fetch Review Comments

Get all review comments with their thread/resolution status:

~/.claude/skills/reply-comments/scripts/gh-pr-comments.sh {owner} {repo} {pr_number}

If the script is unavailable, fall back to:

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

3. Get Recent Commits

Check what was recently committed to understand which comments were addressed:

# Get recent commit messages and changed files
git log --oneline -10
git diff HEAD~1 --name-only

4. Identify Addressed Comments

For each review comment, determine if it was addressed by:

  • Checking if the file/line was modified in recent commits
  • Matching commit messages to comment content (e.g., "address review feedback")
  • Looking for code changes that match suggested fixes

5. Compose Replies

Use different tones based on the reviewer:

AI Bots (amazon-q-developer[bot], copilot[bot], github-actions[bot], etc.):

  • Terse, factual responses
  • Just state what was done
  • Examples:
  • "Fixed."
  • "Done."
  • "Changed to use const."
  • "Added null check."
  • "Not applicable - already handled by X."

Human Reviewers (anyone without [bot] suffix):

  • Short but polite responses
  • Acknowledge their feedback
  • Examples:
  • "Good catch, fixed!"
  • "Thanks - updated."
  • "Done, good suggestion."
  • "Makes sense, changed it."
  • "Addressed in latest commit."

For comments NOT addressed (intentionally skipped):

  • "Keeping as-is because {brief reason}."
  • "Intentional - {brief explanation}."

6. Post Replies

Reply to each comment:

~/.claude/skills/reply-comments/scripts/gh-pr-reply-comment.sh {owner} {repo} {pr_number} {comment_id} "{reply_text}"

If the script is unavailable, fall back to:

gh api "repos/{owner}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies" \
  -f body="{reply_text}"

7. Resolve Threads (if addressed)

First, get the thread IDs:

~/.claude/skills/reply-comments/scripts/gh-pr-review-threads.sh {owner} {repo} {pr_number}

If the script is unavailable, fall back to:

gh api graphql -f query='
  query($owner: String!, $repo: String!, $pr: Int!) {
    repository(owner: $owner, name: $repo) {
      pullRequest(number: $pr) {
        reviewThreads(first: 100) {
          nodes {
            id
            isResolved
            comments(first: 1) { nodes { databaseId body } }
          }
        }
      }
    }
  }
' -f owner="{owner}" -f repo="{repo}" -F pr={pr_number}

Then resolve each thread that was addressed:

~/.claude/skills/reply-comments/scripts/gh-pr-resolve-thread.sh {thread_id}

If the script is unavailable, fall back to:

gh api graphql -f query='
  mutation($threadId: ID!) {
    resolveReviewThread(input: {threadId: $threadId}) {
      thread { isResolved }
    }
  }
' -f threadId="{thread_id}"

8. Summary

Report what was done:

Replied to 6 comments:
- amazon-q-developer[bot]: 3 (all resolved)
- @username: 2 (2 resolved, 1 kept as-is)
- copilot[bot]: 1 (resolved)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.