name: coderabbit-fix-flow
description: This skill should be used when CodeRabbit code review feedback needs to be processed and fixed systematically. Use after running coderabbit --plain to automatically save feedback, analyze issues using MCP tools, and implement minimal code fixes with proper planning.
CodeRabbit Fix Flow
Overview
This skill automates the workflow of processing CodeRabbit code review feedback by saving the review output to a timestamped document, then using MCP tools (sequential thinking and Exa context) to analyze and implement fixes with minimal code changes.
When to Use
Use this skill immediately after running coderabbit --plain or when you have CodeRabbit feedback that needs systematic processing. The skill handles type safety issues, code style violations, and other CodeRabbit-identified problems.
Workflow
Step 1: Execute CodeRabbit Review
Run the CodeRabbit review command in plain text mode:
coderabbit --plain
Step 2: Save Feedback Document
Save the CodeRabbit output to a timestamped QA document:
- Create file:
memory-bank/qa/coderabbit/cr-qa-{timestamp}.md - Include the full CodeRabbit output in the document
- Add YAML front matter with metadata:
--- title: "CodeRabbit QA Review - {timestamp}" link: "cr-qa-{timestamp}" type: "qa" tags: - code-review - coderabbit - type-safety created_at: "{timestamp}" updated_at: "{timestamp}" uuid: "{generate-uuid}" ---
Step 3: Analyze Issues with Sequential Thinking
Use the sequential thinking MCP tool to analyze all identified issues:
- Categorize issues by type (type safety, performance, style, security)
- Prioritize fixes (critical runtime issues first, then documentation)
- Plan minimal changes to achieve the fixes
- Identify dependencies between issues
Step 4: Get Best Practices Context
Use the Exa code context MCP tool to research current best practices for each issue type:
- For type issues: "TypeScript type guards runtime validation best practices"
- For Python type issues: "Python type annotations Optional None best practices"
- For performance: "Performance optimization best practices [language]"
- For security: "Security vulnerability fixes [language]"
Step 5: Implement Fixes Systematically
Execute the fixes following the sequential thinking plan:
- Create TodoWrite list tracking all issues
- Mark each issue as in_progress → completed
- Apply minimal code changes using best practices from Exa context
- Verify fixes address the root cause identified by CodeRabbit
Step 6: Validate and Document
Run validation as appropriate:
- TypeScript:
npm run buildortsc --noEmit - Python:
mypyorruff check - JavaScript:
npm run lintor biome
Document the fixes in the QA document with:
- What was fixed
- How it was fixed
- Validation results
Issue Type Patterns
Type Safety Issues
- Use proper type guards instead of assertions
- Apply Optional/Union types for nullable fields
- Implement runtime validation where needed
Code Style Issues
- Follow language-specific style guides
- Use linting tools to verify fixes
- Maintain consistency with existing codebase
Performance Issues
- Research current optimization patterns
- Implement minimal impactful changes
- Measure before/after when possible
Security Issues
- Understand the vulnerability context
- Apply security best practices
- Ensure fixes don't break functionality
Examples
Type Safety Fix Pattern
// Before (unsafe)
const data = response as ResearchDataShape;
// After (safe)
const data = isResearchDataShape(response) ? response : {} as ResearchDataShape;
Python Type Annotation Fix Pattern
# Before (incorrect)
timestamp: float = None
metadata: dict[str, Any] = None
# After (correct)
timestamp: float | None = None
metadata: dict[str, Any] | None = None
MCP Tool Usage
Sequential Thinking Tool
Use for:
- Breaking down complex issues into steps
- Planning fix order and dependencies
- Analyzing multiple issues systematically
Exa Code Context Tool
Use for:
- Getting current best practices
- Understanding language-specific patterns
- Finding optimal implementation approaches
Resources
This skill doesn't require bundled resources as it relies on MCP tools for context and the existing codebase for implementation.