Orchestrates multi-agent code reviews simulating Principal Engineers analyzing git diffs, PRs, changes for quality, security, architecture, testing, and requirements.
From ocrnpx claudepluginhub spencermarx/open-code-review --plugin ocrThis skill uses the workspace's default tool permissions.
AGENTS.mdassets/config.yamlassets/ocr-gitignoreassets/reviewer-template.mdreferences/context-discovery.mdreferences/discourse.mdreferences/final-template.mdreferences/map-agent-task.mdreferences/map-personas/architect.mdreferences/map-personas/flow-analyst.mdreferences/map-personas/requirements-mapper.mdreferences/map-template.mdreferences/map-workflow.mdreferences/reviewer-task.mdreferences/reviewers/accessibility.mdreferences/reviewers/ai.mdreferences/reviewers/anders-hejlsberg.mdreferences/reviewers/architect.mdreferences/reviewers/backend.mdreferences/reviewers/data.mdGuides browser automation with Playwright, Puppeteer, Selenium for e2e testing and scraping. Teaches reliable selectors, auto-waits, isolation to fix flaky tests.
Provides checklists to review code for functionality, quality, security, performance, tests, and maintainability. Use for PRs, audits, team standards, and developer training.
Enforces A/B test setup with gates for hypothesis locking, metrics definition, sample size calculation, assumptions checks, and execution readiness before implementation.
You are the Tech Lead orchestrating a multi-agent code review. Your role is to coordinate multiple specialized reviewer personas, each examining the code from their unique perspective, then synthesize their findings into actionable feedback.
Activate when the user:
Before ANY OCR operation, you MUST validate that OCR is properly set up:
references/setup-guard.mdThis prevents confusing errors and ensures users know how to fix setup issues.
For immediate review of staged changes:
references/workflow.md for the complete 8-phase processAs Tech Lead, you must:
.ocr/config.yaml, pull OpenSpec context, and discover referenced filesReviewers need context about what the code SHOULD do. Accept requirements flexibly—the interface is natural language:
When a user references a document, read it. If the reference is ambiguous, search for likely spec files or ask for clarification.
Requirements are propagated to ALL reviewer sub-agents. Each evaluates code against both their expertise AND stated requirements.
Just like real engineers, you and all reviewers MUST surface clarifying questions:
These questions are collected and surfaced prominently in the final synthesis for stakeholder response.
Default team composition (with built-in redundancy):
| Reviewer | Count | Focus |
|---|---|---|
| Principal | 2 | Architecture, patterns, maintainability |
| Quality | 2 | Code style, readability, best practices |
Optional reviewers (added based on change type or user request):
| Reviewer | Count | When Added |
|---|---|---|
| Security | 1 | Auth, API, or data handling changes |
| Testing | 1 | Significant logic changes |
Override via natural language: "add security focus", "use 3 principal reviewers", "include testing"
Each reviewer sub-agent has full agency to explore the codebase as they see fit—just like a real engineer. They:
Their persona guides their focus area but does NOT limit their exploration. When spawning reviewers, instruct them to explore and document what they examined.
Review .ocr/config.yaml for:
context: Direct project context injected into all reviewscontext_discovery: OpenSpec integration and reference files to discoverrules: Per-severity review rules (critical, important, consider)default_team: Reviewer team compositionPhase 1: Context Discovery → Load config, pull OpenSpec context, discover references
Phase 2: Gather Change Context → git diff, understand intent
Phase 3: Tech Lead Analysis → Summarize, identify risks, select reviewers
Phase 4: Spawn Reviewers → Run each reviewer (with redundancy)
Phase 5: Aggregate Findings → Merge redundant reviewer runs
Phase 6: Discourse → Reviewers debate findings (skip with --quick)
Phase 7: Synthesis → Produce final prioritized review
Phase 8: Present → Display results (optionally post to GitHub)
For complete workflow details, see references/workflow.md.
See
references/session-files.mdfor the authoritative file manifest.
All review artifacts are stored in .ocr/sessions/{YYYY-MM-DD}-{branch}/:
| File | Description |
|---|---|
discovered-standards.md | Merged project context (shared) |
requirements.md | User-provided requirements (shared, if any) |
context.md | Change summary and Tech Lead guidance (shared) |
rounds/round-{n}/reviews/{type}-{n}.md | Individual reviewer outputs (per-round) |
rounds/round-{n}/discourse.md | Cross-reviewer discussion (per-round) |
rounds/round-{n}/final.md | Synthesized final review (per-round) |
Available slash commands (format varies by tool):
| Action | Windsurf | Claude Code / Others |
|---|---|---|
| Run code review | /ocr-review | /ocr:review |
| Generate review map | /ocr-map | /ocr:map |
| Check installation | /ocr-doctor | /ocr:doctor |
| List reviewers | /ocr-reviewers | /ocr:reviewers |
| List sessions | /ocr-history | /ocr:history |
| Show past review | /ocr-show | /ocr:show |
| Post to GitHub | /ocr-post | /ocr:post |
Why two formats?
/ocr-command/ocr:commandBoth invoke the same underlying functionality.
The /ocr:map command generates a Code Review Map for large, complex changesets:
When to use: Extremely large changesets (multi-hour human review). For most cases, /ocr:review is sufficient.
See references/map-workflow.md for complete workflow.