npx skills add ...
npx skills add giuseppe-trisciuoglio/developer-kit --skill pr-review-comments
Posts review findings from a JSON file as inline comments on a GitHub Pull Request, attaching each comment to its file and line. Use when you have a list/JSON of review findings (each with a file path, line number, and a message such as summary/failure_scenario) and want them published on a PR as inline review comments. Triggers include "post these review comments on the PR", "associate comments to files in the PR", "publish review findings to PR #N", or having a JSON array of {file, line, summary} to turn into PR comments.
npx skills add giuseppe-trisciuoglio/developer-kit --skill pr-review-comments
Publish a JSON array of review findings as inline comments on a GitHub Pull Request,
each anchored to its file and line. Uses the GitHub API through the authenticated
gh CLI, so no token handling is needed.
gh CLI installed and authenticated (gh auth status). The script auto-detects the
repo with gh repo view; pass --repo OWNER/REPO to override.file, line.
Message comes from summary and/or failure_scenario (combined into the body), or an
explicit body. See references/json-schema.md for the full
schema and a sample.GitHub only accepts an inline comment if the target line is part of the PR's diff.
line is the line number in the new file (use side: "LEFT" for removed lines).
The script fetches the PR diff, validates every finding against the actual hunks, and
skips any whose line is outside the diff — reporting them at the end so nothing is
lost silently. There is no way to attach a line comment to an unchanged, undiffed line.
gh repo view.| Mode | Endpoint | Use when |
|---|---|---|
grouped (default) | POST /pulls/{n}/reviews | Publishing a set of findings as one review. One notification; can set --event APPROVE | REQUEST_CHANGES | COMMENT. |
individual | POST /pulls/{n}/comments | Adding standalone comments incrementally, or when each finding should be its own thread/notification. |
Default to grouped with --event COMMENT unless the user wants a verdict or separate threads.
start_line (and optional start_side) in the JSON
object alongside line; the script passes them through.--dry-run before a real post on an unfamiliar PR — stale line numbers are the
most common failure and the dry-run surfaces them as "skipped" without side effects.gh api calls for this — it handles
diff validation, repo/commit detection, and body assembly consistently.