Todas as skills

pr (mattpocock/skills)

Escreve o corpo de um pull request descrevendo a mudança para quem revisa.

pr: uma skill puramente de formato: o grupo de controle nunca produz o corpo de PR em três seções (1.7/5), enquanto a skill e um prompt de uma frase produzem (5.0 e 4.95), sem tokens extras

RecomendadoSeguro

Codex CLI · gpt-6-astra

29.0 / 30

Ganho sobre sem skill: +3.33 · Recomendado · 18 execuções

Recomendado: o total 29.0/30 é pelo menos 22, a qualidade da saída 5.0 é pelo menos 3.5 e o ganho +3.33 é pelo menos +1.0.

SOTA

Aprovado

Testado 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
5.0
Qualidade da saída
5.0
Custo de tokens e tempo
5.0
Instalação e portabilidade
4.0
Segurança
5.0

Revisão de segurança

Seguro

Varredura 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 pr

Fonte

Commit fixado: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

Testado: 2026-11-02

O que testamos

  • Corpo de PR para um cache — Estou abrindo um pull request. Escreva em PR.md o corpo do PR para a mudança em change.diff. A saída dos testes antes/depois está em tests_before.txt e tests_after.txt.
  • Corpo de PR para remoção de coluna — Por favor, escreva o texto do meu pull request. Escreva em PR.md o corpo do PR para a mudança em change.diff. A saída dos testes antes/depois está em tests_before.txt e tests_after.txt.
  • Corpo de PR para mudança de texto — Escreva uma descrição de PR. Escreva em PR.md o corpo do PR para a mudança em change.diff. A saída dos testes antes/depois está em tests_before.txt e tests_after.txt.

Prós

  • Eleva a nota média de 1.67 para 5.0 em relação ao grupo sem skill (+3.33).
  • A skill foi acionada sem ser nomeada: o arquivo da skill foi lido em 6/6 execuções de tratamento.
  • Sem custo extra de tokens: 1.0x os tokens em relação ao grupo sem skill.
  • Qualidade absoluta alta com a skill: 5.0 de 5.

Contras

  • Um prompt de uma frase marcou 4.95, contra 5.0 com a skill (+0.05).
  • 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 um PC de teste Windows dedicado, com um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (tratamento), ausente (grupo de controle) ou ausente com o requisito central da skill comprimido em uma frase anexada ao prompt (grupo com prompt de uma frase), 2 execuções por grupo por tarefa, rede desligada, gravações em /tmp bloqueadas. Os prompts nunca mencionam a skill (exceto pelo texto indicado abaixo). Três tarefas, cada uma com o pedido 'escreva o corpo do PR para a mudança em change.diff, em PR.md' e tests_before.txt / tests_after.txt ao lado: uma mudança de cache (porta de mão dupla), uma migração que remove uma coluna (porta de mão única) e uma mudança de texto. O grupo de controle recebe apenas essa frase. O grupo com prompt de uma frase recebe uma frase extra que detalha o template inteiro. O grupo com a skill também não é informado do formato.

Comparação entre os braços

BraçoNota média (0-5)Tokens por execução
Sem a skill1.6782k
Prompt de uma frase4.9589k
Com a skill5.082k

Medido com Codex CLI em 18 execuções, com pontuação por verificações baseadas em regras e sem juiz LLM. Total 29.0 / 30, veredito Recomendado.

Veredito: Recomendado (29.0 / 30). Fonte: mattpocock/skills, skills/engineering/pr, fixada no commit 4ae2317. Instalação: npx skills@latest add mattpocock/skills --skill pr. Licença: MIT (LICENSE do repositório).

O que é

A skill pr (mattpocock/skills) transforma um diff em um corpo de pull request com um formato fixo de três partes: Resumo (o menor diagrama útil, pseudocódigo ou árvore de chamadas), Evidências (Antes: / Depois: com a saída dos testes) e Perigo na Mesclagem (Porta: de mão única ou de mão dupla, mais um Raio de Impacto: de uma palavra), escritos com as palavras do glossário do projeto. Um único SKILL.md curto.

