Ai Code Review
Esta skill capacita o Claude a atuar como um engenheiro de software sênior, realizando revisões de código automatizadas e contextuais com foco em qualidade, segurança e performance.
Keywords
Revisão de Código IA, Code Quality, Segurança de Código, Análise Estática, Pull Request Automation, GitHub Webhook, Claude API, Prompts de Revisão, Refatoração, Automação N8N, Make.com, CI/CD, Testes Unitários, Vulnerabilidade, Boas Práticas.
Quick Start
- Configurar Webhook no GitHub: Crie um webhook no seu repositório GitHub para eventos
pull_request apontando para um endpoint de automação (Make/N8N).
- Desenvolver Fluxo de Automação (Make/N8N): Crie um cenário/workflow que receba o payload do webhook, extraia as alterações do PR e chame a API do Claude.
- Elaborar Prompt de Revisão: Construa um prompt detalhado para o Claude, incluindo contexto do projeto, padrões de codificação e áreas de foco (segurança, performance, legibilidade).
- Processar Resposta do Claude: Configure o fluxo para formatar a resposta do Claude e postar os comentários da revisão diretamente no Pull Request do GitHub via API.
Core Workflows
Workflow 1: Revisão Automática de Pull Request com GitHub, N8N e Claude API
Este workflow automatiza a revisão inicial de Pull Requests (PRs) para identificar problemas comuns antes mesmo de um revisor humano intervir, acelerando o ciclo de desenvolvimento.
Passos Detalhados:
Configuração do Webhook GitHub:
- No seu repositório GitHub, vá em
Settings > Webhooks > Add webhook.
- Payload URL:
https://your-n8n-instance.com/webhook/github-pr-review (substitua pelo seu endpoint N8N).
- Content type:
application/json.
- Secret:
SUA_CHAVE_SECRETA_WEBHOOK (opcional, mas recomendado para segurança).
- Which events would you like to trigger this webhook?: Selecione
Let me select individual events. e marque Pull requests.
- Clique em
Add webhook.
Criação do Fluxo N8N (Exemplo):
- Nó 1: Webhook N8N:
- Tipo:
Webhook.
- Modo:
POST.
Webhook URL: Copie o URL gerado pelo N8N para usar no GitHub.
Authentication: Configure conforme a Secret do GitHub (ex: Header Auth com X-Hub-Signature-256).
- Nó 2: Extrair Detalhes do PR e Obter Diff:
- Tipo:
Code (JavaScript) para processar o payload inicial.
- Objetivo: Extrair o URL do PR, o número do PR, o nome completo do repositório e, crucialmente, fazer uma chamada HTTP para obter o diff das alterações.
- Exemplo de código (assumindo que você tem um token GitHub armazenado em credenciais N8N):
const prUrl = $json.pull_request.url;
const repoFullName = $json.pull_request.head.repo.full_name;
const prNumber = $json.number;
const prDiffUrl = $json.pull_request.diff_url; // URL para obter o diff
// Retorna o URL do diff para o próximo nó HTTP Request
return [{ json: { prUrl, repoFullName, prNumber, prDiffUrl } }];
- Nó 3: Obter Diff do PR via GitHub API:
- Tipo:
HTTP Request.
- Método:
GET.
- URL:
{{ $json.prDiffUrl }}
- Headers:
Authorization: token YOUR_GITHUB_TOKEN (token pessoal com permissões repo).
Accept: application/vnd.github.v3.diff
- Salvar a resposta RAW (o diff) para o próximo nó.
- Nó 4: Chamar Claude API para Revisão:
- Tipo:
HTTP Request.
- Método:
POST.
- URL:
https://api.anthropic.com/v1/messages
- Headers:
x-api-key: {{ sua_claude_api_key }}
anthropic-version: 2023-06-01
Content-Type: application/json
- Body (RAW JSON):
{
"model": "claude-3-opus-20240229",
"max_tokens": 2000,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Você é um revisor de código sênior para projetos JavaScript/TypeScript, focado em performance, segurança, legibilidade (ESLint/Prettier), e conformidade com boas práticas de Node.js. Analise o seguinte diff de Pull Request e forneça um feedback construtivo, listando os pontos de melhoria com exemplos de código quando aplicável. Use um tom profissional e objetivo. Priorize problemas críticos e sugestões de refatoração, especialmente em segurança e performance.\n\nDiff do PR:\n```diff\n{{ $node["Obter Diff do PR via GitHub API"].data.text }}\n```\n\nFormato esperado da resposta:\n\n### Sumário da Revisão\n[Resumo geral e impacto]\n\n### Pontos de Melhoria\n\n1. **[Título do Problema]**\n * **Severidade**: [Crítico/Alto/Médio/Baixo]\n * **Descrição**: [Explicação detalhada do problema e por que é um problema.]\n * **Localização**: [Arquivo:Linha(s)]\n * **Sugestão**: [Exemplo de como corrigir ou refatorar.]\n\n2. **[Outro Título do Problema]**\n * ...\n\n### Observações Adicionais\n[Comentários gerais ou
1---2name: ai-code-review3description: Ai Code Review — Skill especializada para ai code review4license: MIT5---67# Ai Code Review89Esta skill capacita o Claude a atuar como um engenheiro de software sênior, realizando revisões de código automatizadas e contextuais com foco em qualidade, segurança e performance.1011---1213## Keywords1415Revisão de Código IA, Code Quality, Segurança de Código, Análise Estática, Pull Request Automation, GitHub Webhook, Claude API, Prompts de Revisão, Refatoração, Automação N8N, Make.com, CI/CD, Testes Unitários, Vulnerabilidade, Boas Práticas.1617---1819## Quick Start20211. **Configurar Webhook no GitHub**: Crie um webhook no seu repositório GitHub para eventos `pull_request` apontando para um endpoint de automação (Make/N8N).222. **Desenvolver Fluxo de Automação (Make/N8N)**: Crie um cenário/workflow que receba o payload do webhook, extraia as alterações do PR e chame a API do Claude.233. **Elaborar Prompt de Revisão**: Construa um prompt detalhado para o Claude, incluindo contexto do projeto, padrões de codificação e áreas de foco (segurança, performance, legibilidade).244. **Processar Resposta do Claude**: Configure o fluxo para formatar a resposta do Claude e postar os comentários da revisão diretamente no Pull Request do GitHub via API.2526---2728## Core Workflows2930### Workflow 1: Revisão Automática de Pull Request com GitHub, N8N e Claude API3132Este workflow automatiza a revisão inicial de Pull Requests (PRs) para identificar problemas comuns antes mesmo de um revisor humano intervir, acelerando o ciclo de desenvolvimento.3334**Passos Detalhados:**35361. **Configuração do Webhook GitHub**:37 * No seu repositório GitHub, vá em `Settings` > `Webhooks` > `Add webhook`.38 * **Payload URL**: `https://your-n8n-instance.com/webhook/github-pr-review` (substitua pelo seu endpoint N8N).39 * **Content type**: `application/json`.40 * **Secret**: `SUA_CHAVE_SECRETA_WEBHOOK` (opcional, mas recomendado para segurança).41 * **Which events would you like to trigger this webhook?**: Selecione `Let me select individual events.` e marque `Pull requests`.42 * Clique em `Add webhook`.43442. **Criação do Fluxo N8N (Exemplo):**45 * **Nó 1: Webhook N8N**:46 * Tipo: `Webhook`.47 * Modo: `POST`.48 * `Webhook URL`: Copie o URL gerado pelo N8N para usar no GitHub.49 * `Authentication`: Configure conforme a `Secret` do GitHub (ex: `Header Auth` com `X-Hub-Signature-256`).50 * **Nó 2: Extrair Detalhes do PR e Obter Diff**:51 * Tipo: `Code` (JavaScript) para processar o payload inicial.52 * Objetivo: Extrair o URL do PR, o número do PR, o nome completo do repositório e, crucialmente, fazer uma chamada HTTP para obter o diff das alterações.53 * Exemplo de código (assumindo que você tem um token GitHub armazenado em credenciais N8N):54 ```javascript55 const prUrl = $json.pull_request.url;56 const repoFullName = $json.pull_request.head.repo.full_name;57 const prNumber = $json.number;58 const prDiffUrl = $json.pull_request.diff_url; // URL para obter o diff5960 // Retorna o URL do diff para o próximo nó HTTP Request61 return [{ json: { prUrl, repoFullName, prNumber, prDiffUrl } }];62 ```63 * **Nó 3: Obter Diff do PR via GitHub API**:64 * Tipo: `HTTP Request`.65 * Método: `GET`.66 * URL: `{{ $json.prDiffUrl }}`67 * Headers:68 * `Authorization`: `token YOUR_GITHUB_TOKEN` (token pessoal com permissões `repo`).69 * `Accept`: `application/vnd.github.v3.diff`70 * Salvar a resposta RAW (o diff) para o próximo nó.71 * **Nó 4: Chamar Claude API para Revisão**:72 * Tipo: `HTTP Request`.73 * Método: `POST`.74 * URL: `https://api.anthropic.com/v1/messages`75 * Headers:76 * `x-api-key`: `{{ sua_claude_api_key }}`77 * `anthropic-version`: `2023-06-01`78 * `Content-Type`: `application/json`79 * Body (RAW JSON):80 ```json81 {82 "model": "claude-3-opus-20240229",83 "max_tokens": 2000,84 "messages": [85 {86 "role": "user",87 "content": [88 {89 "type": "text",90 "text": "Você é um revisor de código sênior para projetos JavaScript/TypeScript, focado em performance, segurança, legibilidade (ESLint/Prettier), e conformidade com boas práticas de Node.js. Analise o seguinte diff de Pull Request e forneça um feedback construtivo, listando os pontos de melhoria com exemplos de código quando aplicável. Use um tom profissional e objetivo. Priorize problemas críticos e sugestões de refatoração, especialmente em segurança e performance.\n\nDiff do PR:\n```diff\n{{ $node["Obter Diff do PR via GitHub API"].data.text }}\n```\n\nFormato esperado da resposta:\n\n### Sumário da Revisão\n[Resumo geral e impacto]\n\n### Pontos de Melhoria\n\n1. **[Título do Problema]**\n * **Severidade**: [Crítico/Alto/Médio/Baixo]\n * **Descrição**: [Explicação detalhada do problema e por que é um problema.]\n * **Localização**: [Arquivo:Linha(s)]\n * **Sugestão**: [Exemplo de como corrigir ou refatorar.]\n\n2. **[Outro Título do Problema]**\n * ...\n\n### Observações Adicionais\n[Comentários gerais ou