code-review (Matt Pocock)
Revisa mudanças desde um commit ou branch segundo os padrões do repositório e a especificação original.
code-review do Matt Pocock: mesmo recall do Codex sem skill em 3 tarefas de revisão, 1.5x os tokens
Codex CLI · gpt-6-astra
23.5 / 30
Ganho sobre sem skill: +0.08 · Situacional · 18 execuções
Situacional: o ganho +0.08 está abaixo de +1.0. Para ser recomendado, é preciso total de 22/30, qualidade da saída de 3.5 e ganho de +1.0.
SOTA
AprovadoTestado com Codex.
Cobre Codex, Claude Code
Codex CLI 0.166 (nível SOTA): 18 execuções avaliadas. Uma aprovação aqui também vale para o Claude Code pela nossa regra de níveis; ela não diz nada sobre o segundo nível.
Notas
Cada dimensão vai de 0 a 5, e as seis somam o total de 30. 5 é melhor em todas as dimensões. Custo 5 significa barato e rápido. Instalação 5 significa fácil.
- Confiabilidade do acionamento
- 5.0
- Ganho sobre sem skill
- 2.1
- Qualidade da saída
- 4.5
- Custo de tokens e tempo
- 3.0
- Instalação e portabilidade
- 4.0
- Segurança
- 5.0
Revisão de segurança
SeguroVarredura estática: 0 CRÍTICO / 0 ALTO / 0 MÉDIO. Revisão manual: seguro para executar em sandbox sem rede (nenhum achado). Uma varredura limpa não prova que a skill é segura.
Instalar
npx skills@latest add mattpocock/skills --skill code-review
Commit fixado: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d
Testado: 2026-11-02
O que testamos
- Revisar um pequeno módulo de serviço — Revise orders_service.py antes de eu fazer o merge. Liste os problemas que encontrar, do mais sério para o menos sério. Não altere nenhum arquivo.
- Revisar um helper de autenticação — Revise auth_handlers.py: acabei de escrevê-lo para o nosso fluxo de login. Liste os problemas, do mais sério para o menos sério. Não altere nenhum arquivo.
- Revisar o commit mais recente contra os padrões escritos e a spec — Revise meu commit mais recente (as mudanças desde HEAD~1) contra CODING_STANDARDS.md e SPEC.md. Liste cada desvio, do mais sério para o menos sério. Não altere nenhum arquivo.
Prós
- A skill foi acionada sem ser nomeada: o arquivo da skill foi lido em 6/6 execuções de tratamento.
Contras
- Nenhum ganho mensurável em relação ao grupo sem skill (+0.08, dentro do ruído).
- n=2 por tarefa por braço; diferenças abaixo de cerca de 1 ponto são ruído.
Avaliação
Codex CLI 0.166 (gpt-6-astra, raciocínio baixo) em uma máquina de teste Mac, um projeto temporário novo e HOME/TMPDIR/caches temporários por execução, skill instalada (tratamento), ausente (controle) ou ausente com o requisito central da skill condensado em uma frase anexada ao prompt (grupo de uma frase), 2 execuções por grupo por tarefa, rede desligada, gravações em /tmp bloqueadas. Os prompts nunca mencionam a skill (exceto o texto indicado abaixo). Duas revisões de um único arquivo (um serviço de pedidos com 8 problemas inseridos de propósito, três deles não relacionados a segurança; um helper de autenticação com 8 problemas inseridos de propósito) e uma revisão do commit mais recente contra CODING_STANDARDS.md e SPEC.md (8 desvios inseridos de propósito), que é o uso previsto da skill. Todos os prompts são somente leitura (“liste os problemas, do mais sério para o menos sério, não altere arquivos”).
Comparação entre os braços
| Braço | Nota média (0-5) | Tokens por execução |
|---|---|---|
| Sem a skill | 4.37 | 78k |
| Prompt de uma frase | 4.37 | 77k |
| Com a skill | 4.45 | 114k |
Medido com Codex CLI em 18 execuções, com pontuação por verificações baseadas em regras e sem juiz LLM. Total 23.5 / 30, veredito Situacional.
Veredito: Situacional (23.5 / 30). Fonte: mattpocock/skills, skills/engineering/code-review, fixada no commit 4ae2317. Instalação: npx skills@latest add mattpocock/skills --skill code-review. Licença: MIT (LICENSE do repositório).
O que é
A skill code-review de mattpocock/skills (engineering/code-review). Ela revisa mudanças desde uma ref específica em dois eixos: o código segue os padrões de codificação documentados do repositório (e code smells comuns) e implementa o que a especificação pediu; é escrita para repositórios com documentos de padrões/especificação e para uso com subagentes. Somente Markdown, sem scripts.
Como testamos
Codex CLI 0.166 (gpt-6-astra, raciocínio baixo) em um Mac de teste, um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (grupo com skill), ausente (controle) ou ausente com o requisito central da skill comprimido em uma frase anexada ao prompt (grupo de uma frase), 2 execuções por grupo por tarefa, rede desativada, gravações em /tmp bloqueadas. Os prompts nunca mencionam a skill (exceto pela formulação indicada abaixo).
Duas revisões de arquivo único (um serviço de pedidos com 8 problemas plantados, três deles não relacionados a segurança; um auxiliar de autenticação com 8 problemas plantados) e uma revisão do commit mais recente contra CODING_STANDARDS.md e SPEC.md (8 desvios plantados), que é o uso pretendido da skill. Todos os prompts são somente leitura ('liste os problemas, os mais graves primeiro, não altere arquivos').
- Revisar um módulo de serviço pequeno — Revise orders_service.py antes que eu faça o merge. Liste os problemas que encontrar, os mais graves primeiro. Não altere nenhum arquivo.
- Revisar um auxiliar de autenticação — Revise auth_handlers.py: acabei de escrevê-lo para nosso fluxo de login. Liste os problemas, os mais graves primeiro. Não altere nenhum arquivo.
- Revisar o commit mais recente contra padrões e especificação escritos — Revise meu commit mais recente (as mudanças desde HEAD~1) contra CODING_STANDARDS.md e SPEC.md. Liste cada desvio, os mais graves primeiro. Não altere nenhum arquivo.
A pontuação é programática (testes ocultos / detecção de problemas plantados / verificações de restrições / renderização+OCR quando aplicável), de 0 a 5 por execução. Nenhum juiz LLM decidiu qualquer nota.
Resultados
A frase única dada ao terceiro grupo: "Revise em dois eixos: se o código segue os padrões de codificação documentados do repositório (mais code smells comuns) e se implementa o que a especificação pediu, e cite o arquivo e a linha de cada achado."
| Tarefa | Nota do controle | Uma frase | Com a skill | Tokens do controle | Tokens da frase | Tokens com a skill | Skill lida |
|---|---|---|---|---|---|---|---|
| t1-orders | 3.82 | 3.59 | 3.82 | 79k | 79k | 94k | 2/2 |
| t2-auth | 4.29 | 4.53 | 4.53 | 76k | 70k | 93k | 2/2 |
| t3-diff | 5.0 | 5.0 | 5.0 | 78k | 80k | 153k | 2/2 |
Nota média: 4.37 sem vs 4.45 com a skill (delta +0.08). Tokens por execução: 78k vs 114k (1.46x); tempo 44s vs 57s. Grupo de uma frase: 4.37 (ganho da skill sobre a frase: +0.08; ganho da própria frase sobre sem skill: +0.0); tokens da frase: 77k por execução, então a skill custa 1.49x a frase.
O que aconteceu
- Nenhum ganho mensurável: nota média 4.37 sem a skill, 4.37 com a versão de uma frase, 4.45 com a skill. Detecção de problemas plantados por execução: 5.0 de 8 no controle, 5.0 na frase, 5.1 na skill.
- Na tarefa para a qual a skill foi escrita (revisar um commit contra um arquivo de padrões e uma especificação), todos os grupos encontraram os 8 desvios em 6 de 6 execuções. O Codex puro já lê CODING_STANDARDS.md e SPEC.md e compara o diff com eles quando solicitado.
- Nas duas revisões de arquivo único, todos os grupos encontraram 5-7 dos 8 problemas plantados. Os erros foram os mesmos entre os grupos (dinheiro em float, um segredo escrito no log, ausência de limite de taxa no login), e nada do que a skill acrescenta mudou isso.
- A skill foi lida em 6/6 execuções e custou 114k tokens por execução contra 78k (1.5x); na tarefa de revisão de commit, 154k contra 79k (cerca de 2x), o caso mais pesado. A frase única custou o mesmo que o controle. Nenhuma execução alterou arquivos.
- Uma ressalva sobre a pontuação: os itens são comparados por regex, então um achado com redação diferente pode contar como erro.
Notas por dimensão
| Dimensão | Nota | Por quê |
|---|---|---|
| 1_output_quality | 4.45 | Nota média 4.45/5 com a skill (verificações programáticas, veja a tabela por tarefa). |
| 2_lift_vs_no_skill | 2.08 | +0.08 pontos vs 4.37 sem a skill (n=2 por tarefa; abaixo de ~1 ponto é ruído). |
| 3_trigger | 5.0 | Arquivo da skill lido em 6/6 execuções com a skill. |
| 4_instructions_portability | 4 | Escrita para repositórios que têm documentos de padrões/especificação e para agentes que conseguem gerar subagentes; funciona como instruções simples em outros contextos. |
| 5_efficiency | 3 | 1.46x tokens (114k vs 78k por execução) e 1.30x tempo (57s vs 44s). |
| 6_safety_hygiene | 5 | Somente Markdown; sem scripts, sem comandos. |
Limitações deste teste
- A skill foi projetada para distribuir os dois eixos entre subagentes e ler os documentos do repositório; uma execução não interativa do Codex com um repositório pequeno não mostra se isso ajuda em um diff grande.
- Problemas plantados em arquivos minúsculos; a qualidade das explicações, a ordenação por gravidade e os falsos positivos não foram pontuados.
- A frase única reformula os dois eixos da skill; um time sem padrões documentados não teria nada para o primeiro eixo.
- n = 2 por grupo por tarefa: diferenças abaixo de cerca de 1 ponto são ruído.
- A pontuação baseada em regras mede o que as verificações conseguem ver; não avalia gosto nem se o resultado é o melhor possível.
Segurança
Veja security.md. Varredura: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Veredito: seguro para executar (sandbox sem rede). Uma varredura limpa não prova que a skill é segura.
Conclusão
Quando solicitado a revisar um commit contra padrões escritos e uma especificação, o Codex puro já encontrou todos os desvios plantados, e a skill adicionou tokens (1.5x a 2x) sem encontrar mais. Ela ainda pode ajudar um time que quer todas as revisões no mesmo formato de dois eixos, algo que este teste não mede.
Transcrição
Log de execuções: code-review (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) Colunas: tarefa, grupo-execução, nota (0-5), tokens, segundos, verificações aprovadas, arquivos da skill abertos pelo agente. t1-orders control-1: nota 3.59, tokens 79037, s 43.8, verificações 2/2, nada aberto t1-orders control-2: nota 4.06, tokens 79487, s 50.4, verificações 2/2, nada aberto t1-orders oneliner-1: nota 3.59, tokens 97051, s 50.6, verificações 2/2, nada aberto t1-orders oneliner-2: nota 3.59, tokens 61642, s 42.5, verificações 2/2, nada aberto t1-orders treatment-1: nota 4.06, tokens 65668, s 44.1, verificações 2/2, abriu code-review t1-orders treatment-2: nota 3.59, tokens 123428, s 56.0, verificações 2/2, abriu code-review t2-auth control-1: nota 4.53, tokens 76436, s 43.2, verificações 2/2, nada aberto t2-auth control-2: nota 4.06, tokens 76339, s 43.5, verificações 2/2, nada aberto t2-auth oneliner-1: nota 4.53, tokens 61176, s 49.9, verificações 2/2, nada aberto
18 execuções, 3 artefatos
Resultado de exemplo
SOTA · With the skill: final message (t1-orders, run 1, Codex)
Found six problems, most serious first: 1. **High — Missing cancellation authorization** ([line 13](orders_service.py:13)). `current_user` is never checked. Anyone able to call this function can cancel another user’s order by supplying its ID. Verify ownership or administrative permission before updating. 2. **High — SQL injection** ([line 9](orders_service.py:9)). `order_id` is interpolated directly into SQL. A value such as `"0 OR 1=1"` changes the query and can return another order. Use a parameterized query. 3. **High — Credential exposure** ([line 4](orders_service.py:4), [line 48](orders_service.py:48)). A live-looking API key is hardcoded, and the successful charge path prints it to logs. Load credentials from secure configuration and remove the logging. If this key is real, rotate it. 4. **High — Charging always fails silently** ([lines 45–55](orders_service.py:45)). `send_to_gateway()` always raises `NotImplementedError`; `charge()` catches it and returns `None`. No payment can succeed, and callers receive no explicit failure. Implement the gateway and propagate or explicitly report failures. 5. **Medium — Discount thresholds are incorrect** ([line 24](orders_service.py:24)). The documented “or more” thresholds require `>=`. Currently, a total of 100 receives no discount, and 500 receives only 10%, yielding 100 and 450 instead of 90 and 400. 6. **Medium — Export file is never explicitly closed** ([line 39](orders_service.py:39)). Buffered output and resource cleanup depend on garbage collection, including on exceptions. Use a `with open(...)` block to ensure flushing and closing. Static review only; no files changed.