coderabbit-debug-bundle
Automated collection of diagnostic information to troubleshoot CodeRabbit installation and configuration issues.
Install
mkdir -p .claude/skills/coderabbit-debug-bundle && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7286" && unzip -o skill.zip -d .claude/skills/coderabbit-debug-bundle && rm skill.zipInstalls to .claude/skills/coderabbit-debug-bundle
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.
Collect CodeRabbit debug evidence for support tickets and troubleshooting.Key capabilities
- →Check CodeRabbit App installation status for a given repository.
- →Validate the syntax and key fields of the `.coderabbit.yaml` configuration file.
- →Review recent Pull Request (PR) history for CodeRabbit reviews and comments.
- →Obtain the active CodeRabbit configuration by commenting on a PR.
- →Examine GitHub webhook delivery logs for CodeRabbit events.
How it works
The skill executes a series of bash commands and Python scripts to check CodeRabbit's installation, validate its configuration, analyze PR review history, and inspect GitHub webhook deliveries, compiling the findings into a debug bundle.
Inputs & outputs
When to use coderabbit-debug-bundle
- →Generating diagnostic bundles for support
- →Verifying CodeRabbit app installation
- →Validating .coderabbit.yaml configuration
- →Checking GitHub webhook logs
About this skill
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
Step 3: Check Recent PR Review History
set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
echo ""
echo "--- Recent PR Review History ---"
# Check last 10 closed PRs for CodeRabbit reviews
for PR_NUM in $(gh api "repos/$OWNER/$REPO/pulls?state=all&per_page=10&sort=created&direction=desc" \
--jq '.[].number'); do
PR_TITLE=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM" --jq '.title' 2>/dev/null)
PR_STATE=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM" --jq '.state' 2>/dev/null)
CR_REVIEWS=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM/reviews" \
--jq '[.[] | select(.user.login=="coderabbitai[bot]")] | length' 2>/dev/null || echo "0")
CR_COMMENTS=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM/comments" \
--jq '[.[] | select(.user.login=="coderabbitai[bot]")] | length' 2>/dev/null || echo "0")
echo "PR #$PR_NUM ($PR_STATE): $CR_REVIEWS reviews, $CR_COMMENTS comments - $PR_TITLE"
done
Step 4: Check Active Configuration via PR Comment
# On any open PR, post this comment:
@coderabbitai configuration
# CodeRabbit will reply with the active configuration as YAML.
# Compare this with your .coderabbit.yaml to find discrepancies.
# Discrepancies usually mean:
# 1. YAML syntax error causing config to be ignored
# 2. Org-level config overriding repo config
# 3. Config not on the base branch (CodeRabbit reads from base branch)
Step 5: Check GitHub Webhook Deliveries
# In GitHub UI:
1. Go to repo > Settings > Webhooks
2. Find the CodeRabbit webhook (coderabbit.ai endpoint)
3. Click "Recent Deliveries"
4. Look for:
- 200 response codes (success)
- 4xx/5xx codes (errors)
- Missing deliveries for PR events
# Common webhook issues:
# - 401: App credentials expired → reinstall
# - 404: Webhook URL changed → reinstall
# - No deliveries: Webhook was deleted → reinstall App
Step 6: Compile Support Bundle
set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
BUNDLE="coderabbit-debug-$(date +%Y%m%d-%H%M%S).txt"
{
echo "=== CodeRabbit Debug Bundle ==="
echo "Repository: $OWNER/$REPO"
echo "Generated: $(date -u)"
echo "Git branch: $(git branch --show-current 2>/dev/null || echo 'N/A')"
echo "Git remote: $(git remote get-url origin 2>/dev/null || echo 'N/A')"
echo ""
echo "--- .coderabbit.yaml ---"
cat .coderabbit.yaml 2>/dev/null || echo "NOT FOUND"
echo ""
echo "--- App Installation ---"
gh api "repos/$OWNER/$REPO/installation" 2>/dev/null || echo "NOT INSTALLED"
echo ""
echo "--- Last 5 PRs ---"
gh api "repos/$OWNER/$REPO/pulls?state=all&per_page=5" \
--jq '.[] | "#\(.number) [\(.state)] \(.title) (by \(.user.login))"' 2>/dev/null
echo ""
echo "--- GitHub Actions Status ---"
gh run list --repo "$OWNER/$REPO" --limit 5 2>/dev/null || echo "N/A"
} > "$BUNDLE"
echo "Debug bundle saved: $BUNDLE"
echo "Review for sensitive data before sharing with support."
Output
- Installation status verified
- Configuration validated for syntax and completeness
- PR review history showing CodeRabbit activity
- Active configuration compared with file on disk
- Debug bundle file ready for support ticket
Error Handling
| Issue | Cause | Solution |
|---|---|---|
gh api returns 404 | Wrong org/repo or no access | Verify repo name and gh auth status |
| No CodeRabbit reviews found | App not installed on repo | Install from github.com/apps/coderabbitai |
| YAML validation fails | Syntax error in config | Fix YAML syntax, validate before committing |
| Webhook deliveries empty | App was uninstalled/reinstalled | Check webhook exists in repo settings |
Resources
Next Steps
For common error patterns and fixes, see coderabbit-common-errors.
When not to use it
- →When the issue is not related to CodeRabbit.
- →When not troubleshooting a CodeRabbit problem or preparing a support ticket.
Prerequisites
Limitations
- →Requires GitHub CLI to be authenticated.
- →Repository admin access is needed to check webhook logs.
How it compares
This skill automates the collection of CodeRabbit-specific diagnostic information, providing a structured debug bundle for support, unlike manual log gathering and configuration checks.
Compared to similar skills
coderabbit-debug-bundle side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| coderabbit-debug-bundle (this skill) | 1 | 27d | Review | Intermediate |
| godot | 1,044 | 5mo | Review | Intermediate |
| python-testing-patterns | 77 | 2mo | Review | Intermediate |
| error-handling-patterns | 35 | 2mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
python-testing-patterns
wshobson
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.
error-handling-patterns
wshobson
Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability.
chrome-devtools
mrgoonie
Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.
unreal-engine-cpp-pro
sickn33
Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.
python-performance-optimization
wshobson
Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving application performance.