Skill de Revisão de Estilo
Propósito
Verificar se o código segue todos os guias de estilo do projeto. Esta é uma verificação de aprovação/reprovação, não uma sessão de feedback.
Quando Usar
- Fase de verificação TDD
- Revisão de PR para conformidade de estilo
- Qualquer revisão de código que exija validação de estilo
Entradas Necessárias
context_files
- Guia de estilo para a fase sendo revisada (ex.:
docs/style/rust-design.md) - Arquivos alterados a revisar
- Arquivo ledger (opcional) para revisões multi-ciclo
context_data
phase: Qual fase (designer/tester/implementor) – determina quais regras do guia de estilo se aplicamchanged_files: Lista de arquivos a revisar
Formato da Resposta
Retorne uma resposta estruturada seguindo este esquema:
class StyleResult(BaseModel):
status: Literal["accept", "violations"]
violations: list[str] = [] # Cada item: "arquivo:linha - descrição"
themes: str | None = None # Padrão opcional entre violações
Se todas as verificações passarem:
StyleResult(status="accept")
Se alguma verificação falhar:
StyleResult(
status="violations",
violations=[
"src/config.rs:23 - seletores snafu importados no nível do módulo; deveriam estar dentro da função",
"src/parser.rs:45 - comentários Given/When/Then ausentes no teste",
],
themes="Várias violações decorrem de uma abordagem inconsistente de tratamento de erros"
)
Consciência do Ledger
Quando um arquivo ledger é fornecido em context_files:
- Leia ciclos anteriores – Verifique quais violações foram levantadas e como o implementador respondeu
- Verifique itens RESOLVIDOS – Confirme se as correções foram realmente aplicadas
- Respeite itens DISPUTADOS – NÃO reabra se o motivo do implementador for válido
- Levante apenas NOVAS violações – Problemas não discutidos anteriormente
Guias de Estilo (Fontes Autoritativas)
Os guias de estilo em docs/style/ são a ÚNICA fonte de verdade:
docs/style/rust-design.md– Regras da fase de design (tipos, assinaturas, bon, nutype, snafu)docs/style/rust-impl.md– Regras da fase de implementação (tratamento de erros, imports, sem panics)docs/style/rust-test.md– Regras da fase de teste (Given/When/Then, test_case, asserções)
Leia o guia aplicável e use seu julgamento. Não confie em resumos.
Procedimento
1. Identifique as Regras Aplicáveis
Com base na fase:
designer: regras rust-design.md (especialmente a tabela de Escolhas de Crate do Projeto)tester: regras rust-test.mdimplementor: regras rust-impl.md- Arquivos de teste (módulos
#[cfg(test)]) sempre recebem as regras rust-test.md independentemente da fase
2. Revise Cada Arquivo
Verifique conforme as regras do guia de estilo aplicável. Sinalize apenas violações claras, não preferências de estilo.
Verificações críticas para a fase designer:
- Structs compostas (2+ campos) usam
#[derive(Builder)]com#[non_exhaustive] - Novos tipos validados usam
nutype - Erros usam
snafucom#[snafu(module)] - Corpos de função são
todo!(), não implementações
Verificações críticas para a fase implementor:
- Nenhum
unwrap()/expect()no código de produção - Seletores de contexto snafu importados dentro de funções
- Sem linhas em branco entre imports
Verificações críticas para a fase tester:
- Comentários Given/When/Then em cada teste
test_casepara testes parametrizados
3. Retorne Resultado Estruturado
Use o esquema StyleResult. O orquestrador analisa isso para decidir os próximos passos.
O Que Esta Skill NÃO Faz
- Sugerir melhorias não relacionadas a violações
- Fornecer feedback construtivo geral
- Revisar escopo/correção (use review-scope para isso)
- Sinalizar preferências de estilo que não estão nos guias
Esta é uma verificação binária: aceitar ou violações.