Como testamos

Codex CLI 0.166 (gpt-6-astra, raciocínio baixo) em um PC Windows dedicado a testes, um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (tratamento) ou 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 desligada, gravações em /tmp bloqueadas. Os prompts nunca mencionam a skill (exceto pelo texto indicado abaixo).

Três tarefas, cada uma 'escreva o corpo do PR para change.diff em PR.md' com tests_before.txt / tests_after.txt ao lado: uma mudança de cache (porta de mão dupla), uma migração que remove uma coluna (porta de mão única) e uma mudança de copy. O controle recebe apenas essa frase. O grupo de uma frase recebe uma frase adicional que detalha o template inteiro. O grupo com a skill também não é informado do formato.

  1. Corpo de PR para um cache — Vou abrir um pull request. Escreva o corpo do PR para a mudança em change.diff em PR.md. A saída dos testes antes/depois está em tests_before.txt e tests_after.txt.
  2. Corpo de PR para remoção de coluna — Por favor, escreva meu pull request. Escreva o corpo do PR para a mudança em change.diff em PR.md. A saída dos testes antes/depois está em tests_before.txt e tests_after.txt.
  3. Corpo de PR para uma mudança de copy — Escreva uma descrição de PR. Escreva o corpo do PR para a mudança em change.diff em PR.md. A saída dos testes antes/depois está em tests_before.txt e tests_after.txt.

A pontuação é programática (testes ocultos / detecção de problemas plantados / verificações de restrições / renderização+OCR quando aplicável), 0–5 por execução. Nenhum juiz LLM decidiu qualquer pontuação.

Resultados

O prompt de uma frase dado ao terceiro grupo: "Escreva o corpo do PR em três seções curtas: Resumo (o menor diagrama útil, pseudocódigo ou árvore de chamadas, sem preâmbulo), Evidências (Antes: e Depois: com a saída dos testes) e Perigo na Mesclagem (Porta: de mão única ou de mão dupla, e um Raio de Impacto: de uma palavra); use as palavras do glossário."

TarefaPontuação do controleUma fraseCom a skillTokens do controleTokens de uma fraseTokens com a skillSkill lida
t1-cache1.675.05.082k83k79k2/2
t2-migration1.674.835.082k91k79k2/2
t3-copy1.675.05.081k91k87k2/2

Pontuação média: 1.67 sem a skill vs 5.0 com ela (delta +3.33). Tokens por execução: 82k vs 82k (1.00x); tempo 37s vs 34s. Grupo de uma frase: 4.95 (ganho da skill sobre o prompt de uma frase: +0.05; ganho do próprio prompt de uma frase sobre nenhuma skill: +3.28); tokens do prompt de uma frase: 89k por execução, então a skill custa 0.92x o prompt de uma frase.

O que aconteceu

  • Controle 1.67, uma frase 4.95, skill 5.00 (n=6 cada). O controle escreveu PRs em prosa claros e precisos, mas em nenhuma das 6 execuções usou as três seções, um diagrama ou bloco de pseudocódigo, os rótulos Antes/Depois, uma Porta ou um Raio de Impacto. É um formato que o modelo não consegue adivinhar, então qualquer grupo informado do formato pontua alto; o conjunto de verificações mede conformidade de formato, não qualidade de escrita.
  • A skill foi acionada sem ser nomeada (6/6 leituras) e o prompt de uma frase carrega a mesma informação: a diferença entre eles é de 0.05 pontos (uma execução perdeu uma regex de seção do template: a execução da migração no grupo de uma frase teve 2 de 3 seções encontradas). Tokens por execução: 82k controle, 89k uma frase, 82k skill: sem overhead.
  • O conteúdo de julgamento parece certo onde importa: na migração, a execução com a skill classificou a porta como de mão única e disse que reverter o código não traz de volta a coluna removida, e nomeou o raio de impacto; as tarefas de cache e de copy eram de mão dupla. O PR de migração do controle também avisava para aplicar 0041 primeiro, mas não dava porta nem raio, então um revisor não encontraria isso passando os olhos.
  • A skill é minúscula (algumas linhas), então carregá-la não custa nada; o valor dela é que ninguém precisa colar o template toda vez.

