writing-for-agents (mattpocock/skills)
Escreve e edita skills e documentos AGENTS.md ou CLAUDE.md que os agentes conseguem seguir com segurança.
writing-for-agents: o ganho mais claro é enxugar um AGENTS.md sem perder regras (5.0 vs 4.3), mas ao escrever novas skills marca como o grupo de controle; um prompt de uma frase marca 4.6 contra 4.5 da skill
Codex CLI · gpt-6-astra
24.9 / 30
Ganho sobre sem skill: +0.35 · Situacional · 18 execuções
Situacional: o ganho +0.35 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.4
- Qualidade da saída
- 4.5
- Custo de tokens e tempo
- 4.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 writing-for-agents
Commit fixado: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d
Testado: 2026-11-02
O que testamos
- Escrever uma skill de mensagem de commit — Escreva uma skill (um SKILL.md) em skills/commit-writer/SKILL.md que faça nossos agentes de código escreverem mensagens de commit seguindo estas regras: o assunto no imperativo, com menos de 50 caracteres e sem ponto final; depois uma linha em branco e um corpo quebrado em 72 caracteres…
- Enxugar um AGENTS.md — O AGENTS.md cresceu a ponto de ninguém mais ler. Reescreva-o no próprio arquivo para ficar o mais curto possível sem perder nada de que um agente realmente precise.
- Escrever uma skill de triagem de bugs — Escreva uma skill (um SKILL.md) em skills/bug-triage/SKILL.md que faça os agentes classificarem relatos de bug recebidos como S1 (perda de dados ou indisponibilidade), S2 (um recurso importante quebrado, mas com contorno) ou S3 (menor ou cosmético), e pedir primeiro os passos de reprodução que faltam…
Prós
- A skill foi acionada sem ser nomeada: o arquivo da skill foi lido em 6/6 execuções de tratamento.
- Qualidade absoluta alta com a skill: 4.52 de 5.
Contras
- Um prompt de uma frase marcou 4.63, contra 4.52 com a skill (-0.11).
- 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) ou ausente (grupo de controle) ou ausente com o requisito central da skill comprimido em uma frase anexada ao prompt (grupo 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). As mesmas três tarefas de writing-skills: escrever uma skill de mensagem de commit a partir de quatro regras, enxugar um AGENTS.md inchado sem perder o essencial (5 regras reais enterradas entre enchimento, duplicatas e um ponteiro obsoleto), e escrever uma skill de triagem de bugs. O controle recebe apenas a tarefa. O prompt de uma frase dá as principais regras da skill em uma frase. Os arquivos SKILL.md gerados são pontuados com a mesma checklist de 7 pontos de writing-skills, que espera uma descrição no estilo 'Use when ...'; o conselho da própria skill é 'trigger first', não essa redação literal.
Comparação entre os braços
| Braço | Nota média (0-5) | Tokens por execução |
|---|---|---|
| Sem a skill | 4.17 | 70k |
| Prompt de uma frase | 4.63 | 76k |
| Com a skill | 4.52 | 88k |
Medido com Codex CLI em 18 execuções, com pontuação por verificações baseadas em regras e sem juiz LLM. Total 24.9 / 30, veredito Situacional.
Veredito: Situacional (24.9 / 30). Fonte: mattpocock/skills, skills/productivity/writing-for-agents, fixado no commit 4ae2317. Instalação: npx skills@latest add mattpocock/skills --skill writing-for-agents. Licença: MIT (LICENSE do repositório).
O que é
A skill writing-for-agents (mattpocock/skills): orientação para escrever instruções que agentes leem: colocar o gatilho primeiro em uma descrição com um gatilho por ramo distinto, manter cada significado em uma única fonte de verdade, apagar instruções sem efeito que o modelo já segue e linhas que repetem o ambiente (scripts, config), terminar cada etapa em um critério de conclusão verificável e manter os arquivos curtos.
Como testamos
Codex CLI 0.166 (gpt-6-astra, raciocínio baixo) em um PC de testes Windows dedicado, com um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (com a skill), ausente (controle) ou ausente com o requisito central da skill comprimido em uma frase anexada ao prompt (grupo do prompt de uma frase), 2 execuções por grupo por tarefa, rede desativada, gravações em /tmp bloqueadas. Os prompts nunca mencionam a skill (exceto pelo texto indicado abaixo).
As mesmas três tarefas de writing-skills: escrever uma skill de mensagem de commit a partir de quatro regras, enxugar um AGENTS.md inchado sem perder o essencial (5 regras reais enterradas entre enchimento, duplicatas e um ponteiro desatualizado) e escrever uma skill de triagem de bugs. O controle recebe apenas a tarefa. O prompt de uma frase traz as principais regras da skill em uma frase. Os SKILL.md gerados são pontuados com a mesma checklist de 7 pontos de writing-skills, que espera uma descrição no estilo 'Use when ...'; o conselho da própria skill é 'gatilho primeiro', não essa redação literal.
- Escrever uma skill de mensagem de commit — Escreva uma skill (um SKILL.md) em skills/commit-writer/SKILL.md que faça nossos agentes de código escreverem mensagens de commit seguindo estas regras: o assunto é no imperativo, com menos de 50 caracteres, sem ponto final; depois uma linha em branco e um corpo quebrado em 72 caracteres…
- Enxugar um AGENTS.md — O AGENTS.md cresceu a ponto de ninguém ler. Reescreva-o no lugar para que fique o mais curto possível sem perder nada de que um agente realmente precise.
- Escrever uma skill de triagem de bugs — Escreva uma skill (um SKILL.md) em skills/bug-triage/SKILL.md que faça os agentes classificarem relatórios de bug recebidos como S1 (perda de dados ou indisponibilidade), S2 (um recurso importante quebrado, mas com contorno) ou S3 (menor ou cosmético), e pedir os passos de reprodução ausentes de fo…
A pontuação é programática (testes ocultos / recuperação de problemas plantados / verificações de restrições / renderização+OCR quando relevante), 0–5 por execução. Nenhum juiz LLM decidiu qualquer pontuação.
Resultados
A frase única dada ao terceiro grupo: "Escreva para agentes: coloque o gatilho primeiro na descrição, com um gatilho por ramo distinto, mantenha cada significado em uma única fonte de verdade, apague instruções sem efeito que o modelo já segue e linhas que apenas repetem o ambiente (scripts, config), termine cada etapa em um critério de conclusão verificável e mantenha o arquivo curto."
| Tarefa | Pontuação do controle | Prompt de uma frase | Com a skill | Tokens do controle | Tokens do prompt de uma frase | Tokens com a skill | Skill lida |
|---|---|---|---|---|---|---|---|
| t1-commit-skill | 4.06 | 4.59 | 4.38 | 65k | 55k | 84k | 2/2 |
| t2-trim-agents | 4.29 | 4.71 | 5.0 | 67k | 95k | 96k | 2/2 |
| t3-triage-skill | 4.18 | 4.59 | 4.18 | 75k | 75k | 84k | 2/2 |
Pontuação média: 4.17 sem a skill vs 4.52 com a skill (delta +0.35). Tokens por execução: 70k vs 88k (1.27x); tempo 39s vs 37s. Grupo prompt de uma frase: 4.63 (ganho da skill sobre o prompt de uma frase: -0.11; ganho do próprio prompt de uma frase sobre nenhuma skill: +0.46); tokens do prompt de uma frase: 76k por execução, então a skill custa 1.17x o prompt de uma frase.
O que aconteceu
- Médias: skill 4.52, prompt de uma frase 4.63, controle 4.17 (n=6 cada). O ganho claro é a tarefa do AGENTS.md: skill 5.00 nas duas execuções (todas as 5 regras essenciais mantidas, enchimento removido, ponteiro desatualizado corrigido, duplicatas consolidadas), contra 4.29 do controle e 4.71 do prompt de uma frase. As duas execuções do prompt de uma frase apagaram a regra "migrações são somente append" ao enxugar; as execuções com a skill a mantiveram.
- Nas duas tarefas de escrita de skill, a skill não sai melhor que o controle (4.18-4.59 vs 4.06-4.18): nas 4 execuções com a skill nessas tarefas, a descrição era um resumo do fluxo ou não dizia quando usar a skill ("Triagem de relatórios de bug recebidos solicitando passos de reprodução ausentes e classificando a severidade...", idêntica ao controle), então a checklist de 7 pontos deu 5/7 ou 6/7, como no controle. As execuções do prompt de uma frase escreveram descrições no estilo gatilho ("Quando um relatório de bug recebido não tiver passos de reprodução, peça-os primeiro...").
- O controle omitiu a regra "corpo quebrado em 72, explique por quê" nas duas execuções da skill de commit (3/4 regras); a skill e o prompt de uma frase mantiveram as quatro.
- Custo: 88k tokens por execução com a skill, contra 70k do controle e 76k do prompt de uma frase (1.26x, 1.16x). As execuções com a skill copiam 4 arquivos por execução para o projeto.
- Uma verificação que conta scripts de package.json repetidos no AGENTS.md falha apenas nas 2 execuções de controle aqui (3 correspondências), consistente com a regra da skill de "não repetir o ambiente".
Pontuações por dimensão
| Dimensão | Pontuação | Por quê |
|---|---|---|
| 1_output_quality | 4.52 | Pontuação média de 4.52/5 com a skill (verificações programáticas, veja a tabela por tarefa). |
| 2_lift_vs_no_skill | 2.35 | +0.35 pontos vs 4.17 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 | Um SKILL.md curto; sem scripts. |
| 5_efficiency | 4 | 1.27x tokens (88k vs 70k por execução) e 0.94x tempo (37s vs 39s). |
| 6_safety_hygiene | 5 | Apenas texto; nenhum achado. |
Limites deste teste
- Verificações baseadas em regras, em parte emprestadas do teste writing-skills: a checklist de 7 pontos da skill recompensa a redação "Use when" que esta skill não exige, o que a subestima nas duas tarefas de escrita de skill.
- Ninguém testou se as skills escritas ou o AGENTS.md enxugado realmente mudam o comportamento de um agente.
- n=2 por célula.
- n = 2 por grupo por tarefa: diferenças abaixo de ~1 ponto são ruído.
- A pontuação baseada em regras mede o que as verificações conseguem ver; ela não julga bom gosto nem se o resultado é o melhor possível.
Segurança
Consulte security.md. Varredura: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Veredito: seguro para executar (sandbox sem rede). Uma varredura limpa não prova que uma skill é segura.
Conclusão
Vale a pena para compactar um arquivo de instruções (manteve todas as regras reais que um prompt de uma frase deixou cair); fora isso, não é melhor que o modelo base para escrever novas skills, com 1.26x tokens.
Transcrição
Log de execuções: writing-for-agents (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-commit-skill control-1: nota 4.06, tokens 55944, s 45.4, verificações 1/2, nada aberto t1-commit-skill control-2: nota 4.06, tokens 75771, s 39.9, verificações 1/2, nada aberto t1-commit-skill oneliner-1: nota 4.59, tokens 55800, s 30.0, verificações 2/2, nada aberto t1-commit-skill oneliner-2: nota 4.59, tokens 55891, s 31.8, verificações 2/2, nada aberto t1-commit-skill treatment-1: nota 4.18, tokens 84379, s 38.2, verificações 1/2, abriu writing-for-agents t1-commit-skill treatment-2: nota 4.59, tokens 84910, s 43.3, verificações 2/2, abriu writing-for-agents t2-trim-agents control-1: nota 3.93, tokens 67718, s 37.8, verificações 5/7, nada aberto t2-trim-agents control-2: nota 4.64, tokens 68132, s 36.7, verificações 6/7, nada aberto t2-trim-agents oneliner-1: nota 4.71, tokens 86525, s 36.9, verificações 6/7, nada aberto
18 execuções, 3 artefatos
Resultado de exemplo
SOTA · With the skill: skills/commit-writer/SKILL.md (t1-commit-skill, run 1, Codex)
--- name: commit-writer description: Write or revise commit messages using the team's subject, rationale, and ticket-reference conventions. --- # Commit writer Base the message on the changes and their purpose in the available task context. Apply every rule below before returning the message: - Write an imperative subject (for example, "Fix" rather than "Fixed") under 50 characters, including spaces, with no trailing period. - Follow the subject with a blank line and a required body. Explain why the change is needed and its intended benefit, rather than listing what changed. Hard-wrap body lines at 72 characters or fewer. - End the message with the relevant ticket ID, such as `PROJ-123`, on its own line, separated from the body by a blank line. Use the actual ID from the task or branch context; if it is missing or ambiguous, ask for it rather than inventing one. - Keep the message focused on the change's rationale. Never mention AI tools, including in attribution or co-author trailers. Return the commit message as plain text when asked for a message.