Executa CodeRabbit CLI em modo prompt-only para revisar alterações locais, identificar issues, planejar correções e validar com testes antes do commit
Skill para integrar o CodeRabbit CLI ao Claude Code, permitindo revisões automatizadas de código com análise de findings, aplicação de correções e validação por testes.
Executar o CodeRabbit CLI em modo otimizado para agentes (--prompt-only) para:
Use esta skill quando precisar:
❌ NÃO use quando:
Antes de usar esta skill, verifique:
CodeRabbit CLI instalado:
command -v coderabbit
Se não instalado, instrua o usuário a instalar via: https://docs.coderabbit.ai/cli/installation
Autenticação configurada:
coderabbit auth status
Se não autenticado, instrua o usuário a executar:
coderabbit auth login (login interativo), ouCODERABBIT_API_KEY no ambienteGit repository: Projeto deve ser um repositório git com alterações locais
Nenhum parâmetro é estritamente obrigatório (todos têm defaults).
base_branch (string): Branch base para comparação. Padrão: detectar automaticamente (main, master, develop)review_type (string): Tipo de revisão. Valores: all | committed | uncommitted. Padrão: allcontext_files (array): Arquivos de contexto adicionais (ex.: CLAUDE.md, specs, PRD)tests_command (string): Comando de testes do projeto. Padrão: detectar automaticamente (npm test, pnpm test, etc.)output_file (string): Arquivo de saída do CodeRabbit. Padrão: coderabbit_prompt.txtauto_fix (boolean): Aplicar correções automaticamente. Padrão: trueseverity_threshold (string): Severidade mínima para corrigir. Valores: critical | high | medium | low. Padrão: medium# Verificar diretório de trabalho
pwd
# Listar arquivos de contexto disponíveis
ls -la | grep -E 'CLAUDE.md|README.md|CONTRIBUTING.md'
Ações:
CLAUDE.md se existircontext_files se fornecidos# Verificar instalação do CodeRabbit CLI
if ! command -v coderabbit &> /dev/null; then
echo "❌ CodeRabbit CLI não encontrado"
echo "Instale via: https://docs.coderabbit.ai/cli/installation"
exit 1
fi
# Verificar autenticação
coderabbit auth status
if [ $? -ne 0 ]; then
echo "❌ CodeRabbit CLI não autenticado"
echo "Execute: coderabbit auth login"
echo "Ou configure: export CODERABBIT_API_KEY=your_key"
exit 1
fi
IMPORTANTE:
coderabbit auth login automaticamente# Detectar branch principal
git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@'
# Ou verificar branches comuns
git branch -r | grep -E 'origin/(main|master|develop)' | head -1
# Detectar comando de testes
if [ -f "package.json" ]; then
# Verificar scripts npm/pnpm/yarn
cat package.json | grep -E '"test"|"test:unit"|"lint"'
fi
# Comando padrão
coderabbit review \
--prompt-only \
--type ${review_type:-all} \
--base ${base_branch:-main} \
--output ${output_file:-coderabbit_prompt.txt}
# Verificar código de saída
if [ $? -ne 0 ]; then
echo "❌ Falha ao executar CodeRabbit"
cat ${output_file} 2>/dev/null
exit 1
fi
Após executar o CodeRabbit:
output_fileCLAUDE.md, docs)Exemplo de saída estruturada:
📊 CodeRabbit Review Summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Base: main → Current: feature/xyz
Type: all changes
🔴 Critical Issues (2)
- src/auth/auth.service.ts:45 - SQL Injection vulnerability
- src/utils/crypto.ts:12 - Hardcoded credentials
🟠 High Issues (5)
- src/api/users.controller.ts:89 - Missing input validation
...
🟡 Medium Issues (8)
...
🟢 Low Issues (12)
...
Para cada finding:
Restrições de segurança:
git reset --hard.env, credenciais)Para cada finding acima do threshold de severidade:
1. Ler o arquivo afetado
2. Identificar o bloco de código problemático
3. Aplicar correção usando Edit tool
4. Registrar mudança aplicada
5. Se não puder corrigir automaticamente, registrar TODO
Estratégia de correção:
# Detectar comando de testes
if [ -f "package.json" ]; then
test_cmd=$(cat package.json | jq -r '.scripts.test // empty')
if [ -n "$test_cmd" ]; then
npm test
fi
elif [ -f "Makefile" ]; then
make test
fi
# Verificar resultado
if [ $? -ne 0 ]; then
echo "❌ Testes falharam após correções"
echo "Analisando logs para rollback/correção..."
fi
Se testes falharem:
# Executar novamente para confirmar que findings foram resolvidos
coderabbit review \
--prompt-only \
--type uncommitted \
--base ${base_branch} \
--output coderabbit_recheck.txt
# Comparar findings antes/depois
diff coderabbit_prompt.txt coderabbit_recheck.txt
Gerar resumo final com:
## 📋 CodeRabbit Review Report
### ⚙️ Comandos Executados
- `coderabbit review --prompt-only --type all --base main`
- `npm test`
- `coderabbit review --prompt-only --type uncommitted` (re-check)
### ✅ Findings Resolvidos (12/20)
🔴 Critical (2/2):
- [x] src/auth/auth.service.ts:45 - SQL Injection → Parametrized query
- [x] src/utils/crypto.ts:12 - Hardcoded credentials → Environment variable
🟠 High (4/5):
- [x] src/api/users.controller.ts:89 - Input validation → Added DTO validation
- [x] src/api/posts.controller.ts:34 - XSS vulnerability → Sanitization
- [x] src/middleware/auth.ts:23 - Missing error handling → Try-catch block
- [x] src/services/email.service.ts:67 - Rate limiting → Added throttle decorator
- [ ] src/api/admin.controller.ts:12 - Authorization bypass → **PENDING MANUAL REVIEW**
🟡 Medium (6/8):
...
### ⏳ Pendências (8)
1. src/api/admin.controller.ts:12 - Requer análise de regras de negócio
2. src/legacy/old-auth.ts:* - Sistema legado, refatoração complexa
3. ...
### 🧪 Validação
- Testes executados: ✅ 234 passed, 0 failed
- Linting: ✅ No issues
- Re-check CodeRabbit: ✅ 12 findings resolved
### ⚠️ Riscos Residuais
- Authorization bypass em admin.controller.ts requer validação manual
- Sistema legado (old-auth.ts) não foi alterado por segurança
### 📝 Próximos Passos
1. Revisar pendências manualmente
2. Executar testes E2E se disponíveis
3. Commit das alterações aprovadas
4. Abrir PR com este relatório
---
**Não commit automático** - Revisão final do usuário necessária
A skill deve produzir:
git reset --hard, rm -rf).env, .git/config, credenciais)coderabbit auth login automaticamenteCLAUDE.md, CONTRIBUTING.md)User: Use a skill coderabbit-review para revisar minhas alterações locais e aplicar correções
Claude: Vou executar a CodeRabbit CLI Review Skill para revisar suas alterações.
1. Verificando pré-requisitos...
✅ CodeRabbit CLI instalado
✅ Autenticação configurada
✅ Git repository detectado
2. Detectando configuração do projeto...
- Base branch: main
- Review type: all
- Tests command: npm test
3. Executando CodeRabbit...
$ coderabbit review --prompt-only --type all --base main --output coderabbit_prompt.txt
✅ Review completo
4. Estruturando findings...
📊 Encontrados: 20 issues (2 critical, 5 high, 8 medium, 5 low)
5. Aplicando correções (severity >= medium)...
[15 correções aplicadas automaticamente]
6. Validando com testes...
$ npm test
✅ 234 passed, 0 failed
7. Re-validando com CodeRabbit...
✅ 15 findings resolvidos, 5 pendentes
[Relatório completo gerado]
User: Execute coderabbit-review apenas para mudanças não commitadas, sem aplicar correções automaticamente
Claude: Executando revisão em modo somente-leitura...
Parâmetros:
- review_type: uncommitted
- auto_fix: false
- base_branch: main
[Executa passos 1-5 do fluxo]
Relatório de findings gerado em coderabbit_prompt.txt
Nenhuma correção aplicada (modo somente-leitura)
Próximos passos sugeridos:
1. Revisar findings em coderabbit_prompt.txt
2. Decidir quais correções aplicar
3. Re-executar skill com auto_fix=true se desejar
User: Use coderabbit-review com contexto dos arquivos ARCHITECTURE.md e docs/security-guidelines.md, base branch develop, apenas critical e high
Claude: Executando revisão com contexto customizado...
Parâmetros:
- base_branch: develop
- context_files: [ARCHITECTURE.md, docs/security-guidelines.md]
- severity_threshold: high
- review_type: all
1. Lendo contexto adicional...
✅ ARCHITECTURE.md (padrões de arquitetura)
✅ docs/security-guidelines.md (guidelines de segurança)
2. Executando CodeRabbit...
[análise considerando contexto dos guidelines]
3. Aplicando correções (critical + high apenas)...
[6 correções aplicadas seguindo guidelines]
[Relatório gerado]
User: Quero revisar com coderabbit antes de fazer commit
Claude: Executando revisão pré-commit...
1. Detectando alterações staged...
✅ 5 arquivos modificados detectados
2. Executando CodeRabbit...
$ coderabbit review --prompt-only --type uncommitted --base main
3. Findings encontrados: 3 medium, 1 high
4. Aplicando correções...
✅ Todas as 4 issues resolvidas
5. Validando...
✅ Testes passando
✅ Linting OK
6. Re-validando...
✅ Nenhum finding remanescente
Suas alterações estão prontas para commit!
Recomendação:
$ git add .
$ git commit -m "seu commit message aqui"
coderabbit auth login ou CODERABBIT_API_KEY# Verificar instalação
command -v coderabbit
# Se não instalado, instalar via:
# macOS/Linux:
curl -fsSL https://get.coderabbit.ai | sh
# Ou via npm:
npm install -g @coderabbit/cli
# Verificar status
coderabbit auth status
# Autenticar via browser
coderabbit auth login
# Ou via API key
export CODERABBIT_API_KEY=your_api_key_here
git statusbase_branch está corretoreview_type para allEsta skill é genérica e pode ser usada em qualquer projeto com:
Para reportar issues ou sugerir melhorias:
Esta skill segue a mesma licença do projeto em que está inserida.