algorithmic-art (Anthropic)
Cria arte generativa original em p5.js com sementes aleatórias e exploração interativa de parâmetros.
algorithmic-art: todos os braços passam nas verificações de regras (4.5 / 4.8 / 5.0), mas só a skill e um prompt de uma frase escrevem um documento de filosofia de verdade; a skill custa 2x os tokens
Codex CLI · gpt-6-astra
22.5 / 30
Ganho sobre sem skill: +0.48 · Situacional · 18 execuções
Situacional: o ganho +0.48 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.5
- Qualidade da saída
- 5.0
- Custo de tokens e tempo
- 2.0
- Instalação e portabilidade
- 4.0
- Segurança
- 4.0
Revisão de segurança
SeguroVarredura estática: 0 CRÍTICO / 0 ALTO / 0 MÉDIO. Revisão manual: seguro para instalar. Uma varredura limpa não prova que a skill é segura.
Instalar
npx skills@latest add anthropics/skills --skill algorithmic-art
Commit fixado: ca45fc496a3436251f191354091d557da31c15b5
Testado: 2026-11-02
O que testamos
- Arte de campo de fluxo — Crie arte generativa com p5.js: um campo de fluxo com milhares de partículas. Deixe-a explorável (com seed e ajustável). Entregue como arquivos na pasta atual.
- Arte com sistema de partículas — Faça uma peça de arte algorítmica com p5.js: partículas orbitando vários atratores e deixando rastros. Com seed e interativa. Arquivos na pasta atual.
- Briefing aberto — Crie uma peça original de arte algorítmica inspirada em piscinas de maré, usando p5.js, com aleatoriedade com seed e controles de parâmetros. Arquivos na pasta atual.
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: 5.0 de 5.
Contras
- Usa 1.99x os tokens do grupo sem skill.
- Ressalva do teste: a biblioteca p5 é carregada de um CDN, inacessível no sandbox com a rede desligada, então as páginas geradas foram verificadas por regras e não renderizadas.
- 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 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). Três tarefas: um campo de fluxo com milhares de partículas, uma peça de órbitas/harmônicos e um briefing aberto de 'piscinas de maré', todas pedindo p5.js e saída com seed, ajustável, entregue em arquivos. O grupo com a skill usa o mesmo prompt do grupo de controle (a skill é detectada pela correspondência da descrição). O grupo prompt de uma frase acrescenta uma frase: escreva primeiro uma filosofia algorítmica curta e depois o código, majoritariamente generativo, com seed e controles de parâmetros em um visualizador HTML.
Comparação entre os braços
| Braço | Nota média (0-5) | Tokens por execução |
|---|---|---|
| Sem a skill | 4.52 | 115k |
| Prompt de uma frase | 4.76 | 145k |
| Com a skill | 5.0 | 229k |
Medido com Codex CLI em 18 execuções, com pontuação por verificações baseadas em regras e sem juiz LLM. Total 22.5 / 30, veredito Situacional.
Divulgação: A biblioteca p5 é carregada de um CDN, que o sandbox sem rede não consegue acessar, então as páginas geradas foram verificadas por regras e não renderizadas.
Veredito: Situacional (22.5 / 30). Fonte: anthropics/skills, skills/algorithmic-art, fixado no commit ca45fc4. Instalação: npx skills@latest add anthropics/skills --skill algorithmic-art. Licença: Apache-2.0 / termos da Anthropic (consulte LICENSE.txt na skill).
O que é
A skill algorithmic-art do anthropics/skills: um procedimento em duas etapas para arte generativa com p5.js: primeiro escrever uma "filosofia algorítmica" (um movimento estético nomeado, 4-6 parágrafos) e depois expressá-la como código p5.js com seed em um visualizador HTML interativo criado a partir do viewer.html e do generator_template.js da skill. Licença em LICENSE.txt (estilo Apache para esta skill).
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).
Três tarefas: um campo de fluxo com milhares de partículas, uma peça de órbitas/harmônicos e um briefing aberto de "poças de maré", todas pedindo p5.js, saída com seed e ajustável em arquivos. O grupo com a skill usa o mesmo prompt do controle (a skill é adotada por correspondência de descrição). O grupo do prompt de uma frase acrescenta uma frase: escrever primeiro uma filosofia algorítmica curta e depois um código majoritariamente generativo, com seed e controles de parâmetros em um visualizador HTML.
- Arte de campo de fluxo — Crie arte generativa com p5.js: um campo de fluxo com milhares de partículas. Torne-a explorável (com seed e ajustável). Entregue-a como arquivos na pasta atual.
- Arte de sistema de partículas — Faça uma peça de arte algorítmica com p5.js: partículas orbitando vários atratores e deixando rastros. Com seed e interativa. Arquivos na pasta atual.
- Briefing aberto — Crie uma peça original de arte algorítmica inspirada em poças de maré, usando p5.js, com aleatoriedade com seed e controles de parâmetros. Arquivos na pasta atual.
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: "Primeiro escreva uma filosofia algorítmica curta (um movimento estético nomeado) e depois a expresse como código p5.js majoritariamente de algoritmo generativo, que use um gerador aleatório com seed para que a mesma seed reproduza a peça e exponha controles de parâmetros em um visualizador HTML interativo."
| 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-flow | 5.0 | 5.0 | 5.0 | 140k | 159k | 234k | 2/2 |
| t2-orbits | 4.29 | 4.29 | 5.0 | 80k | 126k | 248k | 2/2 |
| t3-original | 4.29 | 5.0 | 5.0 | 124k | 148k | 203k | 2/2 |
Pontuação média: 4.52 sem a skill vs 5.0 com a skill (delta +0.48). Tokens por execução: 115k vs 229k (1.99x); tempo 181s vs 165s. Grupo prompt de uma frase: 4.76 (ganho da skill sobre o prompt de uma frase: +0.24; ganho do próprio prompt de uma frase sobre nenhuma skill: +0.24); tokens do prompt de uma frase: 145k por execução, então a skill custa 1.58x o prompt de uma frase.
O que aconteceu
- O controle já constrói o básico: um HTML de visualizador, um esboço com seed e sliders em 6/6 execuções. A diferença de pontuação está quase toda na verificação da filosofia: o controle escreveu apenas um README (126-226 palavras) e ficou abaixo do limite de 150 palavras em 2 execuções, e nenhuma das 6 execuções de controle produziu um arquivo de filosofia separado. Média de 4.52 no controle, 4.76 no prompt de uma frase e 5.00 com a skill.
- A skill torna a etapa da filosofia confiável: 6/6 execuções com a skill escreveram um philosophy.md (410-520 palavras), e o grupo do prompt de uma frase também escreveu um em 6/6 (290-460 palavras). A única falha de seed em 18 execuções foi uma execução do prompt de uma frase (t2-orbits) que não usou randomSeed/noiseSeed.
- A skill acrescenta saídas que não foram pedidas: código de exportação/salvamento (5, 8 e 3 referências a download/saveCanvas nos visualizadores com a skill, contra 1 no controle), arquivos extras (8.3 arquivos por execução, contra 4 no controle) e, em 2 execuções, scripts auxiliares (build_art.py, verify.cjs) que montam o template.
- Custo: 229k tokens por execução com a skill, contra 115k no controle e 145k no prompt de uma frase, cerca de 2.0x e 1.6x. O grupo com a skill leu a skill em 6/6 execuções sem que isso fosse pedido.
- Todos os grupos, exceto uma execução do prompt de uma frase, carregam p5.js de uma CDN, então no sandbox offline nenhuma peça pôde ser renderizada; a qualidade das imagens não é comparada.
Pontuações por dimensão
| Dimensão | Pontuação | Por quê |
|---|---|---|
| 1_output_quality | 5.0 | Pontuação média de 5.00/5 com a skill (verificações programáticas, veja a tabela por tarefa). |
| 2_lift_vs_no_skill | 2.48 | +0.48 pontos vs 4.52 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 | SKILL.md mais dois templates; sem scripts. Longo (300 linhas), mas autossuficiente. |
| 5_efficiency | 2 | 1.99x tokens (229k vs 115k por execução) e 0.91x tempo (165s vs 181s). |
| 6_safety_hygiene | 4 | Scanner limpo (0/0/0). O template do visualizador baixa p5.js e Google Fonts da rede ao abrir. |
Limites deste teste
- Apenas verificações baseadas em regras (o arquivo existe, funções de seed, marcação de sliders, contagem de palavras); 14 das 15 verificações ponderadas passam em quase toda execução, então o conjunto de verificações tem efeito teto e não consegue classificar a arte em si.
- Sem renderização: o p5.js vem de uma CDN, que o sandbox offline bloqueia, então nenhum dos esboços foi executado no navegador.
- A verificação de "filosofia" aceita qualquer .md com 150+ palavras, então um README longo pode passar; aqui isso foi tratado contando também os arquivos de filosofia separados (veja os achados).
- 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
A skill produz de forma confiável a entrega em duas partes (filosofia nomeada mais visualizador com seed e ajustável) e os recursos extras de exportação, mas uma instrução de uma frase obtém quase as mesmas verificações com 60% dos tokens. Vale instalar quando você quer exatamente esse fluxo de trabalho e estilo; não é um salto de qualidade que as verificações consigam mostrar.
Transcrição
Log de execuções: algorithmic-art (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-flow control-1: nota 5.0, tokens 94113, s 128.8, verificações 5/5, nada aberto t1-flow control-2: nota 5.0, tokens 187333, s 213.0, verificações 5/5, nada aberto t1-flow oneliner-1: nota 5.0, tokens 171520, s 171.9, verificações 5/5, nada aberto t1-flow oneliner-2: nota 5.0, tokens 146539, s 224.4, verificações 5/5, nada aberto t1-flow treatment-1: nota 5.0, tokens 235460, s 165.8, verificações 5/5, abriu algorithmic-art t1-flow treatment-2: nota 5.0, tokens 233310, s 163.5, verificações 5/5, abriu algorithmic-art t2-orbits control-1: nota 3.57, tokens 59459, s 160.7, verificações 4/5, nada aberto t2-orbits control-2: nota 5.0, tokens 101021, s 168.0, verificações 5/5, nada aberto t2-orbits oneliner-1: nota 5.0, tokens 107085, s 225.1, verificações 5/5, nada aberto
18 execuções, 3 artefatos
Resultado de exemplo
SOTA · With the skill: index.html (t1-flow, run 1, Codex)
<!DOCTYPE html> <!-- THIS IS A TEMPLATE THAT SHOULD BE USED EVERY TIME AND MODIFIED. WHAT TO KEEP: ✓ Overall structure (header, sidebar, main content) ✓ Anthropic branding (colors, fonts, layout) ✓ Seed navigation section (always include this) ✓ Self-contained artifact (everything inline) WHAT TO CREATIVELY EDIT: ✗ The p5.js algorithm (implement YOUR vision) ✗ The parameters (define what YOUR art needs) ✗ The UI controls (match YOUR parameters) Let your philosophy guide the implementation. The world is your oyster - be creative! --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Tidal Memory ? Particle Flow</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.7.0/p5.min.js"></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet"> <style> /* Anthropic Brand Colors */ :root { --anthropic-dark: #141413; --anthropic-light: #faf9f5; --anthropic-mid-gray: #b0aea5; --anthropic-light-gray: #e8e6dc; --anthropic-orange: #d97757; --anthropic-blue: #6a9bcc; --anthropic-green: #788c5d; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Poppins', sans-serif; background: linear-gradient(135deg, var(--anthropic-light) 0%, #f5f3ee 100%); min-height: 100vh; color: var(--anthropic-dark); } .container { display: flex; min-height: 100vh; padding: 20px; gap: 20px; } /* Sidebar */ .sidebar { width: 320px; flex-shrink: 0; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); padding: 24px; border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 20, 19, 0.1); overflow-y: auto; overflow-x: hidden; } .sidebar h1 { font-family: 'Lora', serif; font-size: 24px; font-weight: 500; color: var(--anthropic-dark); margin-bottom: 8px; } .sidebar .subtitle { color: var(--anthropic-mid-gray); font-size: 14px; margin-bottom: 32px; line-height: 1.4; } /* Control Sections */ .control-section { margin-bottom: 32px; } .control-section h3 { font-size: 16px; font-weight: 600; color: var(--anthropic-dark); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; } .control-section h3::before { content: '•'; color: var(--anthropic-orang [... excerpt: first 3200 of 20646 characters]