Todas as skills

caveman (JuliusBrussee/caveman, SKILL.md only)

Responde em estilo de homem das cavernas, sem enrolação e mantendo todos os fatos técnicos.

caveman: com 'seja breve' já no prompt, a skill não economizou palavras e custou 2.2x os tokens

SituacionalSeguro

Codex CLI · gpt-6-astra

21.7 / 30

Ganho sobre sem skill: +0.00 · Situacional · 18 execuções

Situacional: o total 21.7/30 está abaixo de 22 e o ganho +0.00 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

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
2.0
Qualidade da saída
4.7
Custo de tokens e tempo
1.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; apenas o SKILL.md instalado). Uma varredura limpa não prova que a skill é segura.

Instalar

npx skills@latest add JuliusBrussee/caveman --skill caveman

Fonte

Commit fixado: 9b68f7ed12b05e7efaff18e65c5a3fc2849fd0a4

Testado: 2026-11-02

O que testamos

  • Explique um loop infinito de useEffect — Em um componente React eu tenho const fetchData = async () => { const r = await fetch('/api/items'); setItems(await r.json()); } e useEffect(() => { fetchData(); }, [fetchData]);. O componente busca os dados de novo em um loop sem fim. Por quê, e qual é a correção? Seja breve…
  • Corrigir uma consulta Postgres lenta — Postgres: SELECT id, total FROM orders WHERE customer_id = 42 ORDER BY created_at DESC LIMIT 20; leva segundos em uma tabela orders de 50M linhas que só tem um índice de chave primária. O que devo fazer? Seja breve; estou pagando por token.
  • Merge ou rebase em um branch compartilhado — Meu time trabalha em um branch de feature compartilhado que outras pessoas já puxaram. Quero trazer o main mais recente. Devo usar git merge ou git rebase, e por quê? Seja breve; estou pagando por token.

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.67 de 5.

Contras

  • Nenhum ganho mensurável em relação ao grupo sem skill (+0.00, dentro do ruído).
  • Usa 2.2x os tokens do grupo sem skill.
  • Ressalva do teste: só o SKILL.md foi instalado; os hooks e o instalador não. O prompt de teste contém um gatilho de 'seja breve'.
  • 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, 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 do 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). Cada prompt é uma pergunta técnica (um loop infinito de useEffect, uma consulta Postgres lenta, merge vs rebase em um branch compartilhado) terminando com 'Seja breve; estou pagando por token.' Essa frase é um dos gatilhos da própria skill, e o grupo de controle recebe a mesma frase. Ou seja, o teste pergunta o que a skill acrescenta além de um pedido simples para ser breve.

Comparação entre os braços

BraçoNota média (0-5)Tokens por execução
Sem a skill4.6714k
Prompt de uma frase4.514k
Com a skill4.6731k

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

Divulgação: Apenas o SKILL.md foi instalado; os hooks e o instalador não. O prompt de teste contém um gatilho 'seja breve'.

Veredito: Situacional (21.7 / 30). Fonte: JuliusBrussee/caveman, skills/caveman, fixada no commit 9b68f7e. Instalação: npx skills@latest add JuliusBrussee/caveman --skill caveman. Licença: MIT (LICENSE do repositório; os hooks e o instalador do repositório NÃO foram instalados nem executados).

O que é

A skill caveman (apenas skills/caveman/SKILL.md; os hooks e o instalador do repositório não foram instalados). Um estilo de resposta curto e direto: responda primeiro, elimine saudações e recapitulações, use palavras curtas, omita artigos mas nunca negações, mantenha código, caminhos, números e erros exatamente como estão, prosa clara para avisos e ações irreversíveis. Ela é acionada por 'caveman mode', 'be brief', 'less tokens'. Cerca de 600 palavras de 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).

Cada prompt é uma pergunta técnica (um loop infinito de useEffect, uma consulta Postgres lenta, merge vs rebase em um branch compartilhado) terminando em 'Be brief; I'm paying per token.' Essa frase é um dos próprios gatilhos da skill, e o grupo de controle recebe a mesma sentença. Assim, o teste pergunta o que a skill acrescenta a um pedido simples para ser breve.

  1. Explicar um loop infinito de useEffect — Em um componente React eu tenho const fetchData = async () => { const r = await fetch('/api/items'); setItems(await r.json()); } e useEffect(() => { fetchData(); }, [fetchData]);. O componente busca novamente em um loop sem fim. Por quê, e qual é a correção? Be brie…
  2. Corrigir uma consulta Postgres lenta — Postgres: SELECT id, total FROM orders WHERE customer_id = 42 ORDER BY created_at DESC LIMIT 20; leva segundos em uma tabela orders de 50M de linhas que só tem um índice de chave primária. O que devo fazer? Be brief; I'm paying per token.
  3. Merge ou rebase em um branch compartilhado — Meu time trabalha em um branch de feature compartilhado que outras pessoas já puxaram. Quero trazer o main mais recente. Devo usar git merge ou git rebase, e por quê? Be brief; I'm paying per token.

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: "Responda de forma telegráfica: responda primeiro, sem saudação, enrolação, hesitação ou recapitulação, corte artigos desnecessários, mantenha cada fato técnico, código, número e negação exatos."

