Help us improve
Share bugs, ideas, or general feedback.
From pair-review
Runs AI-powered code review analysis via pair-review MCP server. Polls for completion, presents curated suggestions, and integrates results into pair-review web UI. Requires MCP connection.
npx claudepluginhub in-the-loop-labs/pair-review --plugin pair-reviewHow this skill is triggered — by the user, by Claude, or both
Slash command
/pair-review:analyzeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Perform a three-level code review analysis using pair-review's built-in analysis engine. Unlike the `code-critic:analyze` skill (which spawns analysis agents directly within the coding agent's context), this skill delegates all analysis work to the pair-review server via MCP tool calls. Use this skill when the pair-review MCP server is connected; use `code-critic:analyze` when it is not.
Performs multi-level AI code review (diff isolation, file context, codebase) via parallel Task agents. Standalone for git changes or PRs; triggers on 'analyze my changes' etc.
Fetches AI-generated code review suggestions from pair-review, triages validity, applies fixes to actionable ones, and reports summary. Use to address AI feedback after pair-review analysis.
Performs code reviews using Codex MCP with severity-grouped findings and a merge gate. Supports fast (diff-only), full (diff + lint/build), and branch review variants.
Share bugs, ideas, or general feedback.
Perform a three-level code review analysis using pair-review's built-in analysis engine. Unlike the code-critic:analyze skill (which spawns analysis agents directly within the coding agent's context), this skill delegates all analysis work to the pair-review server via MCP tool calls. Use this skill when the pair-review MCP server is connected; use code-critic:analyze when it is not.
Prerequisites: The pair-review MCP server must be connected with the start_analysis, get_ai_analysis_runs, and get_ai_suggestions tools available.
Determine what is being reviewed:
git rev-parse HEAD to get the HEAD SHA, and use the current working directory as the path.owner/repo) and PR number. If the user provides a PR URL, extract these from it. If available, run gh pr view --json number,headRepository or similar.Collect:
owner/repo string and PR numberCall the start_analysis MCP tool with the appropriate parameters:
For local mode:
{
"path": "/absolute/path/to/repo",
"headSha": "abc123...",
"tier": "balanced",
"skipLevel3": false,
"customInstructions": "optional instructions"
}
For PR mode:
{
"repo": "owner/repo",
"prNumber": 42,
"tier": "balanced",
"skipLevel3": false,
"customInstructions": "optional instructions"
}
Pass the tier, skipLevel3, and customInstructions arguments from the skill invocation.
The tool returns immediately with { analysisId, runId, reviewId, status: "started" }.
Analysis typically takes 1-5 minutes depending on the size of the changes and the tier.
Poll using get_ai_analysis_runs with limit: 1 and the review coordinates from step 1. Wait approximately 10 seconds between polls.
For local mode:
{
"path": "/absolute/path/to/repo",
"headSha": "abc123...",
"limit": 1
}
For PR mode:
{
"repo": "owner/repo",
"prNumber": 42,
"limit": 1
}
Verify that runs[0].id matches the runId returned from step 2 to ensure you are polling the correct analysis (another tab or user could have triggered a concurrent run).
Check the status field in runs[0]:
"running": Analysis is still in progress — keep polling"completed": Analysis finished — proceed to fetch results using the same runId"failed": Analysis failed — report the failure to the userKeep polling until status is completed or failed. Report progress to the user between polls.
start_analysis returns an error, report it to the user with the error message. Common causes: the PR has not been loaded in pair-review yet, the worktree is missing, or invalid parameters.status: "failed", report the failure to the user. The error field in the run object contains the failure reason.get_ai_suggestions returns an empty list after a completed analysis, this means no issues were found -- report a clean result.Once the analysis is complete, call get_ai_suggestions to retrieve the curated suggestions.
Pass the runId from step 2's start_analysis response (same value used for polling):
{
"runId": "the-runId-from-step-2"
}
If runId is unavailable, fall back to resolving by review coordinates:
For local mode:
{
"path": "/absolute/path/to/repo",
"headSha": "abc123..."
}
For PR mode:
{
"repo": "owner/repo",
"prNumber": 42
}
This returns the final orchestrated suggestions from the latest analysis run.
Present the curated suggestions to the user, organized by file. For each suggestion show:
Group suggestions by file for easy navigation. Highlight critical issues (bugs, security) prominently.
If no suggestions were found, report that the analysis completed cleanly.