mit einem Klick
check-pr-comments
// Fetch unresolved PR review threads, triage them, implement fixes, validate, reply in-thread, and resolve.
// Fetch unresolved PR review threads, triage them, implement fixes, validate, reply in-thread, and resolve.
| name | check-pr-comments |
| description | Fetch unresolved PR review threads, triage them, implement fixes, validate, reply in-thread, and resolve. |
| compatibility | gh must be installed and authenticated. |
Run gh auth status. Use the user-supplied PR number/URL, or detect from
current branch: gh pr view --json number,title,url,headRefName,baseRefName.
If no PR found, ask the user.
Get repo owner/name: gh repo view --json owner,name -q '.owner.login + " " + .name'
Fetch threads via GraphQL:
gh api graphql -f query="
query(\$owner:String!, \$repo:String!, \$number:Int!) {
repository(owner:\$owner, name:\$repo) {
pullRequest(number:\$number) {
reviewThreads(first:100) {
pageInfo { hasNextPage endCursor }
nodes {
id isResolved isOutdated
comments(first:20) {
pageInfo { hasNextPage endCursor }
nodes { id author{login} body path line url }
}
}
}
}
}
}" -F owner=<OWNER> -F repo=<REPO> -F number=<PR_NUMBER>
If hasNextPage is true, re-run the query adding after: "<endCursor>"
to the corresponding connection (e.g., reviewThreads(first:100, after:"<cursor>")).
Focus on isResolved: false threads.
Present a Markdown table before any edits:
| Comment | File | Triage |
|---|---|---|
path or PR-level | Implement / Reply only / Blocked |
Wait for explicit user approval before proceeding.
Address one thread at a time, minimal changes. Fix root cause once when multiple threads share it.
Run smallest meaningful validation for the changed area. Do not claim "fixed" without running validation or stating it is unverified.
Reply in-thread:
gh api graphql -f query="mutation(\$threadId:ID!, \$body:String!) {
addPullRequestReviewThreadReply(input:{pullRequestReviewThreadId:\$threadId, body:\$body})
{ comment { url } }
}" -F threadId=<ID> -f body='Addressed in <summary>.'
Resolve only after reply and real fix:
gh api graphql -f query="mutation(\$threadId:ID!) {
resolveReviewThread(input:{threadId:\$threadId}) { thread { id isResolved } }
}" -F threadId=<ID>
For explanation-only replies, leave thread open unless user says to resolve.
Run the full development pipeline autonomously without pausing between phases. Stops only on quality-gate failures.
Run test coverage measurement, analyze results, and fix gaps when coverage falls below the 80% threshold.
Stage, commit, push, and open a GitHub PR following project conventions. Use when code is ready to ship.
Run structured evaluations on skills to measure quality and track improvements.
Review local code changes for correctness, regressions, missing tests, and Databao-specific risks.
Ensure a YouTrack issue exists before starting work. Validates existing tickets or creates new ones.