| name | code-review |
| description | Skill para realizar code reviews alinhados com as convenções e padrões de qualidade do projeto Fill All. |
| license | MIT |
| compatibility | Node.js 18+, TypeScript 5.x, Chrome Extension Manifest V3 |
| metadata | {"author":"marcusp","version":"1.0","project":"fill-all","category":"quality-assurance"} |
Skill: Code Review
Objetivo
Realizar code reviews consistentes e alinhados com as convenções do projeto Fill All, garantindo qualidade, segurança e manutenibilidade do código.
Checklist de Review
1. Convenções Gerais
2. Error Handling
export function parsePayload(input: unknown): MyType | null {
const result = schema.safeParse(input);
return result.success ? result.data : null;
}
export function parsePayload(input: unknown): MyType {
return schema.parse(input);
}
3. Validação
4. Storage
5. Pipeline & Classificadores
6. Geradores
7. Testes
8. Performance (Content Script)
9. Segurança
Severidade de Problemas
| Severidade | Ação | Exemplos |
|---|
| 🔴 Blocker | Deve corrigir antes de merge | Throw em generator, eval(), segurança, build quebrado |
| 🟡 Warning | Deve corrigir, pode ser em follow-up | console.log direto, sem teste, naming incorreto |
| 🟢 Suggestion | Opcional, melhoria de qualidade | Refactor sugerido, comentário mais claro |
Template de Comentário de Review
**[🔴/🟡/🟢] <Categoria>**: <Descrição do problema>
<Explicação do porquê e referência à convenção>
```suggestion
// Código sugerido
### Exemplos
```markdown
**[🔴 Blocker] Error Handling**: Parser usa `schema.parse()` que pode lançar exceção.
Convenção do projeto: parsers nunca fazem throw. Usar `safeParse()` e retornar `null`.
**[🟡 Warning] Naming**: Função `doStuff()` não segue padrão `verbNoun`.
Sugestão: renomear para `processFieldData()` ou similar.
**[🟢 Suggestion] Testes**: Considerar adicionar teste para edge case com campo vazio.
Fluxo de Review
- Ler a descrição do PR — entender o objetivo da mudança
- Verificar testes — novos testes existem? Existentes passam?
- Revisar código — seguir checklist acima
- Testar localmente (se necessário):
./scripts/validate-step.sh types unit
./scripts/validate-step.sh types unit build
./scripts/snapshot-health.sh --compare
- Deixar feedback — usar template de comentário com severidade
- Aprovar ou solicitar mudanças — baseado na severidade encontrada