Agent skill
dev-resolve-feedback
Ask CodeRabbit to verify and resolve each unresolved feedback thread on a PR. Use when CodeRabbit posts "No actionable comments" but old threads remain open, blocking approval.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/dev-resolve-feedback
SKILL.md
Ask CodeRabbit to verify each unresolved inline feedback thread individually
and resolve it if the issue has been fixed. This is the safe alternative to
@coderabbitai resolve, which force-resolves all threads and can miss
genuinely unaddressed feedback.
When to use
- CodeRabbit posted "No actionable comments were generated in the recent review" but old threads are still open and the PR is not approved
- After pushing fixes and requesting a re-review, threads were not auto-resolved
- Any time there are stale CodeRabbit threads blocking approval
Arguments
- PR number (optional) — defaults to the current branch's PR
How it works
-
Fetch all inline CodeRabbit comments on the PR via the GitHub API
-
Reply to each unresolved thread with exactly:
@coderabbitai please check the latest changes to confirm if this issue has been fixed and if so resolve this item
-
Report what was done (comment count and IDs)
What it does NOT do
- It does NOT post
@coderabbitai resolveas a general PR comment — that force-resolves everything and can mask missed feedback - It does NOT make code changes
- It does NOT request a new review
- It does NOT merge the PR
Workflow
1. Determine the PR number
If the user provided a PR number, use it. Otherwise, infer from the current branch:
gh pr view --json number --jq '.number'
2. Fetch unresolved CodeRabbit threads
The REST API does not expose thread resolution status. Use GraphQL to fetch only unresolved threads authored by CodeRabbit:
gh api graphql -f query='
query($owner:String!, $repo:String!, $pr:Int!, $after:String) {
repository(owner:$owner, name:$repo) {
pullRequest(number:$pr) {
reviewThreads(first:100, after:$after) {
pageInfo { hasNextPage endCursor }
nodes {
isResolved
comments(first:1) {
nodes {
databaseId
path
line
author { login }
body
}
}
}
}
}
}
}' -F owner='{owner}' -F repo='{repo}' -F pr='{pr-number}' \
| jq '
.data.repository.pullRequest.reviewThreads.nodes
| map(select(.isResolved == false))
| map(.comments.nodes[0])
| map(select(.author.login == "coderabbitai"))
| map({id: .databaseId, path, line, body: (.body[:100])})'
If there are more than 100 threads, paginate using the after cursor
from pageInfo.endCursor.
Important: The GraphQL API returns bot logins without the [bot]
suffix (e.g. "coderabbitai"), unlike the REST API which returns
"coderabbitai[bot]". The filter above uses the GraphQL form.
3. Reply to each unresolved thread
For each unresolved CodeRabbit comment, reply using the threaded reply API
with the comment's databaseId:
gh api repos/{owner}/{repo}/pulls/{pr-number}/comments/{comment-id}/replies \
-f body="@coderabbitai please check the latest changes to confirm if this issue has been fixed and if so resolve this item"
Important: Use the replies endpoint (not gh pr comment) so the
reply is threaded under the original feedback, not posted as a standalone
comment. Only reply to threads that are actually unresolved — skip any
that GraphQL reports as isResolved == true.
4. Report results
Done:
- Replied to N CodeRabbit feedback threads on PR #X
- Comment IDs: 123, 456, 789
Safety
- Only replies to comments authored by CodeRabbit (
coderabbitaiin GraphQL,coderabbitai[bot]in REST) - Uses the threaded reply API so each response is scoped to its thread
- Does not modify code, branches, or PR state
- CodeRabbit decides independently whether each thread should be resolved — if the issue is not fixed, the thread stays open
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?