Pontuações por dimensão

DimensãoPontuaçãoPor quê
1_output_quality5.0

Pontuação média 5.00/5 com a skill (verificações programáticas, veja a tabela por tarefa).

2_lift_vs_no_skill5

+3.33 pontos vs 1.67 sem a skill (n=2 por tarefa; menos de ~1 ponto é ruído).

3_trigger5.0Arquivo da skill lido em 6/6 execuções com a skill.
4_instructions_portability4Um SKILL.md curto com um template, sem scripts.
5_efficiency51.00x tokens (82k vs 82k por execução) e 0.93x tempo (34s vs 37s).
6_safety_hygiene5Somente prosa; nenhum achado.

Limites deste teste

  • Apenas verificações de formato baseadas em regras (seções presentes, Antes/Depois, valor da Porta correto, Raio de Impacto, bloco de diagrama/pseudocódigo); não julgam se o diagrama é o 'menor útil' nem se a escrita é boa.
  • O grupo de controle está fadado a falhar nas verificações de formato por construção: o resultado mostra que a skill elimina a necessidade de repetir um formato interno, não que ela faz o modelo escrever PRs melhores.
  • Três fixtures pequenos; nenhum repositório real nem histórico do git.
  • 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 julga bom gosto nem se o resultado é o melhor possível.

Segurança

Veja security.md. Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Veredito: seguro para executar (sandbox sem rede). Um scan limpo não prova que uma skill é segura.

Conclusão

Se você quer este formato de PR, a skill o entrega de primeira e de graça (82k tokens, o mesmo que sem skill), e equivale a colar o template como prompt de uma frase. Instale para consistência no time; não espere uma prosa melhor.

Transcrição

Log de execuções: pr (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-cache control-1: nota 1.67, tokens 82698, s 35.7, verificações 4/9, nada aberto
t1-cache control-2: nota 1.67, tokens 82765, s 30.9, verificações 4/9, nada aberto
t1-cache oneliner-1: nota 5.0, tokens 83654, s 32.5, verificações 9/9, nada aberto
t1-cache oneliner-2: nota 5.0, tokens 84007, s 38.4, verificações 9/9, nada aberto
t1-cache treatment-1: nota 5.0, tokens 70378, s 33.8, verificações 9/9, abriu pr
t1-cache treatment-2: nota 5.0, tokens 88915, s 35.0, verificações 9/9, abriu pr
t2-migration control-1: nota 1.67, tokens 81748, s 33.8, verificações 4/9, nada aberto
t2-migration control-2: nota 1.67, tokens 82290, s 36.5, verificações 4/9, nada aberto
t2-migration oneliner-1: nota 5.0, tokens 100647, s 37.7, verificações 9/9, nada aberto

18 execuções, 3 artefatos

Resultado de exemplo

SOTA · With the skill: PR.md (t1-cache, run 1, Codex)

## Summary Cache free slots by Room and day to avoid repeated database queries. Creating a Reservation invalidates the matching cache entry. ```text free_slots(Room, day) cache hit → return cached free slots cache miss → query Reservations → compute and cache free slots create Reservation insert Reservation → invalidate cache for Room and day ``` ## Evidence - **Before:** `tests/test_availability.py::test_free_slots_not_queried_twice` failed: `db.query called 2 times, expected 1`. Suite: 1 failed, 14 passed in 0.9s. **After:** Supplied test output reports 15 passed in 0.8s. ## Merge Danger **Door:** two-way Reverting restores a database query on each availability request; no schema or stored-data changes. **Blast Radius:** availability Cached free slots affect Members checking Room availability. Invalidation covers Reservation creation in the current process; other mutation paths or processes can leave cached results stale. The cache has no size limit or expiry.

Ver o Pro