Todas as skills

setup-pre-commit (mattpocock/skills)

Configura hooks de pré-commit do Husky com lint-staged, Prettier, checagem de tipos e testes no repositório.

setup-pre-commit: para um pedido vago de 'adicionar hooks de commit', o Codex puro monta uma configuração diferente (hook nativo do git), chegando a chamar npm em um repositório pnpm (visto em uma execução); a skill e um prompt de uma frase entregam a configuração Husky + lint-staged (5.0 vs 1.4)

RecomendadoSeguro

Codex CLI · gpt-6-astra

29.0 / 30

Ganho sobre sem skill: +3.59 · 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.59 é 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 setup-pre-commit

Fonte

Commit fixado: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

Testado: 2026-11-02

O que testamos

  • Projeto npm com scripts de typecheck e test — Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva você mesmo os arquivos e as mudanças no package.json em vez de instalar).
  • Projeto pnpm sem script de typecheck — Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva você mesmo os arquivos e as mudanças no package.json em vez de instalar).
  • Configuração existente do Prettier deve sobreviver — Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva você mesmo os arquivos e as mudanças no package.json em vez de instalar).

Prós

  • Eleva a nota média de 1.41 para 5.0 em relação ao grupo sem skill (+3.59).
  • 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: 0.99x 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 5.0, contra 5.0 com a skill (+0.00).
  • Ressalva do teste: uma verificação foi corrigida depois da primeira pontuação (um arquivo não tocado deve passar), e todas as execuções foram pontuadas novamente.
  • 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 repositórios pequenos, todos com o mesmo prompt 'Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva você mesmo os arquivos e as mudanças no package.json em vez de instalar)': um repositório npm com scripts de typecheck e test, um repositório pnpm (pnpm-lock.yaml) sem script de typecheck e um repositório npm que já tem um .prettierrc. Prompt de uma frase = a receita da skill em uma frase.

Comparação entre os braços

BraçoNota média (0-5)Tokens por execução
Sem a skill1.4182k
Prompt de uma frase5.075k
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.

Divulgação: Uma verificação foi corrigida depois da primeira pontuação (um arquivo intocado precisa passar), e todas as execuções foram reavaliadas.

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

O que é

A skill setup-pre-commit (mattpocock/skills): configura hooks de pre-commit do Husky v9 com lint-staged e Prettier: detecta o gerenciador de pacotes pelo lockfile, escreve .husky/pre-commit (sem shebang) que roda o lint-staged e depois os scripts de typecheck e test do repositório por meio desse gerenciador (pulando e informando scripts que não existem), adiciona um .lintstagedrc com prettier --ignore-unknown --write, adiciona prepare: husky e cria .prettierrc apenas quando não existe nenhum.

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 (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).

Três repositórios pequenos, todos com o mesmo prompt 'Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva os arquivos e as mudanças no package.json você mesmo em vez de instalar)': um repositório npm com scripts de typecheck e test, um repositório pnpm (pnpm-lock.yaml) sem script de typecheck e um repositório npm que já tem um .prettierrc. Frase única = a receita da skill em uma frase.

  1. Projeto npm com scripts de typecheck e test — Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva os arquivos e as mudanças no package.json você mesmo em vez de instalar).
  2. Projeto pnpm sem script de typecheck — Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva os arquivos e as mudanças no package.json você mesmo em vez de instalar).
  3. Configuração existente do Prettier deve sobreviver — Adicione hooks de commit. Configure hooks de pre-commit para este repositório (não há rede disponível, então escreva os arquivos e as mudanças no package.json você mesmo em vez de instalar).

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: "Configure o Husky v9 com lint-staged: detecte o gerenciador de pacotes pelo lockfile, escreva .husky/pre-commit (sem shebang) rodando npx lint-staged e depois os scripts de typecheck e test do repositório por meio desse gerenciador (omita e me avise sobre qualquer script que não exista), um .lintstagedrc com prettier --ignore-unknown --write, um script prepare: husky, e crie .prettierrc só se não existir nenhum."

TarefaNota do controleUma fraseCom a skillTokens do controleTokens da fraseTokens com a skillSkill lida
t1-npm0.05.05.076k75k78k2/2
t2-pnpm0.05.05.0103k66k87k2/2
t3-existing-prettier4.235.05.066k83k78k2/2

