Help us improve
Share bugs, ideas, or general feedback.
From code-review
Single-pass code review focused on clean code principles and OOP best practices. Auto-detects mode: PR number in arguments triggers PR mode (reads existing comments), uncommitted changes trigger local mode, feature branch triggers branch mode. Use when asked to "review code", "code review", "review my changes", or "review PR #N".
npx claudepluginhub byunk/skills --plugin code-reviewHow this skill is triggered — by the user, by Claude, or both
Slash command
/code-review:code-reviewSonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Single-pass, read-only code review. Report findings — do not fix code.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Explores codebases via GitNexus: discover repos, query execution flows, trace processes, inspect symbol callers/callees, and review architecture.
Share bugs, ideas, or general feedback.
Single-pass, read-only code review. Report findings — do not fix code.
detect-mode.sh "$ARGUMENTS"
MODE is empty: output "Nothing to review — no local changes, no commits ahead of base branch." and stop.Reviewing in <mode> mode.Get the diff based on the detected mode:
origin/<base>gh pr diff, PR description, and existing review comments via gh apiFor PR mode, read all existing review comments (inline and top-level). Do not re-raise issues already discussed.
Keep this step lightweight — just collect the raw diff and PR context. Do not over-analyze here.
Before reviewing, build context about the codebase. This is critical for calibrating findings.
package.json, pyproject.toml, pom.xml, Cargo.toml, etc.) to understand the project type and tech stack.git log --oneline for branch mode) or PR description to understand the intent behind the changes — what problem is being solved and why.Use this context to distinguish intentional patterns from actual issues. Do not flag code that follows the project's established conventions.
List changed files using the mode-appropriate command. For each changed file:
Evaluate the changed code at the appropriate abstraction level for the change:
Only report actual problems. Do not comment on code that is fine. Be practical, not academic.
Clean Code (all languages):
OOP (only when class-based patterns are used):
Practical:
Classify each finding by severity:
Critical — Will or may cause crashes, data loss, security vulnerabilities, or incorrect behavior at runtime.
Major — Design flaws, likely bugs, architectural violations, or patterns that will cause maintainability problems. Includes things that look like mistakes.
Minor — Convention inconsistencies, style issues, naming nitpicks, or small improvements.
Number each finding sequentially starting from 1. Format each finding as:
### #N <severity>: one-line title
**File:** `path/to/file.ext:line`
**Code:** `quoted code from the diff`
**Why it matters:** One sentence explaining the impact.
**Suggestion:** Concrete fix or direction.
Example:
### #1 Critical: Unhandled null reference in user lookup
**File:** `src/services/UserService.ts:42`
**Code:** `const email = user.profile.email`
**Why it matters:** `user.profile` can be null when the account is pending, causing a runtime crash.
**Suggestion:** Add null check: `const email = user.profile?.email ?? ''`
List findings in this order: Critical first, then Major, then Minor.
When in PR mode, append after findings:
### Existing Discussion (not re-raised)
- path/to/file.ext:30 — error handling discussed by @reviewer
- path/to/file.ext:55 — naming concern acknowledged by author
Omit if no existing comments overlap with potential findings.
End with a numbered summary list:
---
## Summary
Files reviewed: N | Critical: X | Major: Y | Minor: Z
1. **Critical** `UserService.ts:42` — Unhandled null reference in user lookup
2. **Major** `OrderController.ts:88` — DB query in controller bypasses service layer
3. **Minor** `utils.py:15` — Magic number 86400 should be SECONDS_PER_DAY
If zero issues: output Files reviewed: N | No issues found. and stop.