// 멀티 AI 코드 리뷰 오케스트레이터. Claude, Codex, Gemini, Droid를 조율하여 종합적 코드 리뷰 수행. "멀티 AI 리뷰", "코드 리뷰", "종합 리뷰" 요청 시 활성화됩니다.
| name | multi-ai-code-review |
| description | 멀티 AI 코드 리뷰 오케스트레이터. Claude, Codex, Gemini, Droid를 조율하여 종합적 코드 리뷰 수행. "멀티 AI 리뷰", "코드 리뷰", "종합 리뷰" 요청 시 활성화됩니다. |
여러 AI CLI 도구(Claude Code, Codex, Gemini CLI, Factory.ai Droid)를 조율하여 종합적이고 다각적인 코드 리뷰를 수행하는 오케스트레이션 시스템입니다.
핵심 기능:
이 스킬은 다음 상황에서 활성화됩니다:
명시적 요청:
자동 활성화:
Your Code
↓
┌─→ 4 AI Tools Review in Parallel/Sequential
│ - Claude Code: Architecture & Design
│ - Codex: Correctness & Algorithms
│ - Gemini: Performance & Edge Cases
│ - Droid: Security & Maintainability
│ ↓
│ Master Agent Validates
│ - Aggregate reviews
│ - Detect conflicts
│ - Score by priority
│ - Validate feasibility
│ ↓
│ Apply Approved Changes
│ - High consensus: auto-apply
│ - Medium: review first
│ - Conflicts: resolve
│ ↓
│ Run Tests & Verify
│ ↓
└─ Repeat if Improvements Found
Improved Code + Comprehensive Report
Focus: Architecture, design patterns, best practices
Strengths:
Invocation:
Task({
subagent_type: "code-reviewer",
prompt: "Review {files} for architecture and design patterns",
model: "sonnet"
})
Focus: Code correctness, algorithms, logic
Strengths:
Invocation:
codex exec \
"Review {files} for correctness and logic issues"
Focus: Performance optimization, edge cases
Strengths:
Invocation:
gemini code review {files} \
--focus performance \
--output json
Focus: Security, maintainability, CI/CD readiness
Strengths:
Invocation:
droid exec \
"Review {files} for security and maintainability" \
--output-format json
Consistency Check:
Feasibility Check:
Impact Assessment:
Relevance Check:
priorityScore =
(agreementLevel * 0.3) + // How many reviewers agree
(severityRating * 0.4) + // Critical/High/Medium/Low
(1 / complexity * 0.2) + // Implementation difficulty
(impactScope * 0.1) // How many files affected
Agreement Levels:
High Agreement (3+ reviewers, score > 8.0):
Medium Agreement (2 reviewers, score 5.0-8.0):
Low Agreement (1 reviewer, score < 5.0):
Conflicts Detected:
{
"reviewId": "uuid-v4",
"timestamp": "2025-11-19T10:30:00Z",
"target": {
"files": ["src/auth.ts", "src/user.ts"],
"scope": "module"
},
"reviewers": [
{
"name": "claude-code",
"status": "completed",
"duration": "30s",
"issuesFound": 5
},
{
"name": "codex",
"status": "completed",
"duration": "45s",
"issuesFound": 3
},
{
"name": "gemini",
"status": "completed",
"duration": "25s",
"issuesFound": 4
},
{
"name": "droid",
"status": "completed",
"duration": "40s",
"issuesFound": 6
}
],
"issues": [
{
"id": "issue-1",
"severity": "high",
"category": "security",
"location": {
"file": "src/auth.ts",
"line": 42,
"function": "validateToken"
},
"description": "JWT token validation missing expiration check",
"detectedBy": ["codex", "droid"],
"suggestedFix": "Add exp claim validation before accepting token",
"agreementScore": 0.5,
"priorityScore": 8.5
}
],
"conflicts": [
{
"issueIds": ["issue-3", "issue-7"],
"conflictType": "contradictory-solutions",
"description": "Codex suggests async/await, Gemini suggests callbacks for performance",
"resolution": "pending"
}
],
"appliedChanges": [
{
"issueId": "issue-1",
"status": "applied",
"changeType": "code-modification",
"verificationStatus": "passed"
}
],
"iterationSummary": {
"iteration": 1,
"improvementsDelta": 0.35,
"shouldContinue": true,
"nextFocus": ["performance", "edge-cases"]
}
}
Stop When:
Continue When:
Environment Variables (via jelly-dotenv):
CODE_REVIEW_MAX_ITERATIONS=3
CODE_REVIEW_TIMEOUT=600
CODE_REVIEW_PARALLEL=false
CODE_REVIEW_AUTO_APPLY=false
CODE_REVIEW_MIN_AGREEMENT=0.6
Request:
"Review auth.ts using all AI tools"
Workflow:
Request:
"Review authentication module with iterative improvement"
Workflow:
Request:
"Review my uncommitted changes before commit"
Workflow:
git diffRequest:
"Comprehensive review of entire src/ directory"
Workflow:
if (testsFailedAfterChange) {
await rollbackChanges()
await markIssueAsProblematic(issue.id)
await continueWithNextIssue()
}
This skill is invoked by master Claude when users request multi-AI reviews.
Example Workflow:
User: "Review my API with multiple AI perspectives"
Claude Code (Master):
1. Activates jelly-multi-ai-code-review skill
2. Identifies target files (src/api/*)
3. Launches orchestrator
4. Returns comprehensive report to user
Required Skills:
jelly-codex-skill - Codex CLI integrationjelly-gemini - Gemini CLI integrationjelly-droid-skill - Factory.ai Droid integrationjelly-dotenv - Environment configurationOptional Skills:
jelly-taskmaster-parallel - Parallel sub-agent executionManaged by jelly-dotenv:
# AI Model API Keys
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GOOGLE_API_KEY=...
FACTORY_API_KEY=fk-...
# Review Configuration
CODE_REVIEW_MAX_ITERATIONS=3
CODE_REVIEW_TIMEOUT=600
CODE_REVIEW_PARALLEL=false
CODE_REVIEW_AUTO_APPLY=false
CODE_REVIEW_MIN_AGREEMENT=0.6
Sequential (safer, default):
const reviews = []
reviews.push(await launchClaudeReviewer(files))
reviews.push(await launchCodexReviewer(files))
reviews.push(await launchGeminiReviewer(files))
reviews.push(await launchDroidReviewer(files))
Parallel (faster):
const reviews = await Promise.all([
launchClaudeReviewer(files),
launchCodexReviewer(files),
launchGeminiReviewer(files),
launchDroidReviewer(files)
])
✅ DO:
❌ DON'T:
✅ DO:
❌ DON'T:
사용자: auth.ts 멀티 AI로 리뷰해줘
Claude: 4개 AI로 auth.ts를 분석합니다...
## 리뷰 결과
### 합의된 이슈 (3개 AI 이상)
1. JWT 만료 검증 누락 [보안/심각]
- Claude: ✓ | Codex: ✓ | Droid: ✓
→ 자동 수정 적용됨
### 단일 의견
- Gemini: async/await 대신 Promise 체인 권장
→ 사용자 결정 필요
사용자: PR 올리기 전에 src/api/ 전체 검토해줘
Claude: src/api/ 디렉토리 종합 리뷰...
## 종합 리포트
- 검토 파일: 12개
- 발견 이슈: 8개
- 자동 수정: 5개
- 수동 확인 필요: 3개
references/architecture.md: 아키텍처 상세references/workflow-guide.md: 워크플로우 가이드