Todas as skills

prototype (mattpocock/skills)

Monta um protótipo descartável para responder a uma dúvida de design sobre lógica de estado ou direção de interface.

prototype do Matt Pocock: segue as próprias regras de variantes de UI (4.95 vs 3.71 do grupo de controle) com cerca do mesmo custo de quando não há skill

RecomendadoSeguro

Codex CLI · gpt-6-astra

27.2 / 30

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

Recomendado: o total 27.2/30 é pelo menos 22, a qualidade da saída 5.0 é pelo menos 3.5 e o ganho +1.23 é 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
3.2
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: 1 CRÍTICO / 1 ALTO / 0 MÉDIO. Revisão manual: seguro para executar em sandbox sem rede (achados do scanner explicados). Uma varredura limpa não prova que a skill é segura.

Instalar

npx skills@latest add mattpocock/skills --skill prototype

Fonte

Commit fixado: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

Testado: 2026-11-02

O que testamos

  • Prototipar um modelo de estados de assinatura — Não consigo dizer se nosso ciclo de vida de assinatura faz sentido quando pagamentos falham. Estados: trial, active, past_due, paused, canceled. Eventos: o trial termina, o pagamento é aprovado, o pagamento falha, o usuário pausa, o usuário retoma, o usuário cancela, o usuário reativa. Regras: duas falhas…
  • Prototipar variantes da página de preços — Em pricing.html deste pequeno site estático (três planos), não tenho certeza de como os planos devem ser apresentados. Faça algumas opções de design diferentes para essa seção que eu possa comparar no navegador; o conteúdo real de preços deve permanecer. Sem etapa de build.
  • Prototipar regras de empilhamento de descontos — O empilhamento de descontos parece certo? Regras até agora: o cupom SAVE10 dá 10% de desconto, o cupom HALF dá 50% de desconto, pedidos acima de $50 têm frete grátis, membros do programa de fidelidade ganham 5% extras de desconto. Não consigo decidir em que ordem elas se aplicam nem quais podem ser empilhadas. Quero testar casos e ver o que…

Prós

  • Eleva a nota média de 3.71 para 4.95 em relação ao grupo sem skill (+1.23).
  • 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.02x os tokens em relação ao grupo sem skill.
  • Qualidade absoluta alta com a skill: 4.95 de 5.

Contras

  • 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 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: modelar um ciclo de vida de assinatura com falhas de pagamento (questão de estado), comparar opções para uma seção de preços estática (questão visual; o conteúdo real dos planos deve permanecer) e permitir que o usuário teste regras de empilhamento de descontos antes de programar (questão de lógica; salvar em prototype/). As verificações de regras incluem HTML autocontido, cinco estados exibidos, botões por evento, cenários guiados, marcado como protótipo, nenhum arquivo de teste e, para a tarefa de preços, pelo menos três variantes, um parâmetro de URL ?variant= e um seletor flutuante fixo.

Comparação entre os braços

BraçoNota média (0-5)Tokens por execução
Sem a skill3.71133k
Prompt de uma frase4.7289k
Com a skill4.95136k

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

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

O que é

A skill prototype de mattpocock/skills: constrói um protótipo descartável que responde a uma pergunta de design. Perguntas de lógica ou estado ganham um único arquivo HTML com painel de estado, botões de exploração livre e walkthroughs guiados; perguntas de aparência ganham várias variantes radicalmente diferentes em uma mesma rota, alternadas por um parâmetro de URL e uma barra flutuante na parte de baixo. Regras: claramente marcado como descartável, trivial de rodar, sem persistência, sem acabamento, sem testes. SKILL.md mais LOGIC.md e UI.md, cerca de 2,600 palavras no total; somente Markdown.

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

