From dbud
Use when posting validated code review findings as GitHub PR line-level comments or a GitHub PR review after completing a review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dbud:add-pr-commentsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Post validated code review findings from the current review as a GitHub PR review with line-level comments. Use this only after findings have been reviewed, deduplicated, and validated against the current diff.
Post validated code review findings from the current review as a GitHub PR review with line-level comments. Use this only after findings have been reviewed, deduplicated, and validated against the current diff.
Resolve the PR.
gh pr view --json number,headRefOid,url -q '{number: .number, sha: .headRefOid, url: .url}'Confirm review language.
Use the final finding list.
file:line or file:startLine-endLine), why it matters, and recommended fix.Classify findings.
file:line or file:startLine-endLine format.Filter and deduplicate.
low confidence findings unless severity is high or critical.Build the GitHub review payload.
gh repo view --json nameWithOwner -q .nameWithOwner/repos/{owner}/{repo}/pulls/{pr_number}/reviews.commit_id: HEAD commit SHA from step 1event: APPROVE for ready to approve, otherwise REQUEST_CHANGESbody: a short, plain-language summary of how the PR looks overall — the gist you'd give a teammate, not a formal reportcomments: line-anchored comments, each with:
path: relative file path from repo rootline: line number, or range end linestart_line: range start line, only for multi-line rangesside: RIGHTbody: formatted finding commentWrite each comment like a human reviewer, not a linter.
Talk to the author like a teammate. Lead with the problem in plain language, use contractions, and ask a question when you're genuinely unsure. Vary your openings — don't start every comment the same way. One or two sentences is usually enough; don't pad, and drop the rigid template and bracketed severity tags.
nit: or minor: for small stuff; for a blocker, just say it's a blocker and why.Examples:
name here — it's concatenated straight into the query, so a crafted value runs arbitrary SQL. Can we switch to a parameterized query? This one's a blocker."lib/date.js already exports a formatDate() that does this — worth importing it instead so we don't keep two copies in sync?"reduce could just be .flat()."Post the review.
gh api ... --input <payload-file>.Handle errors.
422: move comments that cannot be anchored to the diff into the review body, then retry.403 or 404: report that the gh token or user may lack write access.Report the result.
APPROVE or REQUEST_CHANGES.Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub tkxkd0159/dbud