plugins/scm-utils/skills/automated-code-review/SKILL.md
Perform a comprehensive automated code review using granular review skills. Orchestrates review-pr-contents, review-commits, review-commit-messages, review-diff, review-code, validate-review, and post-review as building blocks. Use this for new review workflows — scm-utils:code-review is maintained for backward compatibility with Henry's CI workflow.
npx skillsauth add nsheaps/ai-mktpl automated-code-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Note:
scm-utils:code-reviewis the legacy skill used by Henry's CI review workflow. This skill is the recommended replacement for new review workflows.
A comprehensive code review workflow that orchestrates multiple granular review skills in sequence. Each skill performs a focused review dimension, then results are validated and posted as a structured GitHub review.
The automated code review runs the following skills in order:
If review findings indicate problems that should be fixed:
User Request
↓
review-pr-contents → PR title/body/labels findings
↓
review-commits → Commit structure findings
↓
review-commit-messages → Message convention findings
↓
review-diff → Diff scope/completeness findings
↓
review-code → Code quality/pattern findings
↓
validate-review → Verify all findings are accurate
↓
post-review → Submit GitHub review with verdict
↓
[If issues found]
fix-review-findings → Address issues
↓
Re-run automated-code-review
| Verdict | When |
| ----------------- | ------------------------------------------------------- |
| APPROVE | No outstanding issues, ready to merge |
| COMMENT | Only P2 follow-ups remain (won't break if merged) |
| REQUEST_CHANGES | Must fix before merge (security, correctness, breaking) |
code-review InsteadThis skill orchestrates these specialized review skills:
scm-utils:review-pr-contents — Review PR metadata and presentationscm-utils:review-commits — Review commit structure and organizationscm-utils:review-commit-messages — Review commit message conventionsscm-utils:review-diff — Review diff scope and completenessscm-utils:review-code — Review code quality and correctnessscm-utils:validate-review — Verify review findings are accuratescm-utils:post-review — Post the review on GitHubscm-utils:fix-review-findings — Address review findingstools
Manually reproduce what the github-app plugin's SessionStart hook does to make a GitHub App installation token usable in the current session — materialize the PEM, generate the token, isolate GH_CONFIG_DIR, write the runtime env file, and wire CLAUDE_ENV_FILE so every Bash call sees GH_TOKEN/GITHUB_TOKEN. Use when the hook did not run, the token is missing from the environment, or a shell/teammate needs the token wired up by hand. <example>GH_TOKEN isn't set even though github-app is configured</example> <example>the github-app SessionStart hook didn't run, set up the token manually</example> <example>wire the github app token into CLAUDE_ENV_FILE</example> <example>gh keeps falling back to the wrong account, isolate GH_CONFIG_DIR</example>
tools
Manually configure the GitHub App bot git identity the way the github-app plugin's SessionStart hook does — resolve the app slug and bot user ID, build the <slug>[bot] name and noreply email, set GIT_AUTHOR_*/GIT_COMMITTER_* env vars, and write an isolated GIT_CONFIG_GLOBAL with the gh auth git-credential helper. Use when commits are attributed to the wrong account, "Author identity unknown" appears, or git identity must be set up by hand. <example>my commits are showing up as the handler, not the bot</example> <example>git says Author identity unknown after the github-app hook ran</example> <example>configure the github app bot git identity manually</example> <example>set up the gh credential helper for git push</example>
tools
Manages spec files for requirements capture and validation
tools
# Bash Chaining Alternatives This skill teaches you how to work around the bash command chaining restriction enforced by this plugin. ## Why Chaining is Blocked The `bash-command-rejection` plugin blocks these operators: | Operator | Name | Why Blocked | | -------- | ---------- | ----------------------------------------------------------------------------------- | | `&&` | AND chain | Runs cmd2 only if cmd1 su