coderabbit-prod-checklist
A deployment checklist to transition CodeRabbit from an optional tool to a required merge gate.
Install
mkdir -p .claude/skills/coderabbit-prod-checklist && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5462" && unzip -o skill.zip -d .claude/skills/coderabbit-prod-checklist && rm skill.zipInstalls to .claude/skills/coderabbit-prod-checklist
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Execute CodeRabbit production readiness checklist for org-wide deployment.Key capabilities
- →Audit CodeRabbit configuration for production readiness
- →Validate YAML syntax and review settings
- →Verify review history coverage across pull requests
- →Enable CodeRabbit as a required status check
- →Document fallback and emergency procedures
How it works
The skill provides a checklist and automated scripts to audit configuration, verify review coverage, and enforce CodeRabbit as a required status check for merging pull requests.
Inputs & outputs
When to use coderabbit-prod-checklist
- →Audit CodeRabbit configuration before launch
- →Set up CodeRabbit as a required status check
- →Execute go-live procedures
- →Validate repository access permissions
About this skill
CodeRabbit Production Checklist
Overview
Complete checklist for deploying CodeRabbit as a production merge gate. Covers the transition from "optional AI review" to "required status check that blocks merges." Ensures configuration is tuned, team is onboarded, and fallback procedures are documented.
Prerequisites
- CodeRabbit installed and running in non-blocking mode for 1-2 weeks
- Team has seen CodeRabbit reviews and provided feedback
.coderabbit.yamltuned based on pilot feedback- GitHub organization admin access
Instructions
Step 1: Pre-Launch Configuration Audit
# Run through each item before going live:
## App Installation
- [ ] CodeRabbit GitHub App installed on all target repos
- [ ] Repository access scoped correctly (all repos vs select)
- [ ] Seat assignment policy set (active committers vs manual)
- [ ] Bot accounts excluded from seats (dependabot, renovate)
## Configuration
- [ ] `.coderabbit.yaml` committed to main branch
- [ ] YAML syntax validated (no parse errors)
- [ ] `auto_review.enabled: true`
- [ ] `auto_review.drafts: false` (skip draft PRs)
- [ ] `base_branches` includes all target branches (main, develop)
- [ ] `path_filters` excludes generated/lock/vendor files
- [ ] `path_instructions` configured for key directories
- [ ] `chat.auto_reply: true`
## Review Behavior
- [ ] Profile set to "assertive" (or team's preferred level)
- [ ] `request_changes_workflow` decision documented:
- `true`: CodeRabbit blocks merge when issues found
- `false`: CodeRabbit only comments (non-blocking)
- [ ] Org-level defaults in `.github/.coderabbit.yaml` if multi-repo
Step 2: Validate Configuration
set -euo pipefail
echo "=== CodeRabbit Production Readiness Check ==="
# 1. YAML syntax
echo "--- Config Validation ---"
if [ -f .coderabbit.yaml ]; then
python3 -c "
import yaml, sys
try:
config = yaml.safe_load(open('.coderabbit.yaml'))
print('YAML syntax: PASS')
reviews = config.get('reviews', {})
auto = reviews.get('auto_review', {})
checks = {
'auto_review.enabled': auto.get('enabled', False) == True,
'auto_review.drafts': auto.get('drafts', True) == False,
'path_filters configured': len(reviews.get('path_filters', [])) > 0,
'path_instructions configured': len(reviews.get('path_instructions', [])) > 0,
'chat.auto_reply': config.get('chat', {}).get('auto_reply', False) == True,
}
for name, passed in checks.items():
status = 'PASS' if passed else 'WARN'
print(f' {name}: {status}')
if all(checks.values()):
print('Overall: READY FOR PRODUCTION')
else:
print('Overall: Review warnings above before going live')
except yaml.YAMLError as e:
print(f'YAML syntax: FAIL ({e})')
sys.exit(1)
" 2>&1
else
echo "FAIL: .coderabbit.yaml not found"
fi
Step 3: Verify Review History
set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
echo ""
echo "--- Review History Check ---"
REVIEWED=0
TOTAL=0
for PR_NUM in $(gh api "repos/$OWNER/$REPO/pulls?state=all&per_page=20" --jq '.[].number'); do
TOTAL=$((TOTAL + 1))
CR=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM/reviews" \
--jq '[.[] | select(.user.login=="coderabbitai[bot]")] | length' 2>/dev/null || echo "0")
[ "$CR" -gt 0 ] && REVIEWED=$((REVIEWED + 1))
done
echo "Coverage: $REVIEWED/$TOTAL PRs reviewed by CodeRabbit"
if [ "$TOTAL" -gt 0 ] && [ "$((REVIEWED * 100 / TOTAL))" -lt 80 ]; then
echo "WARNING: Coverage below 80%. Check base_branches and ignore_title_keywords."
else
echo "Coverage: PASS"
fi
Step 4: Team Readiness Checklist
## Team Onboarding
- [ ] Team briefed on CodeRabbit (what it does, how to interact)
- [ ] Quick reference shared:
- `@coderabbitai full review` — re-review from scratch
- `@coderabbitai summary` — regenerate walkthrough
- `@coderabbitai resolve` — mark all comments resolved
- `@coderabbitai help` — list all commands
- [ ] Team knows to reply to comments to train learnings
- [ ] "WIP" in PR title skips review (documented)
- [ ] Escalation path defined for false positives
## Fallback Procedures
- [ ] Admin merge bypass documented (for emergencies)
- [ ] Process for temporarily disabling CodeRabbit:
1. Remove from branch protection required checks
2. Set `auto_review.enabled: false` in config
3. Or uninstall the GitHub App from the repo
- [ ] Contact info for CodeRabbit support documented
Step 5: Enable as Required Check
set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
echo ""
echo "--- Enabling CodeRabbit as Required Check ---"
# Update branch protection to require CodeRabbit
gh api "repos/$OWNER/$REPO/branches/main/protection" \
--method PUT \
--field 'required_status_checks={"strict":true,"contexts":["coderabbitai"]}' \
--field 'required_pull_request_reviews={"required_approving_review_count":1}' \
--field 'enforce_admins=false' \
--field 'restrictions=null'
echo "DONE: CodeRabbit is now a required check on $OWNER/$REPO main branch"
echo ""
echo "To revert (emergency):"
echo " gh api repos/$OWNER/$REPO/branches/main/protection --method DELETE"
Step 6: Update .coderabbit.yaml for Production
# .coderabbit.yaml - Production configuration
language: "en-US"
early_access: false
reviews:
profile: "assertive"
request_changes_workflow: true # NOW blocking (was false during pilot)
high_level_summary: true
high_level_summary_in_walkthrough: true
review_status: true
collapse_walkthrough: false
sequence_diagrams: true
poem: false
auto_review:
enabled: true
drafts: false
base_branches:
- main
- develop
ignore_title_keywords:
- "WIP"
- "DO NOT MERGE"
- "chore: bump"
path_filters:
- "!**/*.lock"
- "!**/*.snap"
- "!**/generated/**"
- "!dist/**"
- "!vendor/**"
path_instructions:
- path: "src/api/**"
instructions: "Review for input validation, auth middleware, error handling."
- path: "src/db/**"
instructions: "Review for parameterized queries, transactions, N+1 patterns."
- path: "**/*.test.*"
instructions: "Review for edge cases and assertion completeness. Skip style."
chat:
auto_reply: true
Step 7: Post-Launch Monitoring
# First 48 hours after go-live:
## Monitor:
- [ ] All PRs to main are getting CodeRabbit reviews
- [ ] No PRs blocked by CodeRabbit timeout (> 15 min)
- [ ] Team is not overwhelmed by review volume
- [ ] No legitimate emergency PRs blocked
## Week 1 review:
- [ ] Review coverage > 90%
- [ ] No team complaints about false positives
- [ ] Learnings being created from feedback
- [ ] Emergency bypass has not been needed (or was used correctly)
Output
- Configuration audited and validated
- Review history confirms adequate coverage
- Team onboarded with quick reference guide
- CodeRabbit enabled as required status check
- Fallback and emergency procedures documented
- Post-launch monitoring plan in place
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| PRs stuck waiting for review | CodeRabbit outage | Check status.coderabbit.ai; use admin bypass |
| All PRs blocked | request_changes_workflow: true too aggressive | Temporarily set to false |
| Team pushback | Too many comments | Switch to chill profile |
| Emergency PR blocked | Required check blocking | Admin merge bypass or remove required check |
| Config not loading | YAML error | Run @coderabbitai configuration to diagnose |
Resources
Next Steps
For ongoing monitoring, see coderabbit-observability.
When not to use it
- →Repositories that have not completed a pilot phase
- →Environments lacking organization admin access
Prerequisites
Limitations
- →Coverage below 80% indicates configuration issues
- →Emergency bypass requires admin access
- →Required status checks can block emergency PRs
How it compares
This workflow transitions CodeRabbit from an optional feedback tool to a mandatory production merge gate with documented fallback procedures.
Compared to similar skills
coderabbit-prod-checklist side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| coderabbit-prod-checklist (this skill) | 1 | 26d | Review | Advanced |
| agent-production-validator | 3 | 6mo | Review | Advanced |
| django-verification | 5 | 4mo | Review | Intermediate |
| xcodebuildmcp-cli | 3 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
agent-production-validator
ruvnet
Agent skill for production-validator - invoke with $agent-production-validator
django-verification
affaan-m
Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.
xcodebuildmcp-cli
cameroncooke
Official skill for the XcodeBuildMCP CLI. Use when doing iOS/macOS/watchOS/tvOS/visionOS work (build, test, run, debug, log, UI automation).
validate-delivery
avifenesh
Use when validating task completion before shipping. Runs tests, build, and requirement checks. Returns pass/fail with fix instructions.
deployment-e2e-testing
dotnet
Guide for writing Aspire deployment end-to-end tests. Use this when asked to create, modify, or debug deployment E2E tests that deploy to Azure.
release-testing
mono
Run integration tests to verify SkiaSharp NuGet packages work correctly before publishing. Use when user asks to: - Test/verify packages before release - Run integration tests - Test on specific device (iPad, iPhone, Android emulator, Mac, Windows) - Verify SkiaSharp rendering works - Check if packages are ready for publishing - Run smoke/console/blazor/maui tests - Continue with release - Test version X Triggers: "test the release", "verify packages", "run tests on iPad", "check ios tests", "test mac catalyst", "run android tests", "continue", "test 3.119.2-preview.2".