Nota média: 1.41 sem vs 5.0 com a skill (delta +3.59). Tokens por execução: 82k vs 82k (0.99x); tempo 58s vs 43s. Grupo de uma frase: 5.0 (ganho da skill sobre a frase: +0.0; ganho da própria frase sobre sem skill: +3.59); tokens da frase: 75k por execução, então a skill custa 1.09x a frase.

O que aconteceu

  • Controle 1.41, frase 5.00, skill 5.00 (n=6 cada). Sem uma ferramenta nomeada, o controle escolheu o próprio design: nos repositórios npm e pnpm (4 execuções), escreveu uma pasta de hook nativo do git (.githooks/pre-commit mais um README e um script prepare) sem Husky, sem lint-staged e sem Prettier, e no repositório pnpm o hook roda npm test (verificado na execução 1) embora o repositório use pnpm. Só o repositório com .prettierrc existente recebeu Husky (2 execuções).
  • As execuções com a skill e com a frase estão todas corretas nos detalhes: o repositório pnpm usou pnpm exec lint-staged e pnpm run test, omitiu o typecheck ausente e avisou disso, o .prettierrc existente não foi reescrito, prepare: husky e as três devDependencies foram adicionados. A skill faz diferença pela opinião (Husky + lint-staged + Prettier), não por engenharia difícil.
  • Sem custo: 82k tokens por execução com a skill, 82k no controle, 75k na frase. A skill foi lida em 6/6 execuções com a skill sem ser nomeada.
  • O agente não pôde instalar nem executar nada offline, então nenhum dos hooks gerados foi executado; os dois grupos disseram que os hooks ficam inativos até npm install.

Notas por dimensão

DimensãoNotaPor quê
1_output_quality5.0

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

2_lift_vs_no_skill5

+3.59 pontos vs 1.41 sem a skill (n=2 por tarefa; abaixo 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, sem scripts.
5_efficiency50.99x tokens (82k vs 82k por execução) e 0.73x tempo (43s vs 58s).
6_safety_hygiene5

Somente prosa; manda o agente editar o package.json e adicionar hooks, que rodam a cada commit.

Limitações deste teste

  • Verificações baseadas em regras nos arquivos escritos; os hooks nunca foram executados (sem rede, Husky não instalado).
  • A solução de hook nativo do controle é um design válido; as verificações medem se a receita Husky/lint-staged pedida foi produzida, o que o controle não tinha como saber.
  • Uma verificação (manter o .prettierrc existente) inicialmente falhou em todas as execuções porque arquivos inalterados não são copiados para fora; ela foi alterada para passar quando o arquivo está intocado e todas as 18 execuções foram reavaliadas sob a mesma regra.
  • 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

Se você quer a configuração Husky + lint-staged + Prettier, a skill acerta nas três formas de repositório (detecção de pnpm, typecheck ausente, configuração do Prettier existente) sem tokens extras; uma receita de uma frase faz o mesmo. Instale para não precisar reexplicar a receita, e não espere ganho de qualidade além disso.

Transcrição

Log de execuções: setup-pre-commit (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-npm control-1: nota 0.0, tokens 84825, s 49.0, verificações 0/7, nada aberto
t1-npm control-2: nota 0.0, tokens 67687, s 62.1, verificações 0/7, nada aberto
t1-npm oneliner-1: nota 5.0, tokens 66754, s 38.4, verificações 7/7, nada aberto
t1-npm oneliner-2: nota 5.0, tokens 83997, s 38.6, verificações 7/7, nada aberto
t1-npm treatment-1: nota 5.0, tokens 69607, s 37.3, verificações 7/7, abriu setup-pre-commit
t1-npm treatment-2: nota 5.0, tokens 87911, s 42.1, verificações 7/7, abriu setup-pre-commit
t2-pnpm control-1: nota 0.0, tokens 102203, s 77.9, verificações 0/8, nada aberto
t2-pnpm control-2: nota 0.0, tokens 104460, s 67.1, verificações 0/8, nada aberto
t2-pnpm oneliner-1: nota 5.0, tokens 66597, s 34.4, verificações 8/8, nada aberto

18 execuções, 3 artefatos

Resultado de exemplo

SOTA · With the skill: package.json (t1-npm, run 1, Codex)

{ "name": "app", "version": "1.0.0", "private": true, "scripts": { "prepare": "husky", "test": "vitest run", "typecheck": "tsc --noEmit" }, "devDependencies": { "husky": "^9.1.7", "lint-staged": "^15.5.2", "prettier": "^3.5.3", "typescript": "^5.4.0" } }

Ver o Pro