SKILL.md
CodeRabbit Debug Bundle
Overview
Collect all diagnostic information needed to troubleshoot CodeRabbit issues or file a support request. Since CodeRabbit is a GitHub/GitLab App (not an SDK), debugging focuses on: App installation status, .coderabbit.yaml configuration validity, PR review history, and GitHub webhook delivery logs.
Prerequisites
- GitHub CLI (
gh) authenticated - Repository admin access (for webhook logs)
- Access to the GitHub repository where CodeRabbit is installed
Instructions
Step 1: Check CodeRabbit Installation Status
set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
echo "=== CodeRabbit Debug Bundle ==="
echo "Repository: $OWNER/$REPO"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo ""
# Check if CodeRabbit App is installed
echo "--- Installation Status ---"
INSTALL=$(gh api "repos/$OWNER/$REPO/installation" --jq '.app_slug' 2>/dev/null)
if [ "$INSTALL" = "coderabbitai" ]; then
echo "CodeRabbit App: INSTALLED"
else
echo "CodeRabbit App: NOT INSTALLED"
echo "Fix: Visit https://github.com/apps/coderabbitai to install"
fi
Step 2: Validate Configuration
set -euo pipefail
echo ""
echo "--- Configuration Validation ---"
# Check if .coderabbit.yaml exists
if [ -f .coderabbit.yaml ]; then
echo ".coderabbit.yaml: FOUND ($(wc -l < .coderabbit.yaml) lines)"
# Validate YAML syntax
python3 -c "
import yaml, sys
try:
config = yaml.safe_load(open('.coderabbit.yaml'))
print('YAML syntax: VALID')
# Check key configuration fields
reviews = config.get('reviews', {})
auto_review = reviews.get('auto_review', {})
print(f'auto_review.enabled: {auto_review.get(\"enabled\", \"not set\")}')
print(f'auto_review.drafts: {auto_review.get(\"drafts\", \"not set\")}')
print(f'profile: {reviews.get(\"profile\", \"not set\")}')
base_branches = auto_review.get('base_branches', [])
if base_branches:
print(f'base_branches: {base_branches}')
else:
print('base_branches: not set (reviews all branches)')
path_filters = reviews.get('path_filters', [])
print(f'path_filters: {len(path_filters)} rules')
path_instructions = reviews.get('path_instructions', [])
print(f'path_instructions: {len(path_instructions)} rules')
chat = config.get('chat', {})
print(f'chat.auto_reply: {chat.get(\"auto_reply\", \"not set\")}')
except yaml.YAMLError as e:
print(f'YAML syntax: INVALID')
print(f'Error: {e}')
sys.exit(1)
" 2>&1
else
echo ".coderabbit.yaml: NOT FOUND"
echo "Fix: Create .coderabbit.yaml in repository root"
fi
