원클릭으로
check-pr-comments
Fetch unresolved PR review threads, triage them, implement fixes, validate, reply in-thread, and resolve.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Fetch unresolved PR review threads, triage them, implement fixes, validate, reply in-thread, and resolve.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
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.
| 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.