From team-code-review
Multi-agent team code review that spawns parallel reviewers (Claude Opus + Claude Sonnet) for thorough PR analysis. Use this whenever the user wants a code review of a PR, asks for multi-model or multi-perspective review, says '/team-review', mentions 'team review', or wants a comprehensive quality check before merging. Also trigger when the user emphasizes thoroughness, wants cross-validated review, or asks multiple models to review their code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/team-code-review:team-code-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A multi-agent code review system that forms a reviewer team with different AI models, cross-checks findings between them, and posts a consolidated review as a PR comment.
A multi-agent code review system that forms a reviewer team with different AI models, cross-checks findings between them, and posts a consolidated review as a PR comment.
Each reviewer analyzes the PR diff for:
Execute these phases in order. The key insight: independent parallel review first, then cross-validation, then synthesis. This catches issues that a single reviewer would miss.
Determine the PR to review. The user may provide:
nalpari/tech-blog#8https://github.com/owner/repo/pull/8#8gh pr view --json numberFetch metadata and diff:
# Metadata
gh pr view <PR_NUMBER> --repo <OWNER/REPO> --json number,title,body,baseRefName,headRefName
# Full diff
gh pr diff <PR_NUMBER> --repo <OWNER/REPO> > /tmp/team-review-full-diff.txt
Handling large diffs (this is important — real PRs are often big):
pnpm-lock.yaml, package-lock.json, yarn.lock, *.generated.*src/, lib/, app/, config files, and migrations/tmp/team-review-diff-focused.txtLaunch both reviewers simultaneously — they have no dependencies on each other.
Reviewer 1 (Claude Opus 4.6) — use the Agent tool:
Agent(
model: "opus",
run_in_background: true,
prompt: "You are Reviewer 1 in a multi-agent code review team. This is research-only — do NOT edit files.
Step 1: Read the diff file at /tmp/team-review-diff-focused.txt
Step 2: Produce your review.
PR Title: {title}
PR Description: {body}
Base: {base} → Head: {head}
Focus areas:
1. Bugs / Logic Errors — potential bugs, missing edge cases, race conditions, null handling
2. Code Quality / Patterns — SOLID violations, code smells, duplication, naming
3. Performance — algorithmic complexity, memory leaks, unnecessary computations
For each finding: file path, line number (approx OK), severity (CRITICAL/WARNING/INFO), description, suggested fix.
Note 1-2 positive aspects. Output as structured markdown."
)
Reviewer 2 (Claude Sonnet 4.6) — use the Agent tool:
Agent(
model: "sonnet",
run_in_background: true,
prompt: "You are Reviewer 2 in a multi-agent code review team. This is research-only — do NOT edit files.
Step 1: Read the diff file at /tmp/team-review-diff-focused.txt
Step 2: Produce your review.
PR Title: {title}
PR Description: {body}
Base: {base} → Head: {head}
Focus areas:
1. Bugs / Logic Errors — potential bugs, missing edge cases, race conditions, null handling
2. Code Quality / Patterns — SOLID violations, code smells, duplication, naming
3. Performance — algorithmic complexity, memory leaks, unnecessary computations
For each finding: file path, line number (approx OK), severity (CRITICAL/WARNING/INFO), description, suggested fix.
Note 1-2 positive aspects. Output as structured markdown."
)
Each reviewer examines the other's findings. This catches false positives, validates real issues, and surfaces missed items.
First, save both reviews to structured text files:
/tmp/team-review-r1-findings.txt — Reviewer 1's findings (from Opus result)/tmp/team-review-r2-findings.txt — Reviewer 2's findings (from Sonnet result)Run both cross-checks in parallel:
Reviewer 1 cross-checks Reviewer 2 — spawn Opus subagent:
Agent(
model: "opus",
run_in_background: true,
prompt: "You are Reviewer 1 (Claude Opus). Cross-check Reviewer 2 (Claude Sonnet)'s findings. Research-only — do NOT edit files.
Read: /tmp/team-review-r1-findings.txt (your findings)
Read: /tmp/team-review-r2-findings.txt (Sonnet's findings)
For each Sonnet finding: AGREE, DISAGREE, or ADD CONTEXT? Brief explanation.
Did Sonnet catch anything you missed?
Are any of Sonnet's findings false positives? Explain why.
Any new issues from combined perspective?
Output as structured markdown."
)
Reviewer 2 cross-checks Reviewer 1 — spawn Sonnet subagent:
Agent(
model: "sonnet",
run_in_background: true,
prompt: "You are Reviewer 2 (Claude Sonnet). Cross-check Reviewer 1 (Claude Opus)'s findings. Research-only — do NOT edit files.
Read: /tmp/team-review-r2-findings.txt (your findings)
Read: /tmp/team-review-r1-findings.txt (Opus's findings)
For each Opus finding: AGREE, DISAGREE, or ADD CONTEXT? Brief explanation.
Did Opus catch anything you missed?
Are any of Opus's findings false positives? Explain why.
Any new issues from combined perspective?
Output as structured markdown."
)
You now have four documents. Synthesize them using this decision matrix:
| Situation | Action |
|---|---|
| Both agree on an issue | Include with high confidence |
| One found it, other confirmed in cross-check | Include |
| One found it, other disagreed | Include only if evidence is strong; note the disagreement |
| Only one found it, not addressed in cross-check | Include if specific and well-reasoned |
| Flagged as false positive by cross-checker | Exclude unless you have strong reason to override |
Prioritize findings by severity: CRITICAL first, then WARNING, then INFO.
Format the final review in Korean and post as a PR comment:
gh pr comment <PR_NUMBER> --repo <OWNER/REPO> --body "$(cat <<'COMMENT_EOF'
<review content>
COMMENT_EOF
)"
Adapt sections based on actual findings — omit empty sections.
# :mag: Team Code Review
> **PR**: #{pr_number} {pr_title}
> **Reviewers**: Claude Opus 4.6, Claude Sonnet 4.6
> **Review method**: Independent parallel review + cross-validation
---
## :memo: 요약
{1-3 문장으로 전체 변경 사항의 의도와 리뷰 결과 요약}
## :bug: 버그 / 로직 오류
| 심각도 | 파일 | 위치 | 설명 | 제안 |
|--------|------|------|------|------|
## :triangular_ruler: 코드 품질 / 패턴
| 우선순위 | 파일 | 위치 | 설명 | 제안 |
|----------|------|------|------|------|
## :zap: 성능
| 영향도 | 파일 | 위치 | 설명 | 제안 |
|--------|------|------|------|------|
## :white_check_mark: 잘된 점
{긍정적 피드백 1-3개}
## :handshake: 리뷰어 합의
{크로스 체크에서 특히 중요했던 합의/이견 사항. 허위 양성으로 판정된 항목도 기록}
---
:robot: *Generated by Team Code Review (Claude Opus 4.6 + Claude Sonnet 4.6)*
--repo owner/repo with gh commands when the current directory is not the target repo.After posting the comment, remove temporary files:
rm -f /tmp/team-review-*.txt
npx claudepluginhub nalpari/team-code-review-plugin --plugin team-code-reviewConducts deep PR reviews using 6-7 parallel specialized agents for code quality, security, testing, frontend/backend architecture. Use for thorough pull request analysis before merging.
Performs deep code quality reviews focusing on structure, refactoring, bugs, and best practices. Supports PR diffs and full project scans with configurable reviewers and fix delegation.
Reviews GitHub pull requests using parallel subagents for CLAUDE.md compliance, bugs, git history context, past feedback, and code comment adherence.