pr-comments — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pr-comments (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Displays all comments (from users and bots) and test results for a pull request, then helps triage them interactively.
"$ARGUMENTS"
gh pr view)Get the PR number to query:
# If user provided PR number, use it; otherwise get current branch's PR
if [ -n "$ARGUMENTS" ]; then
PR_NUM="$ARGUMENTS"
else
PR_NUM=$(gh pr view --json number --jq '.number' 2>/dev/null)
if [ -z "$PR_NUM" ]; then
echo "Error: No PR number provided and current branch has no associated PR"
exit 1
fi
fiRetrieve PR comments, review comments, and test results:
# Get basic PR info
PR_INFO=$(gh pr view "$PR_NUM" --json title,author,url)
PR_TITLE=$(echo "$PR_INFO" | jq -r '.title')
PR_URL=$(echo "$PR_INFO" | jq -r '.url')
PR_AUTHOR=$(echo "$PR_INFO" | jq -r '.author.login')
# Get PR issue comments (conversation tab)
COMMENTS=$(gh pr view "$PR_NUM" --json comments --jq '.comments[]? | "**[\(.author.login)]** _\(.createdAt)_\n\(.body)\n"')
if [ -z "$COMMENTS" ]; then
COMMENTS="No comments found"
fi
# Get review comments with IDs (inline code comments)
REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
REVIEW_COMMENTS=$(gh api "repos/$REPO/pulls/$PR_NUM/comments" --jq '.[]? | "[ID: \(.id)] **[\(.user.login)]** _\(.path):\(.line // .original_line)_\n\(.body)\n"')
if [ -z "$REVIEW_COMMENTS" ]; then
REVIEW_COMMENTS="No review comments found"
fi
# Get test/check results
CHECKS=$(gh pr checks "$PR_NUM" --json name,status,conclusion,detailsUrl)Show structured report with all data:
cat <<EOF
# PR #$PR_NUM: $PR_TITLE
**Author**: $PR_AUTHOR
**URL**: $PR_URL
---
## Comments
$COMMENTS
---
## Review Comments
$REVIEW_COMMENTS
---
## Test Results
$(echo "$CHECKS" | jq -r '.[] | "- [\(.conclusion // .status | ascii_upcase)] **\(.name)**\n \(.detailsUrl)"')
---
EOFAsk user to categorize each comment:
For each category, execute the appropriate actions:
Ignore comments:
# For each comment ID to ignore
gh api "repos/$REPO/pulls/$PR_NUM/comments/$COMMENT_ID/replies" -f body="ignore"
# Mark as resolved if it's a review comment threadFixed comments:
# For each comment ID that's fixed
gh api "repos/$REPO/pulls/$PR_NUM/comments/$COMMENT_ID/replies" -f body="fixed"Outdated comments:
# For each comment ID that's outdated
gh api "repos/$REPO/pulls/$PR_NUM/comments/$COMMENT_ID/replies" -f body="outdated"
# Mark as resolvedUntouched comments:
Display summary of actions taken:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.