Três tarefas: modelar um ciclo de vida de assinatura com falhas de pagamento (pergunta de estado), comparar opções para uma seção de preços estática (pergunta de aparência, o conteúdo real dos planos deve permanecer) e permitir que o usuário teste regras de empilhamento de descontos antes de programar (pergunta de lógica, salvar em prototype/). As verificações de regras incluem HTML autocontido, cinco estados exibidos, botões por evento, cenários guiados, marcado como protótipo, sem arquivos de teste e, para a tarefa de preços, pelo menos três variantes, um parâmetro de URL ?variant= e um seletor flutuante fixo.

  1. Prototipar um modelo de estado de assinatura — Não consigo dizer se nosso ciclo de vida de assinatura faz sentido quando pagamentos falham. Estados: trial, active, past_due, paused, canceled. Eventos: trial termina, pagamento dá certo, pagamento falha, usuário pausa, usuário retoma, usuário cancela, usuário reativa. Regras: duas falhas…
  2. Prototipar variantes de página de preços — Em pricing.html deste pequeno site estático (três planos), não tenho certeza de como os planos devem ser apresentados. Crie algumas opções de design diferentes para essa seção que eu possa comparar no navegador; o conteúdo real de preços deve permanecer. Sem etapa de build.
  3. Prototipar regras de empilhamento de descontos — O empilhamento de descontos parece certo? Regras até agora: o cupom SAVE10 dá 10% de desconto, o cupom HALF dá 50% de desconto, pedidos acima de $50 têm frete grátis, membros do programa de fidelidade ganham 5% extras. Não consigo decidir a ordem de aplicação nem quais podem acumular. Quero testar casos e observar o quê…

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: "Construa um protótipo descartável que responda a uma pergunta declarada: para perguntas de lógica ou estado, um único arquivo HTML autocontido com uma declaração visível da pergunta, um painel legível do estado atual re-renderizado após cada clique, um botão por ação e cenários guiados (caminho feliz, caso limite, um movimento ilegal); para perguntas de aparência, três variantes radicalmente diferentes em uma página, alternadas por um parâmetro de URL ?variant= e uma barra flutuante na parte de baixo. Sem testes, sem acabamento."

TarefaNota do controleUma fraseCom a skillTokens do controleTokens da fraseTokens com a skillSkill lida
t1-subscription-logic4.644.44.84155k51k134k2/2
t2-pricing-ui2.55.05.0125k153k133k2/2
t3-discount-stacking4.04.755.0119k62k139k2/2

Nota média: 3.71 sem vs 4.95 com a skill (delta +1.23). Tokens por execução: 133k vs 136k (1.02x); tempo 186s vs 149s. Grupo de uma frase: 4.72 (ganho da skill sobre a frase: +0.23; ganho da própria frase sobre sem skill: +1.01); tokens da frase: 89k por execução, então a skill custa 1.52x a frase.

O que aconteceu

  • Nota média 3.71 no controle, 4.72 na versão de uma frase, 4.95 com a skill. A skill fica +1.24 sobre o controle e +0.23 sobre a frase, com 136k tokens por execução contra 133k (1.02x) do controle e 89k da frase (1.5x).
  • A tarefa de aparência mostra o efeito: a skill produziu três variantes com um seletor flutuante inferior e variantes alternáveis por URL nas duas execuções (5.0 e 5.0 nas nossas verificações); o controle tirou 4.0 e 1.0: sem barra flutuante em nenhuma execução, três layouts com um seletor e um parâmetro de URL em uma execução e não na outra, e em uma execução faltava o preço de um plano na página.
  • Nas duas tarefas de lógica, o controle já construiu HTML interativo (4.4-4.8 no modelo de assinatura, 4.0 no empilhamento de descontos); a skill acrescenta os cenários de walkthrough e o rótulo de protótipo: cenários aparecem em 4 de 4 execuções com a skill contra 2 de 4 do controle.
  • A versão de uma frase foi igualmente bem na tarefa de preços; perdeu um pouco nas tarefas de lógica por não marcar sempre o arquivo como protótipo (2 de 4 execuções).

Notas por dimensão

DimensãoNotaPor quê
1_output_quality4.95

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

2_lift_vs_no_skill3.23

+1.23 pontos vs 3.71 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

Markdown simples; assume um executor de tarefas e git para a etapa opcional de 'captura'.

5_efficiency5

1.02x tokens (136k vs 133k por execução) e 0.80x tempo (149s vs 186s).

6_safety_hygiene5Somente Markdown; sem scripts.

Limitações deste teste

  • Verificações baseadas em regras de recursos (variantes, barra flutuante, cenários); a qualidade dos designs e se o protótipo responde à pergunta não foram julgadas por uma pessoa.
  • A pontuação foi corrigida duas vezes durante a análise: variantes podem ficar em arquivos CSS/JS separados, e uma troca de layout conta como variante; a primeira passagem subcontou isso, então os números anteriores não são usados.
  • O conselho da skill de commitar o protótipo em um branch descartável e deixar um ponteiro em uma issue não dá para testar em uma pasta de rascunho.
  • 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: 1 CRITICAL / 1 HIGH / 0 MEDIUM. Veredito: seguro para executar (sandbox sem rede). Uma varredura limpa não prova que a skill é segura.

Conclusão

