algorithmic-art (Anthropic)
Crea arte generativo original en p5.js con semillas aleatorias y exploración interactiva de parámetros.
algorithmic-art: todas las ramas pasan las comprobaciones de reglas (4.5 / 4.8 / 5.0), pero solo la skill y un prompt de una frase escriben un documento de filosofía real; la skill cuesta 2x los tokens
Codex CLI · gpt-6-astra
22.5 / 30
Mejora frente a sin skill: +0.48 · Según el caso · 18 ejecuciones
Según el caso: la mejora +0.48 está por debajo de +1.0. Para ser recomendada hace falta un total de 22/30, una calidad de salida de 3.5 y una mejora de +1.0.
SOTA
AprobadaProbada con Codex.
Cubre Codex, Claude Code
Codex CLI 0.166 (nivel SOTA): 18 ejecuciones puntuadas. Una pasada aquí también cubre Claude Code según nuestra regla de niveles; no dice nada sobre el segundo nivel.
Puntuaciones
Cada dimensión va de 0 a 5 y las seis suman el total sobre 30. 5 es mejor en todas las dimensiones. Coste 5 significa barato y rápido. Instalación 5 significa fácil.
- Fiabilidad de activación
- 5.0
- Mejora frente a sin skill
- 2.5
- Calidad de salida
- 5.0
- Coste en tokens y tiempo
- 2.0
- Instalación y portabilidad
- 4.0
- Seguridad
- 4.0
Revisión de seguridad
SeguraEscaneo estático: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Revisión manual: Segura de instalar. Un escaneo limpio no demuestra que una skill sea segura.
Instalar
npx skills@latest add anthropics/skills --skill algorithmic-art
Commit fijado: ca45fc496a3436251f191354091d557da31c15b5
Probada: 2026-11-02
Qué probamos
- Arte de campo de flujo — Crea arte generativo con p5.js: un campo de flujo de miles de partículas. Hazlo explorable (con semilla, ajustable). Entrega los archivos en la carpeta actual.
- Arte de sistema de partículas — Crea una pieza de arte algorítmico con p5.js: partículas orbitando varios atractores y dejando estelas. Con semilla e interactiva. Archivos en la carpeta actual.
- Brief abierto — Crea una pieza original de arte algorítmico inspirada en las pozas de marea, con p5.js, aleatoriedad con semilla y controles de parámetros. Archivos en la carpeta actual.
Ventajas
- La skill se activó sin nombrarla: se leyó el archivo de la skill en 6/6 ejecuciones con skill.
- Calidad absoluta alta con la skill: 5.0 sobre 5.
Inconvenientes
- Usa 1.99 veces los tokens de sin skill.
- Salvedad de la prueba: la librería p5 se carga desde un CDN, al que el sandbox sin red no puede acceder, así que las páginas generadas se revisaron con reglas y no se renderizaron.
- n=2 por tarea y rama; las diferencias de menos de aproximadamente 1 punto son ruido.
Reseña
Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en un PC Windows dedicado a pruebas, un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales por ejecución, skill instalada (tratamiento) o ausente (control) o ausente con el requisito central de la skill condensado en una frase añadida al prompt (grupo del prompt de una frase), 2 ejecuciones por grupo y tarea, red desactivada, escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo el texto indicado abajo). Tres tareas: un campo de flujo de miles de partículas, una pieza orbital/armónica y un brief abierto sobre «tide pools», todas pidiendo p5.js, salida con semilla y ajustable en forma de archivos. El grupo con skill usa el mismo prompt que el control (la skill se activa por coincidencia con la descripción). El grupo del prompt de una frase añade esta indicación: escribe primero una breve filosofía algorítmica y luego código mayormente generativo, con semilla y controles de parámetros en un visor HTML.
Comparación de tres ramas
| Rama | Puntuación media (0-5) | Tokens por ejecución |
|---|---|---|
| Sin la skill | 4.52 | 115k |
| Prompt de una frase | 4.76 | 145k |
| Con la skill | 5.0 | 229k |
Medido con Codex CLI en 18 ejecuciones, puntuado con comprobaciones basadas en reglas y sin juez LLM. Total 22.5 / 30, veredicto Según el caso.
Aviso: La librería p5 se carga desde un CDN al que el sandbox sin red no puede acceder, así que las páginas generadas se comprobaron con reglas y no se renderizaron.
Veredicto: Según el caso (22.5 / 30). Fuente: anthropics/skills, skills/algorithmic-art, fijada en el commit ca45fc4. Instalación: npx skills@latest add anthropics/skills --skill algorithmic-art. Licencia: Apache-2.0 / condiciones de Anthropic (véase LICENSE.txt en la skill).
Qué es
La skill algorithmic-art de anthropics/skills: un procedimiento en dos pasos para arte generativo con p5.js: primero escribir una «filosofía algorítmica» (un movimiento estético con nombre, 4-6 párrafos) y luego expresarla como código p5.js con semilla en un visor HTML interactivo creado a partir de viewer.html y generator_template.js de la skill. Licencia en LICENSE.txt (estilo Apache para esta skill).
Cómo lo probamos
Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en un PC de pruebas Windows dedicado, un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales por ejecución, skill instalada (tratamiento) o ausente (control) o ausente con el requisito central de la skill comprimido en una frase añadida al final del prompt (grupo de una frase), 2 ejecuciones por grupo y tarea, red desactivada, escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la formulación indicada abajo).
Tres tareas: un campo de flujo de miles de partículas, una pieza de órbitas/armónicos y un encargo abierto sobre «charcas de marea», todas pidiendo p5.js, con semilla y resultados ajustables como archivos. El grupo con la skill usa el mismo prompt que el control (la skill se detecta por coincidencia con la descripción). El grupo de una frase añade una sola frase: escribir primero una breve filosofía algorítmica y luego código mayormente generativo, con semilla y controles de parámetros en un visor HTML.
- Arte de campo de flujo — Crea arte generativo con p5.js: un campo de flujo de miles de partículas. Hazlo explorable (con semilla, ajustable). Entrega los archivos en la carpeta actual.
- Arte con partículas — Crea una pieza de arte algorítmico con p5.js: partículas que orbitan varios atractores y dejan estelas. Con semilla e interactiva. Archivos en la carpeta actual.
- Encargo abierto — Crea una pieza original de arte algorítmico inspirada en charcas de marea, con p5.js, aleatoriedad con semilla y controles de parámetros. Archivos en la carpeta actual.
La puntuación es programática (tests ocultos / detección de problemas sembrados / comprobaciones de restricciones / renderizado + OCR cuando corresponde), 0–5 por ejecución. Ningún juez LLM decidió ninguna puntuación.
Resultados
La frase única que recibió el tercer grupo: "Primero escribe una breve filosofía algorítmica (un movimiento estético con nombre) y luego exprésala como código p5.js que sea en su mayoría algoritmo generativo, use un generador aleatorio con semilla para que la misma semilla reproduzca la pieza y exponga controles de parámetros en un visor HTML interactivo."
| Tarea | Puntuación control | Una frase | Con la skill | Tokens control | Tokens de una frase | Tokens con la skill | Skill leída |
|---|---|---|---|---|---|---|---|
| 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 |
Puntuación media: 4.52 sin vs 5.0 con la skill (delta +0.48). Tokens por ejecución: 115k vs 229k (1.99x); tiempo 181s vs 165s. Grupo de una frase: 4.76 (la ganancia de la skill sobre la frase única: +0.24; la ganancia de la frase única sobre sin skill: +0.24); tokens de la frase única 145k por ejecución, así que la skill cuesta 1.58x la frase única.
Qué ocurrió
- El control ya construye lo básico: un HTML de visor, un sketch con semilla y deslizadores en 6/6 ejecuciones. La brecha de puntuación está casi toda en la comprobación de la filosofía: el control solo escribió un README (126-226 palabras) y no llegó al umbral de 150 palabras en 2 ejecuciones, y ninguna de las 6 ejecuciones de control produjo un archivo de filosofía aparte. Media 4.52 control, 4.76 una frase, 5.00 skill.
- La skill hace fiable el paso de la filosofía: 6/6 ejecuciones de tratamiento escribieron un philosophy.md (410-520 palabras), y el grupo de una frase también escribió uno en 6/6 (290-460 palabras). El único fallo de semilla en 18 ejecuciones fue una ejecución de una frase (t2-orbits) que no usó randomSeed/noiseSeed en absoluto.
- La skill añade resultados que no se pidieron: código de exportación/guardado (5, 8 y 3 referencias a download/saveCanvas en los visores de tratamiento frente a 1 en control), archivos extra (8.3 archivos por ejecución frente a 4 en control) y en 2 ejecuciones scripts auxiliares (build_art.py, verify.cjs) que ensamblan la plantilla.
- Coste: 229k tokens por ejecución con la skill frente a 115k del control y 145k de una frase, aproximadamente 2.0x y 1.6x. El tratamiento leyó la skill en 6/6 ejecuciones sin que se le indicara.
- Todos los grupos menos una ejecución de una frase cargan p5.js desde un CDN, así que en el sandbox sin red no se pudo renderizar ninguna pieza; no se compara la calidad de las imágenes.
Puntuaciones por dimensión
| Dimensión | Puntuación | Motivo |
|---|---|---|
| 1_output_quality | 5.0 | Puntuación media 5.00/5 con la skill (comprobaciones programáticas, véase la tabla por tarea). |
| 2_lift_vs_no_skill | 2.48 | +0.48 puntos frente a 4.52 sin la skill (n=2 por tarea; menos de ~1 punto es ruido). |
| 3_trigger | 5.0 | Archivo de la skill leído en 6/6 ejecuciones de tratamiento. |
| 4_instructions_portability | 4 | SKILL.md y dos plantillas; sin scripts. Largo (300 líneas) pero autocontenido. |
| 5_efficiency | 2 | 1.99x tokens (229k vs 115k por ejecución) y 0.91x tiempo (165s vs 181s). |
| 6_safety_hygiene | 4 | Escáner limpio (0/0/0). La plantilla del visor descarga p5.js y Google Fonts de la red al abrirse. |
Límites de esta prueba
- Solo comprobaciones basadas en reglas (el archivo existe, funciones de semilla, marcado de deslizadores, recuento de palabras); 14 de las 15 comprobaciones ponderadas pasan en casi todas las ejecuciones, así que el conjunto tiene un efecto techo y no puede clasificar el arte en sí.
- Sin renderizado: p5.js se carga desde un CDN que el sandbox sin red bloquea, así que ningún sketch se ejecutó en un navegador.
- La comprobación de «filosofía» acepta cualquier .md con 150 palabras o más, así que un README largo puede pasar; aquí se abordó contando también los archivos de filosofía separados (véanse los hallazgos).
- n = 2 por grupo y tarea: las diferencias de menos de ~1 punto son ruido.
- La puntuación basada en reglas mide lo que las comprobaciones pueden ver; no puede juzgar el gusto ni si el resultado es el mejor posible.
Seguridad
Consulta security.md. Escaneo: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Veredicto: segura de ejecutar (sandbox sin red). Un escaneo limpio no demuestra que una skill sea segura.
Conclusión
La skill produce de forma fiable el entregable en dos partes (filosofía con nombre y visor con semilla y ajustable) y las funciones extra de exportación, pero una instrucción de una frase consigue casi las mismas comprobaciones con el 60% de los tokens. Merece la pena instalarla cuando quieras ese flujo y ese estilo exactos; no es un salto de calidad que las comprobaciones puedan demostrar.
Transcripción
Registro de ejecuciones: algorithmic-art (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) Columnas: tarea, grupo-ejecución, puntuación (0-5), tokens, segundos, comprobaciones superadas, archivos de la skill que abrió el agente. t1-flow control-1: puntuación 5.0, tokens 94113, s 128.8, comprobaciones 5/5, no abrió nada t1-flow control-2: puntuación 5.0, tokens 187333, s 213.0, comprobaciones 5/5, no abrió nada t1-flow oneliner-1: puntuación 5.0, tokens 171520, s 171.9, comprobaciones 5/5, no abrió nada t1-flow oneliner-2: puntuación 5.0, tokens 146539, s 224.4, comprobaciones 5/5, no abrió nada t1-flow treatment-1: puntuación 5.0, tokens 235460, s 165.8, comprobaciones 5/5, abrió algorithmic-art t1-flow treatment-2: puntuación 5.0, tokens 233310, s 163.5, comprobaciones 5/5, abrió algorithmic-art t2-orbits control-1: puntuación 3.57, tokens 59459, s 160.7, comprobaciones 4/5, no abrió nada t2-orbits control-2: puntuación 5.0, tokens 101021, s 168.0, comprobaciones 5/5, no abrió nada t2-orbits oneliner-1: puntuación 5.0, tokens 107085, s 225.1, comprobaciones 5/5, no abrió nada
18 ejecuciones, 3 artefactos
Resultado de ejemplo
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]