karolmckgh/Multi-Model Code Review
Run code reviews across multiple AI models via GitHub Copilot SDK, then synthesize findings into a consensus table posted as a PR comment. Supports per-contributor PAT tokens for Copilot premium request attribution.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| models | JSON object mapping display names to Copilot model IDs. Example: '{"GPT-5.3 Codex": "gpt-5.3-codex", "Claude Sonnet 4.6": "claude-sonnet-4.6"}' | no | {"GPT-5.3 Codex": "gpt-5.3-codex", "Claude Sonnet 4.6": "claude-sonnet-4.6", "Gemini 3.1 Pro": "gemini-3.1-pro"} |
| synthesizer-model | Copilot model ID used to merge findings into a consensus table. | no | gpt-5.3-codex |
| max-diff-size | Maximum diff size in characters. Larger diffs are chunked by file. | no | 30000 |
| review-focus | Comma-separated review focus areas. Options: security, bugs, performance, error-handling, all | no | all |
| custom-prompt | Override the default review prompt entirely. If set, review-focus is ignored. | no | "" |
| copilot-token | REQUIRED — GitHub PAT with 'copilot' scope from an account with an active Copilot subscription. Set as a repo/org secret (e.g. COPILOT_GITHUB_TOKEN) and pass it here. See README for step-by-step setup instructions. | no | "" |
| copilot-token-map | JSON object mapping GitHub usernames to secret names holding their Copilot PAT. Example: '{"octocat": "COPILOT_PAT_OCTOCAT", "monalisa": "COPILOT_PAT_MONALISA"}' The action resolves the PR author's token automatically. | no | {} |
| max-retries | Maximum number of retries per model on transient failures. | no | 2 |
| post-comment | Whether to post the review as a PR comment. | no | true |
| session-timeout | Timeout in seconds for each model session (default 300 = 5 min). | no | 300 |
Outputs
| name | description |
|---|---|
| review-body | The full markdown review body (useful if post-comment is false). |
| findings-json | Raw JSON findings from all models. |