rabbit-feedback-resolver
Process and resolve CodeRabbit automated PR review comments. Use when the user says "check rabbit review", "handle coderabbit comments", "resolve rabbit feedback", or mentions CodeRabbit PR comments. Also use after PR creation when CodeRabbit has left automated review comments.
What this skill does
# CodeRabbit Feedback Resolver
Process and resolve CodeRabbit's automated PR review comments systematically.
## PR Comments Prohibition (CRITICAL)
**NEVER leave new comments directly on GitHub PRs.** This is strictly forbidden:
- `gh pr review --comment` - FORBIDDEN
- `gh pr comment` - FORBIDDEN
- Any GraphQL mutation that creates new reviews or PR-level comments - FORBIDDEN
**Permitted operations:**
- Reply to EXISTING CodeRabbit threads using `addPullRequestReviewThreadReply`
- Resolve CodeRabbit threads using `resolveReviewThread`
## WHEN TO USE THIS SKILL
**USE THIS SKILL PROACTIVELY** when ANY of the following occur:
- User says "check rabbit review" / "handle coderabbit comments" / "resolve rabbit feedback"
- User mentions "coderabbit" or "rabbit" and "PR" or "comments" in the same context
- After PR creation when CodeRabbit has reviewed the PR
- As part of the PR workflow after `pr-reviewer` skill completes
- When PR checks show CodeRabbit has left review comments
## CodeRabbit Comment Structure
CodeRabbit comments follow a structured markdown format:
```
_๐งน Nitpick_ | _๐ต Trivial_ <- Severity indicator (optional)
[Main feedback text]
<details>
<summary>๐ก Optional suggestion</summary>
[Expanded suggestion content]
</details>
<details>
<summary>๐ Committable suggestion</summary>
[Code block with suggested changes]
</details>
<details>
<summary>๐ค Prompt for AI Agents</summary>
[Explicit instructions for AI to follow]
</details>
```
**Key elements to extract:**
- **Severity**: `_๐งน Nitpick_` or `_๐ต Trivial_` = auto-resolvable
- **Prompt for AI Agents**: Explicit instructions - USE THESE DIRECTLY
- **Committable suggestion**: Ready-to-apply code changes
## Prerequisites
**CRITICAL: Load the `fx-dev:github` skill FIRST** before running any GitHub API operations. This skill provides essential patterns and error handling for `gh` CLI commands.
## Core Workflow
### 0. Verify CodeRabbit Configuration (First Run Only)
**Before processing feedback, ensure CodeRabbit is configured to read `.github/copilot-instructions.md`.**
CodeRabbit's `knowledge_base.code_guidelines` feature reads instruction files to understand project conventions. By default, it includes `.github/copilot-instructions.md`, but this may be disabled or overridden.
#### Check Configuration
```bash
# Check if .coderabbit.yaml exists
if [ -f ".coderabbit.yaml" ]; then
cat .coderabbit.yaml
else
echo "No .coderabbit.yaml found - using defaults"
fi
```
#### Configuration States
| State | Action |
|-------|--------|
| No `.coderabbit.yaml` exists | Defaults apply - `.github/copilot-instructions.md` IS read automatically |
| Config exists with `knowledge_base.code_guidelines.enabled: false` | **Update** to `enabled: true` |
| Config exists with custom `filePatterns` missing copilot-instructions.md | **Add** `.github/copilot-instructions.md` to `filePatterns` |
| Config exists with defaults or explicit copilot-instructions.md | No action needed |
#### Create/Update Configuration
If configuration needs updating, create or modify `.coderabbit.yaml`:
```yaml
# .coderabbit.yaml
# Ensures CodeRabbit reads project conventions from copilot-instructions.md
knowledge_base:
code_guidelines:
enabled: true
# Default patterns include .github/copilot-instructions.md
# Add explicit pattern if using custom filePatterns:
# filePatterns:
# - .github/copilot-instructions.md
# - CLAUDE.md
```
**Minimal config to ensure copilot-instructions.md is read:**
```yaml
knowledge_base:
code_guidelines:
enabled: true
```
This enables the default file patterns which include `.github/copilot-instructions.md`.
#### When to Update copilot-instructions.md
If CodeRabbit feedback conflicts with project conventions (INCORRECT category), update `.github/copilot-instructions.md` with the correct pattern. Since CodeRabbit reads this file, future reviews will respect the documented conventions.
### 1. Fetch Unresolved CodeRabbit Threads
Query review threads using GraphQL.
**IMPORTANT:** Use inline values, NOT `$variable` syntax. The `$` character causes shell escaping issues (`Expected VAR_SIGN, actual: UNKNOWN_CHAR`).
```bash
# Replace OWNER, REPO, PR_NUMBER with actual values
gh api graphql -f query='
query {
repository(owner: "OWNER", name: "REPO") {
pullRequest(number: PR_NUMBER) {
reviewThreads(first: 100) {
nodes {
id
isResolved
path
line
comments(first: 10) {
nodes {
author { login }
body
}
}
}
}
}
}
}'
```
**Filter for:** `isResolved: false` AND author login contains `coderabbitai`
### 2. Categorize Each Comment
For each unresolved CodeRabbit comment:
| Category | Indicator | Action |
|----------|-----------|--------|
| **Nitpick/Trivial** | Contains `_๐งน Nitpick_` or `_๐ต Trivial_` | Auto-resolve immediately |
| **Actionable with AI Prompt** | Has `๐ค Prompt for AI Agents` section | Extract prompt, delegate to coder |
| **Actionable with Committable** | Has `๐ Committable suggestion` | Apply suggestion directly |
| **General Feedback** | No special sections | Analyze and delegate to coder |
| **Deferred** | Valid but out of scope for this PR | Track in PROJECT.md, reply, resolve |
### 3. Process Each Category
#### Nitpicks/Trivial
- Resolve immediately without changes
- These are suggestions, not requirements
#### Actionable with AI Prompt (PREFERRED)
**When a comment contains `๐ค Prompt for AI Agents`, extract and use it directly:**
1. Parse the comment body to extract content between `<summary>๐ค Prompt for AI Agents</summary>` and the closing `</details>`
2. The extracted text contains explicit instructions - pass these to the coder sub-agent verbatim
3. After fix is implemented, resolve the thread
Example extraction:
```
In src/lib/view-config.ts around lines 115 to 118, expand the JSDoc above
NUMERIC_OPERATORS to explicitly state that operators in this set expect numeric
values...
```
#### Actionable with Committable Suggestion
1. Extract the code block from `๐ Committable suggestion` section
2. Apply the suggested changes directly using Edit tool
3. Commit with message referencing the CodeRabbit suggestion
4. Resolve the thread
#### General Feedback
1. Read the feedback carefully
2. Determine if it's valid or conflicts with project conventions
3. If valid: Delegate to coder sub-agent with context
4. If conflicts with project conventions (INCORRECT):
- Reply with explanation and resolve
- **Update `.github/copilot-instructions.md`** to document the correct pattern
- This prevents both Copilot AND CodeRabbit from flagging it again (CodeRabbit reads this file via `knowledge_base.code_guidelines`)
#### Deferred (Out of Scope)
**When feedback is valid but out of scope for the current PR:**
1. **Load the `fx-dev:project-management` skill** to track the follow-up work
2. **Add task to PROJECT.md** under the appropriate feature/section:
- Read current PROJECT.md structure
- Add a concise task describing the improvement
- Commit the PROJECT.md update
3. **Reply to the thread** explaining the deferral:
- "Valid suggestion. Tracked as follow-up task in PROJECT.md for a future PR."
4. **Resolve the thread**
**CRITICAL:** Never defer feedback without tracking it. "Acknowledged for follow-up" without a PROJECT.md entry is INCOMPLETE WORK.
### 4. Resolve Threads
Use GraphQL mutation to resolve each processed thread.
**IMPORTANT:** Use inline values, NOT `$variable` syntax.
```bash
# Replace THREAD_ID with actual thread ID (e.g., PRRT_kwDONZ...)
gh api graphql -f query='
mutation {
resolveReviewThread(input: {threadId: "THREAD_ID"}) {
thread { isResolved }
}
}'
```
### 5. Reply to Threads (When Needed)
For feedback that conflicts with conventions or is being declined.
**IMPORTANT:** Use inline values, NOT `$variable` syntax.
```bash
# Replace TRelated in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.