github-code-review — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited github-code-review (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.
Perform code reviews on local changes before pushing, or review open PRs on GitHub.
github-auth skill)if command -v gh &>/dev/null && gh auth status &>/dev/null; then
AUTH="gh"
else
AUTH="git"
if [ -z "$GITHUB_TOKEN" ]; then
if [ -f ~/.hermes/.env ] && grep -q "^GITHUB_TOKEN=" ~/.hermes/.env; then
GITHUB_TOKEN=$(grep "^GITHUB_TOKEN=" ~/.hermes/.env | head -1 | cut -d= -f2 | tr -d '\n\r')
elif grep -q "github.com" ~/.git-credentials 2>/dev/null; then
GITHUB_TOKEN=$(grep "github.com" ~/.git-credentials 2>/dev/null | head -1 | sed 's|https://[^:]*:\([^@]*\)@.*|\1|')
fi
fi
fi
REMOTE_URL=$(git remote get-url origin)
OWNER_REPO=$(echo "$REMOTE_URL" | sed -E 's|.*github\.com[:/]||; s|\.git$||')
OWNER=$(echo "$OWNER_REPO" | cut -d/ -f1)
REPO=$(echo "$OWNER_REPO" | cut -d/ -f2)git diff --staged # staged changes
git diff main...HEAD # all changes vs main
git diff main...HEAD --name-only # file names only
git diff main...HEAD --stat # stat summarygit diff main...HEAD --stat + git log main..HEAD --onelinegit diff main...HEAD -- src/auth/login.py + read_file for context git diff main...HEAD | grep -n "print(\|console\.log\|TODO\|FIXME\|HACK\|debugger"
git diff main...HEAD --stat | sort -t'|' -k2 -rn | head -10
git diff main...HEAD | grep -in "password\|secret\|api_key\|token.*=\|private_key"
git diff main...HEAD | grep -n "<<<<<<\|>>>>>>\|======="## Code Review Summary
### Critical
- **src/auth.py:45** — SQL injection: use parameterized queries.
### Warnings
- **src/models/user.py:23** — Password stored in plaintext.
### Suggestions
- **src/utils/helpers.py:8** — Duplicates logic in `src/core/utils.py:34`.
### Looks Good
- Clean separation of concerns in the middleware layerSee references/reviewing-prs.md for full curl/gh commands.
Quick reference:
# View PR
gh pr view 123
gh pr diff 123
gh pr diff 123 --name-only
# Check out locally
gh pr checkout 123
# or: git fetch origin pull/123/head:pr-123 && git checkout pr-123
# Leave inline comment
HEAD_SHA=$(gh pr view 123 --json headRefOid --jq '.headRefOid')
gh api repos/$OWNER/$REPO/pulls/123/comments \
--method POST \
-f body="Your comment" \
-f path="src/file.py" \
-f commit_id="$HEAD_SHA" \
-f line=45
# Submit formal review
gh pr review 123 --approve --body "LGTM!"
gh pr review 123 --request-changes --body "See inline comments."commit()When asked to "review the code" or "check before pushing":
git diff main...HEAD --stat — see scopegit diff main...HEAD — read full diffread_file for each changed file if neededSee references/pr-review-workflow.md for the full 9-step workflow.
Key steps:
Pitfalls:
@copilot is not always a valid GitHub loginorigin/main first before reviewing~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.