smithery/jeremylongshore

coderabbit-debug-bundle

Collect CodeRabbit debug evidence for support tickets and troubleshooting. Use when encountering persistent issues, preparing support tickets, or collecting diagnostic information for CodeRabbit problems. Trigger with phrases like "coderabbit debug", "coderabbit support bundle", "coderabbit diagnostic", "coderabbit not working evidence". '

Installation

$ npx skills add smithery/jeremylongshore --skill coderabbit-debug-bundle

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/jeremylongshore · top by installs.

npx skills add smithery/jeremylongshore

Browse all from smithery/jeremylongshore

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.11.0
LicenseMIT
CompatibilityDesigned for Claude Code
Allowed toolsRead, Bash(gh:*), Bash(git:*), Bash(python3:*), Grep
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,646 B
  • docs SUMMARY.md 366 B

History

  1. First recorded snapshot · 0 installs

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

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

Examples

For a missing review, collect the sanitized app/configuration state and recent review metadata into a local bundle, inspect it for repository secrets or private diffs, then attach only the approved version to a support case. If the bundle contains sensitive material, regenerate it with a narrower collection scope instead of editing or transmitting the original archive.

Resources

Next Steps

For common error patterns and fixes, see coderabbit-common-errors.