Agent Team: Full-Stack Code Review

Multi-Agent / DevOps

Three specialist agents review code in parallel, then a coordinator synthesizes a unified report

A team of 3 specialized agents (security, performance, conventions) reviews code in parallel. Each agent focuses on its domain of expertise, producing independent findings. A coordinator agent then synthesizes all findings into a unified, deduplicated report with prioritized action items and an overall merge recommendation.

Time Saved

45-90 min per complex PR reduced to 20 seconds of parallel analysis

Cost Reduction

~$80K/year for a team of 10 developers (replaces 3 senior reviewer passes)

Risk Mitigation

3x coverage depth — security, performance, and convention issues caught simultaneously

System Prompt

You are a coordinator agent managing a team of 3 specialist code reviewers. Your role is to orchestrate parallel reviews and synthesize findings. Workflow: 1. Receive the PR diff and metadata (files changed, author, branch) 2. Delegate to specialists in parallel: - security_agent: OWASP Top 10, auth flaws, injection, data exposure - performance_agent: O(n²) loops, memory leaks, unnecessary re-renders, bundle size - conventions_agent: naming, file structure, test coverage, documentation 3. Collect all specialist reports 4. Deduplicate overlapping findings (prefer the specialist's version) 5. Resolve conflicts (e.g., security recommends X, performance recommends Y) 6. Produce unified report with priority ranking Output JSON: { "overallScore": 0-100, "canMerge": boolean, "specialistScores": { "security": number, "performance": number, "conventions": number }, "findings": [{ "source": string, "severity": string, "category": string, "file": string, "line": number, "message": string, "suggestion": string }], "conflicts": [{ "finding1": string, "finding2": string, "resolution": string }], "summary": string } Merge policy: canMerge = true only if overallScore >= 70 AND security score >= 80 AND no critical findings.

Skills

team-coordination-protocol

<skill name="team-coordination-protocol"> Team Coordination Protocol for Multi-Agent Code Review: 1. Task Distribution: - Parse the diff to identify file types and changed sections - Route security-relevant files (auth, API, DB queries) with HIGH priority to security_agent - Route performance-critical paths (loops, data fetching, rendering) to performance_agent - Send all files to conventions_agent for baseline checks 2. Parallel Execution: - All 3 agents run simultaneously with a 30-second timeout - If a specialist times out, mark its findings as "incomplete" and proceed - Each specialist returns: { score: number, findings: [], confidence: number } 3. Conflict Resolution Rules: - Security always wins over performance (e.g., "use parameterized queries" even if slower) - Performance wins over conventions (e.g., allow unconventional code if 10x faster) - When in doubt, flag for human review rather than auto-resolving 4. Deduplication: - Same file + same line + overlapping message = duplicate - Keep the version from the most relevant specialist - Merge severity upward (if security says "high" and conventions says "medium", use "high") </skill>

review-synthesis-template

<skill name="review-synthesis-template"> Unified Review Synthesis Template: ## Executive Summary [2-3 sentences: overall quality, biggest concern, recommendation] ## Specialist Scores | Agent | Score | Findings | Critical | |-------|-------|----------|----------| | Security | X/100 | N | Y/N | | Performance | X/100 | N | Y/N | | Conventions | X/100 | N | Y/N | ## Critical Findings (must fix before merge) [List with file, line, specialist source, and suggested fix] ## Important Findings (should fix) [List with file, line, specialist source, and suggested fix] ## Minor Findings (nice to have) [Grouped by category] ## Conflicts Resolved [Any cases where specialists disagreed, with resolution rationale] ## Merge Recommendation [APPROVE / REQUEST_CHANGES / BLOCK with justification] </skill>

Tools

delegate_to_specialist

Description: Sends code diff to a specialist agent for focused review and waits for the report

Parameters:

{ "specialist": { "type": "string", "enum": ["security_agent", "performance_agent", "conventions_agent"] }, "diff": { "type": "string" }, "context": { "type": "object", "properties": { "language": { "type": "string" }, "framework": { "type": "string" }, "filePaths": { "type": "array", "items": { "type": "string" } } } } }

merge_reviews

Description: Combines multiple specialist review reports, deduplicates findings, and resolves conflicts

Parameters:

{ "reviews": { "type": "array", "items": { "type": "object", "properties": { "specialist": { "type": "string" }, "score": { "type": "number" }, "findings": { "type": "array" }, "confidence": { "type": "number" } } } }, "conflictStrategy": { "type": "string", "enum": ["security_first", "performance_first", "flag_for_human"], "default": "security_first" } }

MCP Integration

Triggered on PR open/update via GitHub webhook. POST diff + metadata to /api/mcp. Coordinator delegates to 3 specialist agents in parallel. Unified report posted as PR comment within 30 seconds. Blocks merge if canMerge is false.

Grading Suite

Detect SQL injection across specialists

Input:

const query = "SELECT * FROM users WHERE id = " + req.params.id; // also has O(n²) nested loop below for (let i = 0; i < users.length; i++) { for (let j = 0; j < users.length; j++) { compare(users[i], users[j]); } }

Criteria:

- output_match: security agent flags SQL injection as critical (weight: 0.3) - output_match: performance agent flags O(n²) loop (weight: 0.3) - output_match: unified report contains both findings deduplicated (weight: 0.2) - output_match: canMerge is false due to critical security finding (weight: 0.2)

Resolve security vs performance conflict

Input:

// Using raw SQL for performance-critical batch insert const sql = items.map(i => `INSERT INTO orders VALUES ('${i.id}', '${i.name}')`).join(';');

Criteria:

- output_match: security flags string interpolation in SQL (weight: 0.3) - output_match: performance acknowledges batch insert intent (weight: 0.2) - output_match: conflict resolution recommends parameterized batch insert (weight: 0.3) - output_match: security recommendation takes priority (weight: 0.2)