TarefaNota do controleUma fraseCom a skillTokens do controleTokens da fraseTokens com a skillSkill lida
t1-react-loop4.754.54.514k14k30k2/2
t2-pg-index5.05.05.014k14k34k2/2
t3-merge-rebase4.254.04.514k14k30k2/2

Nota média: 4.67 sem vs 4.67 com a skill (delta +0.0). Tokens por execução: 14k vs 31k (2.20x); tempo 12s vs 19s. Grupo de uma frase: 4.5 (ganho da skill sobre a frase: +0.17; ganho da própria frase sobre sem skill: -0.17); tokens da frase: 14k por execução, então a skill custa 2.20x a frase.

O que aconteceu

  • Sem a skill, o agente já responde em cerca de 59 palavras (45-70) quando pedimos brevidade; com a skill, 52 palavras (39-64), e com a versão de uma frase, 54. A diferença de 7 palavras está dentro da variação entre execuções. Nenhum grupo usou aberturas ou fechamentos de enrolação; todas as 18 respostas mantiveram o código, os comandos e os fatos principais.
  • A retenção de fatos foi a mesma: 3-5 dos 5 fatos técnicos exigidos por resposta em todos os grupos (proporção de fatos exigidos mantidos: 87% controle, 80% frase, 87% skill). O fato que os agentes mais omitiram (que uma atualização de estado re-renderiza o componente e executa o efeito de novo) foi omitido igualmente pelos três grupos. O ponto 'não faça rebase de um branch compartilhado' foi identificado pela nossa verificação em 1 de 2 respostas do controle, 0 de 2 da frase e 1 de 2 da skill; nas respostas que lemos, todas recomendavam merge e reservavam o rebase para trabalho privado ou não publicado, então essas falhas são em parte de redação.
  • A skill foi lida em 6/6 execuções porque o prompt contém a frase-gatilho. Custa 31k tokens por execução contra 14k (2.2x), porque o agente carrega a skill e roda dois comandos para lê-la antes de responder a uma pergunta que poderia responder direto. A frase única custa o mesmo que o controle.
  • Lendo as respostas, os estilos são iguais: resposta primeiro, fragmentos, um bloco de código curto. Não conseguimos distinguir as respostas com a skill das do controle.

Notas por dimensão

DimensãoNotaPor quê
1_output_quality4.67

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

2_lift_vs_no_skill2.0

+0.00 pontos vs 4.67 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_portability4

Regras em Markdown simples; algumas se referem a hooks e a uma statusline (/caveman status) que só existem quando os hooks do repositório estão instalados.

5_efficiency12.20x tokens (31k vs 14k por execução) e 1.53x tempo (19s vs 12s).
6_safety_hygiene5

Um único SKILL.md de regras de estilo (lido por completo); os hooks/instalador do repositório não foram instalados nem revisados.

Limitações deste teste

  • O teste mede a skill partindo de um pedido explícito de brevidade. O uso real da skill é persistente: ela fica ativa a sessão inteira, então você nunca precisa repetir o pedido, algo que este teste de três perguntas não exercita.
  • O custo em tokens contado aqui é o carregamento único da skill por conversa; ao longo de uma sessão longa, com algumas palavras economizadas por resposta, ela poderia se pagar; não medimos isso.
  • Só foram verificadas respostas de chat a três perguntas técnicas; mensagens de commit, comentários de revisão de código e sessões longas de agente (onde a skill tem outras regras) não foram testados.
  • Os hooks, a statusline e as outras skills caveman do repositório não foram instalados nem executados.
  • 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

Partindo de um pedido simples de brevidade, a caveman não deixou as respostas mais curtas ou menos precisas de forma mensurável, e carregá-la dobrou os tokens de uma resposta curta. Se você quer seu agente curto e direto a sessão inteira sem pedir toda vez, a skill faz isso; se você só precisa de brevidade em uma pergunta, diga isso no prompt.

Transcrição

Log de execuções: caveman (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-react-loop control-1: nota 5.0, tokens 14312, s 16.3, verificações 3/3, nada aberto
t1-react-loop control-2: nota 4.5, tokens 14318, s 10.7, verificações 3/3, nada aberto
t1-react-loop oneliner-1: nota 4.5, tokens 14348, s 16.9, verificações 3/3, nada aberto
t1-react-loop oneliner-2: nota 4.5, tokens 14341, s 8.7, verificações 3/3, nada aberto
t1-react-loop treatment-1: nota 4.5, tokens 30174, s 21.5, verificações 3/3, abriu caveman
t1-react-loop treatment-2: nota 4.5, tokens 30067, s 26.2, verificações 3/3, abriu caveman
t2-pg-index control-1: nota 5.0, tokens 14285, s 10.0, verificações 3/3, nada aberto
t2-pg-index control-2: nota 5.0, tokens 14301, s 10.5, verificações 3/3, nada aberto
t2-pg-index oneliner-1: nota 5.0, tokens 14362, s 12.3, verificações 3/3, nada aberto

18 execuções, 3 artefatos

Resultado de exemplo

SOTA · With the skill: final message (t1-react-loop, run 1, Codex)

`fetchData` is a new function every render. The effect runs, `setItems` triggers another render, and the cycle repeats. Move the function inside the effect: ```jsx useEffect(() => { async function fetchData() { const r = await fetch('/api/items'); setItems(await r.json()); } fetchData(); }, []); ``` If needed elsewhere, stabilize `fetchData` with `useCallback` and its actual dependencies.

Ver o Pro