A skill claramente faz o Codex construir o tipo de protótipo que ela descreve (variantes alternáveis por URL, barra flutuante, cenários guiados) onde um pedido simples não faz, sem custo extra de tokens. Um resumo de uma frase obtém a maior parte do mesmo comportamento, mas a skill acrescenta os detalhes do walkthrough de lógica e de rotulagem como protótipo.

Transcrição

Log de execuções: prototype (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-subscription-logic control-1: nota 4.84, tokens 138434, s 186.6, verificações 6/7, nada aberto
t1-subscription-logic control-2: nota 4.44, tokens 171950, s 379.3, verificações 6/7, nada aberto
t1-subscription-logic oneliner-1: nota 4.68, tokens 51299, s 95.1, verificações 6/7, nada aberto
t1-subscription-logic oneliner-2: nota 4.13, tokens 52046, s 163.3, verificações 5/7, nada aberto
t1-subscription-logic treatment-1: nota 4.68, tokens 144823, s 163.1, verificações 6/7, abriu prototype
t1-subscription-logic treatment-2: nota 5.0, tokens 124780, s 165.0, verificações 7/7, abriu prototype
t2-pricing-ui control-1: nota 4.0, tokens 169276, s 134.1, verificações 5/6, nada aberto
t2-pricing-ui control-2: nota 1.0, tokens 81988, s 97.9, verificações 2/6, nada aberto
t2-pricing-ui oneliner-1: nota 5.0, tokens 153260, s 107.2, verificações 6/6, nada aberto

18 execuções, 3 artefatos

Resultado de exemplo

SOTA · With the skill: prototype/index.html (t1-subscription-logic, run 1, Codex)

<!doctype html> <html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Subscription lifecycle prototype</title> <style> *{box-sizing:border-box}body{font:16px/1.5 system-ui,sans-serif;background:#f3f6f3;color:#243b31;margin:0}main{max-width:1080px;margin:auto;padding:32px 24px}h1{font-size:32px;letter-spacing:-1px;margin:8px 0}h2{font-size:19px;margin-top:0}.eyebrow{color:#49715f;letter-spacing:2px;font-size:12px;text-transform:uppercase}.panel{background:white;border:1px solid #d8e3db;border-radius:12px;padding:24px;margin:20px 0}.buttons,.tabs,.flow{display:flex;flex-wrap:wrap;gap:8px}button,select{font:inherit;color:#245940;background:white;border:1px solid #b6ccbe;border-radius:6px;padding:9px 12px}button{cursor:pointer}button:hover{background:#edf5ef}button:focus-visible,select:focus-visible{outline:3px solid #589c7b;outline-offset:2px}button:disabled{opacity:.45;cursor:default}.current,[aria-selected=true]{background:#206d50;color:white}.flow span{padding:6px 15px;border:1px solid #d8e3db;border-radius:25px}dl{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}dt,small,.muted{color:#5a7064}dt{font-size:12px}dd{margin:4px 0;font-weight:650}.notice{background:#eef6f0;border-left:3px solid #206d50;padding:12px}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.columns .panel{margin:0}.steps{display:grid;gap:8px}.steps button{text-align:left}.history{max-height:360px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:10px 6px;border-bottom:1px solid #e0e8e2;vertical-align:top}li{margin:10px 0}select{max-width:100%;margin-top:10px}summary{cursor:pointer;font-weight:600}@media(max-width:700px){.columns{grid-template-columns:1fr}dl{grid-template-columns:repeat(2,1fr)}main{padding:20px 16px}} </style><main> <div class="eyebrow">Throwaway prototype · No saved data</div><h1>When payments fail, what happens next?</h1><p>Do these five subscription states behave as intended? Try events, inspect the full state, and walk through payment failures, pauses, and reactivation before implementation.</p> <section class="panel"><label for="policy"><strong>Interpret “two failed payments in a row while past_due”</strong></label><br><select id="policy"><option value="3">Two more failures while already past due (3 total)</option><option value="2">Two consecutive failures total (including entry into past due)</option></select><p><small>Default: literal “while already past due” reading. Changing the interpretation resets the simulation.</small></p><div id="snapshot"></div><div class="notice" id="notice" role="status" aria-live="polite">New trial account. No charges attempted.</div></section> <section class="panel"><h2>Try any event</h2><div class="buttons" id="events"></div><p><small>Payment buttons represent new charge attempts and their outcomes, not delayed notifications. Invalid events stay clickable so you can see why they are blocked.</small></p><div class="buttons"><button id="day">Advance 1 day</button><button id="month">Advance 30 days</button><button id="reset">Reset to trial</button></div></section> <div class="columns"><section [... excerpt: first 3200 of 13238 characters]

Ver o Pro