Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Execute CodeRabbit primary workflow: automated PR code review with configuration. Use when setting up automated code reviews on pull requests, configuring review behavior, or establishing the core CodeRabbit review loop. Trigger with phrases like "coderabbit review workflow", "coderabbit PR review", "coderabbit auto review", "configure coderabbit reviews".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-13 | ✓→✓ | = Same ✓ | 241% | 0% |
| case-14 | ✓→✓ | = Same ✓ | 9% | 0% |
The primary CodeRabbit workflow: a developer opens a PR, CodeRabbit automatically analyzes the diff, posts a walkthrough summary and line-level comments, and the developer addresses feedback. This skill covers configuration, review profiles, path instructions, and the full review lifecycle.
coderabbit-install-auth).coderabbit.yaml in repository rootyaml# .coderabbit.yaml - Production-ready configuration language: "en-US" early_access: false reviews: profile: "assertive" # chill = less feedback, assertive = more thorough request_changes_workflow: true # CodeRabbit marks review as "changes requested" for issues high_level_summary: true # Post a walkthrough comment summarizing all changes high_level_summary_in_walkthrough: true review_status: true # Show review progress status collapse_walkthrough: false # Keep walkthrough expanded sequence_diagrams: true # Generate control flow diagrams poem: false # Disable poems in review summary auto_review: enabled: true drafts: false # Skip draft PRs base_branches: - main - develop ignore_title_keywords: - "WIP" - "DO NOT MERGE" - "chore: bump" path_filters: - "!**/*.lock" - "!**/*.snap" - "!**/generated/**" - "!dist/**" - "!**/*.min.js" - "!vendor/**" path_instructions: - path: "src/api/**" instructions: | Review for: input validation, proper HTTP status codes, auth middleware usage, error response format per RFC 7807. Flag missing error handling. - path: "src/db/**" instructions: | Review for: parameterized queries (no string concatenation), transaction boundaries, proper connection cleanup, index usage. Flag N+1 query patterns. - path: "**/*.test.*" instructions: | Review for: assertion completeness, edge case coverage, proper async handling. Do NOT comment on test naming conventions or import order. - path: ".github/workflows/**" instructions: | Review for: pinned action versions (use SHA not tag), no secrets in logs, timeout-minutes on all jobs, OIDC for cloud auth. chat: auto_reply: true # Finishing touches configuration reviews: finishing_touches: docstrings: enabled: true # Allow @coderabbitai generate-docstrings command
Developer opens/updates PR
│
▼
┌─────────────────────────────────┐
│ CodeRabbit analyzes diff │
│ (typically 2-5 min, up to 15 │
│ min for 1000+ line PRs) │
└─────────┬───────────────────────┘
│
├──▶ Walkthrough comment (summary + sequence diagram)
│
├──▶ Line-level comments (bugs, suggestions, improvements)
│
└──▶ Review state (approved / changes_requested)
│
▼
Developer addresses feedback
│
┌─────────┴──────────┐
│ │
Reply to comment Push new commits
(conversation) (incremental re-review)
│ │
▼ ▼
CodeRabbit responds CodeRabbit reviews
with explanation only changed filesmarkdown# In any PR comment: @coderabbitai full review # Re-review all files from scratch @coderabbitai summary # Regenerate walkthrough summary @coderabbitai resolve # Mark all CodeRabbit comments as resolved @coderabbitai generate-docstrings # Auto-generate docstrings for functions @coderabbitai configuration # Show current active config as YAML @coderabbitai help # List all commands # Reply to any CodeRabbit inline comment to discuss the feedback. # CodeRabbit maintains conversation context and will explain its reasoning. # In PR description, add instructions for this specific review: # "Focus on security implications of the auth changes"
yaml# .coderabbit.yaml - Custom finishing touch recipes (open beta) finishing_touches: recipes: - name: "fix-imports" description: "Sort and organize imports" instructions: | Sort all imports alphabetically. Group: external packages first, then internal modules, then relative imports. Remove unused imports. - name: "tighten-types" description: "Replace any with specific types" instructions: | Replace all `any` types with proper TypeScript types. Use `unknown` for truly unknown values. Add type guards where needed.
markdown# Trigger recipes in a PR comment: @coderabbitai run fix-imports @coderabbitai run tighten-types # Or check the boxes in the Finishing Touches section of the walkthrough
| Issue | Cause | Solution | |-------|-------|----------| | Review takes 15+ minutes | PR has 1000+ changed lines | Split into smaller PRs | | No review posted | PR targets non-configured branch | Add branch to base_branches | | Reviews on generated files | Missing path_filters | Add !**/generated/** to path_filters | | Too many nitpick comments | Profile set to assertive | Switch to chill for experienced teams | | Config changes not applied | YAML syntax error | Run @coderabbitai configuration to verify | | Review on draft PR | drafts: true in config | Set drafts: false to skip drafts |
For configuration tuning and noise reduction, see coderabbit-core-workflow-b.
Other measured skills in the registry, with their headline benchmark lift.