Actions## About
Tags #
(2)Developed by
[Vyoman Labs]
Prism Reviewer is an agentic, AI-driven multi-agent code review system developed by Vyoman Labs and orchestrated via LangGraph and LiteLLM. It acts as an autonomous gatekeeper for pull requests by performing targeted static analysis, dependency scanning, AST-based symbol inspection, and parallel LLM-guided code evaluation.
Add this minimal workflow snippet to .github/workflows/prism-reviewer.yml
:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: vyoman-labs/prism-reviewer@v1
with:
llm-api-key: ${{ secrets.LLM_API_KEY }}
🔍 Live Demo PR: See real Prism Reviewer comments in action on savourly-recipes PR #35.
- 🔍 System Description
- 📐 Architecture and Flow
- 🧠 Key Intricacies and Design Decisions
- 🔧 Installation
- 📦 Packaging and Distribution
- 💻 CLI Usage
- 🔩 Configuration Guide
- 🔌 Running Reviews Locally via GitHub PR ID
- 🔗 GitHub App and Integration Setup
- 📝 Notes Limitations and Roadmap
- Why Prism Reviewer? 🌈
Prism Reviewer splits a single code changes delta (git diff) into specialized analytical spectrums using an Agent Council. Instead of sending a monolithic prompt to a single LLM, it routes structural, security, and tactical code context in parallel to three distinct agent roles. Combined with the local AST syntax trees, dependency warnings, and usage reference searches, it compiles a rigorous, context-aware code review report categorized by severity.
Deterministic Evaluation: Supports zero temperature, fixed seed routing, and structured JSON output to eliminate probabilistic drift across runs.AST CodeLens Map: Leverages Tree-Sitter grammars (supporting Python, Java, TypeScript, JavaScript, C, C++, Go, and Rust) to extract class, function, and method ranges before scanning.Dependency Warnings: Scans requirements files (requirements.txt
,package.json
,pyproject.toml
) for dependency configuration anomalies.Map-Reduce Parallelism: Orchestrated through a LangGraphStateGraph
, enabling concurrent LLM agent queries.Dual-Safeguard Verification: Fact-checks and filters findings against changed lines and previous review states to ensure zero hallucinations and zero duplication.
The review execution lifecycle is modeled as a LangGraph workspace map-reduce graph, organized as follows:
flowchart TD
START([START]) --> FetchComments["Fetch Prior PR Comments & Discussion<br/>(Filtered: MAJOR & CRITICAL)"]
FetchComments --> BuildContext[Build Context Node]
BuildContext --> |Partition Diff into Regions & Fan Out| Router{_fan_out_router}
Router -->|Region 1..N| Warden[👮 Warden Node<br/>Security & Compliance]
Router -->|Region 1..N| Architect[📐 Architect Node<br/>Design & Performance]
Router -->|Region 1..N| Inspector[🔍 Inspector Node<br/>Clean Code & Logic]
Warden --> Join{Join}
Architect --> Join
Inspector --> Join
Join --> Verifier[🛡️ Verifier Node<br/>Hallucination Guard & Deduplication]
Verifier --> Aggregator[📊 Aggregator Node<br/>Severity Sorting & Report Render]
Aggregator --> END([END])
(implemented infetch_pull_request_comments
github.py): Queries previous inline review comment threads and general PR discussions via GitHub API, filtering forMAJOR
andCRITICAL
severity feedback (ignoring low-priorityADVISORY
comments) to pass as conversation history.(implemented inbuild_context_node
nodes.py): Gathers directory profiles, runs AST scans on modified files, scans dependencies, parses usage references, and slices large diffs into logical regions.(implemented in_fan_out_router
graph.py): Routes each region to all three agent nodes concurrently.Agent Council:- 👮 Warden Node: Evaluates vulnerabilities, exposed credentials, loose dependencies, data leaks, and verifies if past security feedback was addressed. - 📐 Architect Node: Audits architectural design, design pattern compliance, performance traps, and checks if past structural feedback was resolved. - 🔍 Inspector Node: Targets clean code compliance, readability, minor logic bugs, and validates fixes for past logic findings.
- 👮
(implemented in
verifier_node
verifier.py): Performs double-guard filtering (hallucination checks & duplicate suppression).(implemented inaggregator_node
aggregator.py): Sorts findings by severity (CRITICAL → MAJOR → ADVISORY) and renders the report.
Large code deltas exceed single-turn LLM context limits or result in degraded review quality. Prism Reviewer slices large diffs into localized, file-level regions based on line count constraints (configured by max_region_lines
). The router fans out separate state objects per region to the agent council. LangGraph automatically gathers and aggregates the findings once all region runs complete.
Hallucination Guard: Generative agents may comment on files or line numbers that do not exist or were not modified. The verifier compiles a precise index of modified(filename, line_number)
pairs from the raw git diff. Any finding pointing to a line outside this set is dropped.Idempotent Deduplication: Running reviews continuously on every synchronization push can overwhelm developers with duplicate warnings on unchanged code blocks. The system computes a content-hash signature for each finding based on the file path, line number, agent type, and the surrounding diff content. These signatures are stored insignatures.json. Subsequent runs skip findings with matching signatures.
Standard terminal log writers interleave messages when multiple threads execute in parallel. To preserve clean CLI logs, Prism Reviewer implements NodeLogger
(defined in nodes.py). This class buffers per-agent log entries in memory and flushes them as a single atomic log block on node completion.
Running full PR reviews on every push update can consume significant LLM API tokens. Prism Reviewer implements a Smart Hybrid Review Strategy to cut LLM token costs by up to 90% on PR updates while preserving PR-wide architectural context and avoiding review quality degradation:
flowchart TD
A["PR Event Triggered"] --> B{"Event Type / Diff Mode"}
B -- "Initial PR / Full Sync / Manual" --> C["Full PR Review Mode"]
B -- "Push Update / Incremental" --> D["Smart Incremental Review Mode"]
C --> E["Diff: base_branch..HEAD"]
C --> F["Full PR Context + Full LLM Scan"]
D --> G["Diff: previous_commit..HEAD"]
D --> H["Pass Full PR Touched Files + CodeLens AST Map + Prior PR Comments (MAJOR/CRITICAL)"]
D --> I["LLM Evaluates New Diff with PR Context & Prior Discussion"]
E --> J["Verifier Node & Signatures"]
G --> J
J --> K["Update PR Summary & Inline Comments"]
Full PR Review Mode (: Used on initial PR creation (full
)pull_request.opened
), milestone reviews, or manual trigger (/prism full-review
). Comparesbase_branch..HEAD
.Smart Incremental Mode (: Used on push updates (incremental
/auto
)pull_request.synchronize
). Evaluates only the newly modified commits (previous_sha..HEAD
), while maintaining full PR awareness by injecting the complete PR touched file list, CodeLens AST dependency map, and priorMAJOR
/CRITICAL
PR comment threads into the prompt context.
To install Prism Reviewer in editable mode for local development:
pip install -e .
To install with development dependencies (e.g., for running the test suite):
pip install -e ".[dev]"
Prism Reviewer is packaged using standard Python packaging utilities and setuptools
(configured in pyproject.toml
).
Before building your distribution packages, ensure you have the python build modules build
and twine
installed:
pip install --upgrade build twine
From the root directory of the repository (where pyproject.toml
is located), execute the build wrapper to compile the source distribution tarball (.tar.gz
) and Python wheel binary (.whl
):
python -m build
This command compiles and outputs the distribution assets into the dist/
directory.
To verify that the package parses and installs correctly without affecting production indices, publish your packages to the TestPyPI repository:
python -m twine upload --repository testpypi dist/*
When prompted, log in using the username __token__
and your corresponding TestPyPI API token as the password.
Once testing succeeds, release the verified distribution packages directly to the production Python Package Index (PyPI):
python -m twine upload dist/*
Log in using the username __token__
and your production PyPI API token as the password.
Whenever a new GitHub release is published, the repository automatically builds and publishes the package to TestPyPI via the publish-testpypi.yml workflow.
To enable publication, configure one of the following authentication methods on GitHub:
PyPI Trusted Publishing (OIDC - Recommended): Configure a Trusted Publisher ontest.pypi.orgmatching your GitHub repository (vyoman-labs/prism-reviewer
), workflow filepublish-testpypi.yml
, and environment nametestpypi
.API Token Fallback: Alternatively, add a GitHub repository secret namedTEST_PYPI_API_TOKEN
containing your TestPyPI API token.
Production releases to PyPI are managed via the dedicated publish-pypi.yml workflow.
You can toggle PyPI publishing in two convenient ways:
- Create a release as usual at
https://github.com/vyoman-labs/prism-reviewer/releases/new
. - By default, publishing goes to
TestPyPI. - To
enable PyPI publishing, simply include[pypi]
or[publish-pypi]
anywhere in theRelease description / notes field.
(GitHub's native release page does not support custom HTML form checkboxes, so a visual UI form is available in GitHub Actions):
- Navigate to
Actions>** Publish Package to PyPI**in your GitHub repository. - Click
Run workflow to open the visual checkbox modal:: Checkbox to publish to TestPyPI (
publish_testpypi
test.pypi.org
) (Default:).true
: Checkbox to publish to PyPI (publish_pypi
pypi.org
) (Default:).false
:tag_name
*(Optional)*Release version tag (e.g.,v1.0.0
).:create_release
*(Optional)*Checkbox toggle to automatically create/publish the GitHub Release for you.
To enable automated publication without managing API tokens:
- Go to your PyPI account on
pypi.org>Account Settings>** Publishing**. - Add a new GitHub publisher with the following details:
Owner:
vyoman-labs
Repository:prism-reviewer
Workflow name:publish-pypi.yml
Environment name:pypi
You can invoke the review agent via the registered CLI executable:
prism-review --pr --repo /path/to/your/repo --base main
Or execute it as a Python module:
python -m prism_reviewer.cli --pr --repo /path/to/your/repo --base main
| Argument | Type | Description |
|---|---|---|
--pr |
||
| Flag | Runs the core Prism Reviewer agentic process. | |
--repo |
||
| Path | Path to the target repository (defaults to the current working directory). | |
--base |
||
| String | Base branch or commit for git comparison (defaults to unstaged ). |
|
--diff |
||
| String | Optional. Prints local git diff. Values: unstaged (default), staged , or specific commit. |
|
--structure |
||
| Flag | Displays the directory structure of tracked files in JSON format. | |
--scan-deps |
||
| Flag | Scans project manifests (requirements.txt , package.json , pyproject.toml ). |
|
--search |
||
| String | Run regex search query across files. | |
--methods |
||
| Path | Extracts AST symbols (classes, functions, methods) from the target file. | |
--context |
||
| Path | Optional. Path to custom project context markdown file (defaults to .prism_reviewer/context.md ). |
|
--rules |
||
| Path | Optional. Path to custom repository review rules markdown file (defaults to .prism_reviewer/rules.md ). |
|
--diff-mode |
||
| String | Optional. Git diff strategy for review: auto (default), full , or incremental . |
|
--compare-range |
||
| String | Optional. Explicit commit range or base for comparison (e.g. SHA1..SHA2 or origin/main ). |
Prism Reviewer uses a centralized config system driven by src/prism_reviewer/prism_reviewer.toml. Placing a
prism_reviewer.toml
in your repository root is optional—if omitted, Prism Reviewer automatically loads built-in package defaults. Numeric parameters are dynamically cast, and environment variable overrides are supported using the ${VAR_NAME|-default_value}
format. You can define environment variables in a .env
file (see .env.example
) in your project root or pass them via shell environment variables.| Parameter | Default / Placeholder | Description |
|---|---|---|
token |
${GITHUB_TOKEN} |
GitHub Personal Access Token or Installation Token. |
summary_mode |
${PRISM_SUMMARY_MODE|-update} |
Controls how the PR summary comment is posted on each run. "update" (default) edits the existing Prism Reviewer summary comment in-place at the top of the PR, preserving prior review reports in collapsible HTML foldouts. "append" posts a new summary comment on every push (legacy behaviour). |
include_previous_comments |
${PRISM_INCLUDE_PREVIOUS_COMMENTS|-true} |
Enables fetching prior PR review comments & discussions for LLM prompt context. |
max_previous_comments |
${PRISM_MAX_PREVIOUS_COMMENTS|-30} |
Maximum number of prior MAJOR & CRITICAL severity comments to include. |
| Parameter | Default / Placeholder | Description |
|---|---|---|
api_key |
||
${LLM_PROVIDER_API_KEY} |
||
| API credential key for the LiteLLM backend. | ||
model |
||
${LLM_MODEL} |
||
Target model identifier used for all agents (e.g., openai/gpt-4o , anthropic/claude-3-5-sonnet ). |
| Parameter | Default / Placeholder | Description |
|---|---|---|
max_requests_per_minute |
||
| `${MAX_REQUESTS_PER_MINUTE | -60}` | |
| API rate throttle limit per minute. | ||
max_concurrent_requests |
||
| `${MAX_CONCURRENT_REQUESTS | -10}` | |
| Max parallel connections allowed. | ||
retries |
||
| `${RETRIES | -4}` | |
| Number of backoff retries on connection failures (5 total attempts). | ||
backoff_seconds |
||
| `${BACKOFF_SECONDS | -15}` | |
| Exponential retry multiplier factor. | ||
request_timeout |
||
| `${LLM_REQUEST_TIMEOUT | -120}` | |
| Maximum seconds to wait for an LLM completion request before timing out. |
| Parameter | Default / Placeholder | Description |
|---|---|---|
mode |
||
| `${AGENTS_MODE | -parallel}` | |
Executes agent council in parallel or sequential mode. |
||
max_region_lines |
||
| `${MAX_REGION_LINES | -500}` | |
| Maximum lines per git diff slice region. | ||
max_readme_chars |
||
| `${MAX_README_CHARS | -10000}` | |
Maximum characters of root README.md included in review context. |
| Agent | Default / Placeholder | Description |
|---|---|---|
warden |
||
| `${WARDEN_REASONING_EFFORT | -high}` | |
| AppSec audits benefit from deep cognitive reasoning. | ||
architect |
||
| `${ARCHITECT_REASONING_EFFORT | -medium}` | |
| Evaluates structural coupling and performance traps. | ||
inspector |
||
| `${INSPECTOR_REASONING_EFFORT | -medium}` | |
| Evaluates local variable smells and code readabilities. | ||
verifier |
||
| `${VERIFIER_REASONING_EFFORT | -low}` | |
| Mechanical validation requires minimal reasoning. |
| Agent | Default / Placeholder | Description |
|---|---|---|
warden |
||
${WARDEN_MODEL_OVERRIDE} |
||
| Model override for security agent. | ||
architect |
||
${ARCHITECT_MODEL_OVERRIDE} |
||
| Model override for architectural agent. | ||
inspector |
||
${INSPECTOR_MODEL_OVERRIDE} |
||
| Model override for inspector agent. | ||
verifier |
||
${VERIFIER_MODEL_OVERRIDE} |
||
| Model override for verifier agent. |
| Parameter | Default / Placeholder | Description |
|---|---|---|
max_search_files |
||
| `${MAX_SEARCH_FILES | -25}` | |
| Maximum number of touched files analyzed in cross-reference search. |
| Parameter | Default / Placeholder | Description |
|---|---|---|
dirs |
||
| `${TEST_FILE_DIRS | -test,tests,tests,specs,spec,specs,testing}` | |
| Comma-separated directory markers used to identify test files. | ||
prefixes |
||
| `${TEST_FILE_PREFIXES | -test_,spec_,test-,spec-}` | |
| Comma-separated filename prefixes used to identify test files. | ||
suffixes |
||
| `${TEST_FILE_SUFFIXES | -_test,-test,.test,_tests,...}` | |
| Comma-separated filename suffixes used to identify test files. | ||
exact |
||
| `${TEST_FILE_EXACT | -conftest.py,test.py,tests.py,spec.py,...}` | |
| Comma-separated exact filenames used to identify test files. |
| Parameter | Default / Placeholder | Description |
|---|---|---|
enabled |
||
| `${PRISM_MONITORING_ENABLED | -true}` | |
| Enables or disables LLM token usage tracking. | ||
observers |
||
| `${PRISM_MONITORING_OBSERVERS | -console,jsonl}` | |
Comma-separated list of enabled native in-app observers (console , jsonl ). |
||
jsonl_file_path |
||
| `${PRISM_MONITORING_JSONL_PATH | -.prism_reviewer/token_usage.jsonl}` | |
| Destination path for structured JSONL token usage audit logs. | ||
litellm_callbacks |
||
| `${PRISM_MONITORING_LITELLM_CALLBACKS | -}` | |
Comma-separated LiteLLM callback integrations. Supports for LLM tracing & cost analytics, langfuse for OpenTelemetry APM tracing, otel prometheus , etc. |
Langfuse (Recommended for LLM Tracing): SetPRISM_MONITORING_LITELLM_CALLBACKS="langfuse"
and configure standard Langfuse credentials (LANGFUSE_PUBLIC_KEY
,LANGFUSE_SECRET_KEY
,LANGFUSE_HOST
). Automatically tracks generation traces, prompt/completion text, token breakdowns, and model costs.OpenTelemetry (Enterprise APM): SetPRISM_MONITORING_LITELLM_CALLBACKS="otel"
(orPRISM_MONITORING_LITELLM_CALLBACKS="langfuse,otel"
to run both concurrently) to emit standard OpenTelemetry spans and metrics to your OTel Collector or APM backend (Datadog, Honeycomb, Grafana Tempo).
| Parameter | Default / Placeholder | Description |
|---|---|---|
diff_mode |
||
| `${PRISM_DIFF_MODE | -auto}` | |
Controls the PR git diff comparison strategy. "auto" (default) uses incremental diff (previous_commit..HEAD ) on push updates if previous state exists, and full diff otherwise. "full" forces complete diff review (base..HEAD ). "incremental" forces incremental diff review. |
Prism Reviewer allows repository maintainers to significantly improve review quality, domain accuracy, and signal-to-noise ratio by supplying optional Project Context (context.md
) and Custom Review Rules (rules.md
).
When reviewing pull requests, the multi-agent council (Warden, Architect, Inspector) loads these files into prompt memory to evaluate code changes against your team's exact architectural standards, domain concepts, and coding policies.
Place these markdown files inside a .prism_reviewer/
directory at the root of your target repository:
my-repository/
├── .prism_reviewer/
│ ├── context.md # Project architecture, tech stack & domain background
│ └── rules.md # Custom coding rules, security requirements & constraints
├── prism_reviewer.toml # (Optional) Custom configuration overrides
└── ...
Tip
Both .prism_reviewer/context.md
and .prism_reviewer/rules.md
are automatically auto-detected by the CLI (prism-review
) and local execution script (run_local.py
). You can also specify custom file locations using the --context
and --rules
flags.
Providing high-level background information helps agents understand design intentions, domain models, and system boundaries rather than flagging intentional design decisions.
Recommended Contents:
System Overview & Architecture: Core purpose, key subsystems, database layers, and external service dependencies.** Tech Stack & Libraries**: Framework versions, state management tools, ORMs, and async models.** Design Conventions**: Preferred design patterns (e.g., repository pattern, dependency injection), immutability rules, or concurrency patterns.
Example context.md:
## Architecture
- Microservice built with FastAPI, PostgreSQL, and Celery worker queues.
- Uses SQLAlchemy 2.0 with async sessions.
## Key Invariants
- All monetary values must be represented using integer cents or Decimal to avoid floating-point errors.
- Payment gateway API calls must be wrapped in idempotent retry blocks.
Repository-specific rules allow you to enforce team coding standards, security boundaries, and strict review constraints.
Recommended Contents:
Security Constraints: Forbidden functions (e.g.,eval
, un-sanitized SQL formatting), credential leakage checks, CORS policies.Performance & Scaling Rules: N+1 query prevention, missing database index warnings, memory leak checks.** Code Style & Maintainability**: Maximum function length guidelines, docstring requirements, error handling requirements (e.g., no bareexcept:
clauses).
Example rules.md:
## Security & Reliability
- NEVER execute raw SQL queries constructed via string formatting or f-strings. Use parameterized queries.
- Ensure all public API endpoints handle exceptions explicitly and return structured JSON error models.
## Code Quality & Performance
- Do not make database calls inside loops (N+1 query anti-pattern). Use batch or eager joins.
- All newly added functions must include static type annotations for arguments and return values.
To execute pull request reviews locally using a GitHub Pull Request ID, Prism Reviewer provides a pre-configured utility script: run_local.py. This script fetches the diff, title, and description for a remote PR, executes the Agent Council review locally, and writes the output report.
python scripts/run_local/run_local.py --repo "owner/repository" --pr 42 --token "YOUR_GITHUB_TOKEN"
--repo
: The full name of the repository on GitHub (e.g.,octocat/Hello-World
).--pr
: The numeric ID of the Pull Request.--token
: Your GitHub Personal Access Token (PAT). If not provided, it falls back to theGITHUB_TOKEN
environment variable.--output
: Filepath to write the Markdown report (defaults toprism_review_report.md
).
Prism Reviewer can be integrated into any GitHub repository using our official GitHub Action or as a GitHub App integration.
External repositories can run automated AI code reviews on Pull Requests in 3 simple steps using our GitHub Action (vyoman-labs/prism-reviewer@v1
).
In your repository, go to Settings > Secrets and variables > Actions > New repository secret and add:
: Your API key for Gemini, OpenRouter, OpenAI, Anthropic, or any LiteLLM-supported provider.LLM_PROVIDER_API_KEY
Create a file named .github/workflows/prism-reviewer.yml
in your repository (or copy docs/examples/prism-reviewer-external.yml):
name: Prism Reviewer AI Code Review
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
pull-requests: write
jobs:
review:
name: Run AI Code Review
runs-on: ubuntu-latest
steps:
- name: Checkout Codebase
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for git diff comparison
- name: Run Prism Reviewer AI
uses: vyoman-labs/prism-reviewer@v1
with:
llm-api-key: ${{ secrets.LLM_PROVIDER_API_KEY }}
Open or update any Pull Request. Prism Reviewer will automatically analyze your code changes and post a structured review report directly to the PR comments!
| Input | Required | Default | Description |
|---|---|---|---|
llm-api-key |
|||
| Yes | |||
| — | API key for LiteLLM provider (Gemini, OpenRouter, OpenAI, etc.). | ||
llm-model-name |
|||
| No | gemini/gemini-3.1-flash-lite |
||
| Model identifier to execute analysis. | |||
github-token |
|||
| No | ${{ github.token }} |
||
| Token used to post review comments. | |||
base-ref |
|||
| No | ${{ github.base_ref }} |
||
| Base branch for git diff comparison. | |||
agents-mode |
|||
| No | parallel |
||
Agent execution mode (parallel or sequential ). |
|||
enable-monitoring |
|||
| No | auto |
||
Control telemetry dependency installation (auto , true , false ). |
By default, comments are posted under the standard ** github-actions[bot]** identity with a prominent
report header inside the comment body.
🌌 Vyoman Labs | 🌈 Prism Reviewer AI
If you prefer comments to be posted under a dedicated GitHub App Bot Name (e.g. Prism Reviewer AI[bot]
):
- name: Generate App Token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.PRISM_REVIEWER_APP_ID }}
private-key: ${{ secrets.PRISM_REVIEWER_PRIVATE_KEY }}
- name: Run Prism Reviewer AI
uses: vyoman-labs/prism-reviewer@v1
with:
github-token: ${{ steps.app-token.outputs.token }}
llm-api-key: ${{ secrets.LLM_PROVIDER_API_KEY }}
To configure a dedicated GitHub App registration, webhooks, or LLM observability monitoring for Prism Reviewer, see the detailed documentation:
Syntax Boundaries: AST CodeLens mappings support Python (.py
), Java (.java
), TypeScript (.ts
,.tsx
), JavaScript (.js
,.jsx
), C (.c
), C++ (.cpp
,.cc
,.cxx
,.h
,.hpp
), Go (.go
), and Rust (.rs
) via tree-sitter. Other file types fall back to plain-text indexing.Git Dependency: The core analysis tool relies on local system execution of thegit
executable (specificallygit diff
andgit ls-files
).LLM Rate Limits: Parallel map-reduce execution can exceed rate limits on standard API tiers. Throttling is managed via LiteLLM configurations inprism_reviewer.toml.
- Expand AST grammar coverage to additional languages as needed.
- Integrate directly with GitHub Check Runs API to highlight warnings inline inside the GitHub "Files changed" diff viewer. - Create an interactive CLI review wizard allowing developer queries directly in the terminal. - Provide a Dockerized workspace image for zero-dependency CI installations.
In optics, a prism separates white light into a colorful spectrum of wavelengths.
Prism Reviewer applies the same optical concept to code review:
Splitting the Spectrum: It takes a single unified Pull Request delta and refracts it into three distinct analytical bands:** Warden**(Security),** Architect**(Structure & Performance), and** Inspector**(Clean Code & Logic).** Filtering the Wavelengths**: The verification layer filters these individual bands, blocking noise (hallucinations) and redundant repeats (deduplication).Recomposing the Light: The aggregator recombines these analyzed results back into a single clear, actionable markdown review report.
By decomposing and refocusing the code review process, Prism Reviewer ensures that every angle of your codebase receives the specialized focus it deserves.
Prism Reviewer AI is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.