theme-factory (Anthropic)
Aplica a diapositivas, documentos y páginas HTML uno de los diez temas predefinidos o un tema generado al momento.
theme-factory: Codex ya conoce de memoria dos temas con nombre (5.0 sin la skill), pero solo la skill puede «elegir un preset»: 5.0 frente a 0.0 en esa tarea, y además es más barata (0.66 veces los tokens)
Codex CLI · gpt-6-astra
27.7 / 30
Mejora frente a sin skill: +1.67 · Recomendada · 18 ejecuciones
Recomendada: el total 27.7/30 es al menos 22, la calidad de salida 5.0 es al menos 3.5 y la mejora +1.67 es al menos +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
- 3.7
- Calidad de salida
- 5.0
- Coste en tokens y tiempo
- 5.0
- Instalación y portabilidad
- 4.0
- Seguridad
- 5.0
Revisión de seguridad
SeguraEscaneo estático: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Revisión manual: Segura de ejecutar en un sandbox sin red (sin hallazgos). Un escaneo limpio no demuestra que una skill sea segura.
Instalar
npx skills@latest add anthropics/skills --skill theme-factory
Commit fijado: ca45fc496a3436251f191354091d557da31c15b5
Probada: 2026-11-02
Qué probamos
- Aplica un tema preset con nombre — Aplica el tema 'Ocean Depths' a deck.html. Edita el archivo in situ.
- Aplica otro tema preset — Aplica el tema 'Tech Innovation' a deck.html. Edita el archivo in situ.
- Elige un preset adecuado — Elige el tema preset que mejor encaje en un anuncio de una feria de ciencias infantil, indica cuál elegiste y aplícalo a deck.html in situ.
Ventajas
- Eleva la puntuación media de 3.33 a 5.0 frente a sin skill (+1.67).
- La skill se activó sin nombrarla: se leyó el archivo de la skill en 6/6 ejecuciones con skill.
- Sin sobrecarga de tokens: 0.66 veces los tokens de sin skill.
- Supera a una versión de su propia regla en una frase por +1.67.
- Calidad absoluta alta con la skill: 5.0 sobre 5.
Inconvenientes
- Salvedad de la prueba: el grupo de control conoce de memoria los temas con nombre; solo la skill puede elegir de su lista, lo que explica la gran diferencia frente a la rama del prompt de una frase.
- 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 de pruebas Windows dedicado, un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales en cada ejecución, skill instalada (grupo con skill), ausente (control) o ausente con el requisito central de la skill comprimido 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 la redacción indicada abajo). Tres tareas sobre la misma presentación HTML sencilla (deck.html): aplicar el tema con nombre 'Ocean Depths', aplicar el tema con nombre 'Tech Innovation' y «elegir el tema preset que mejor encaje en una feria de ciencias infantil, indicar cuál y aplicarlo». El grupo del prompt de una frase añade una frase que indica al agente que aplique la paleta y el emparejamiento tipográfico de un tema preset y diga cuál; no contiene datos de temas.
Comparación de tres ramas
| Rama | Puntuación media (0-5) | Tokens por ejecución |
|---|---|---|
| Sin la skill | 3.33 | 111k |
| Prompt de una frase | 3.33 | 126k |
| Con la skill | 5.0 | 73k |
Medido con Codex CLI en 18 ejecuciones, puntuado con comprobaciones basadas en reglas y sin juez LLM. Total 27.7 / 30, veredicto Recomendada.
Aviso: El grupo de control conoce los temas con nombre de memoria; solo la skill puede elegir de su lista, lo que explica la gran diferencia frente a la rama de una frase.
Veredicto: Recomendado (27.7 / 30). Fuente: anthropics/skills, skills/theme-factory, fijada en el commit ca45fc4. Instalación: npx skills@latest add anthropics/skills --skill theme-factory. Licencia: Apache-2.0 / términos de Anthropic (consulta LICENSE.txt en la skill).
Qué es
La skill theme-factory de anthropics/skills: 10 temas predefinidos de color y tipografía (Ocean Depths, Sunset Boulevard, Forest Canopy, Tech Innovation, etc.), cada uno un breve archivo Markdown con paleta hexadecimal y combinación de fuentes, más un PDF de muestra de los temas, para dar estilo a diapositivas, documentos o páginas. SKILL.md indica al agente que muestre la muestra, deje elegir al usuario y luego aplique los colores y las fuentes del tema.
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 sobre la misma presentación HTML sencilla (deck.html): aplicar el tema indicado «Ocean Depths», aplicar el tema indicado «Tech Innovation» y «elige el tema predefinido que mejor encaje con una feria de ciencias infantil, di cuál es y aplícalo». El grupo de una frase añade una frase que dice al agente que aplique la paleta y la combinación tipográfica de un tema predefinido y diga cuál; no contiene datos de temas.
- Aplicar un tema predefinido indicado — Aplica el tema 'Ocean Depths' a deck.html. Edita el archivo en el mismo sitio.
- Aplicar otro tema predefinido — Aplica el tema 'Tech Innovation' a deck.html. Edita el archivo en el mismo sitio.
- Elegir un tema predefinido adecuado — Elige el tema predefinido que mejor encaje con el anuncio de una feria de ciencias infantil, di cuál has elegido y aplícalo a deck.html en el mismo sitio.
La puntuación es programática (pruebas ocultas / 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: "Aplica de forma coherente a cada elemento la paleta de colores del tema predefinido elegido (fondo, texto, acento) y su combinación de fuentes para títulos y cuerpo, y di qué tema has aplicado."
| Tarea | Puntuación del control | Frase única | Con la skill | Tokens del control | Tokens de una frase | Tokens con la skill | Skill leída |
|---|---|---|---|---|---|---|---|
| t1-ocean | 5.0 | 5.0 | 5.0 | 70k | 103k | 69k | 2/2 |
| t2-tech | 5.0 | 5.0 | 5.0 | 73k | 102k | 79k | 2/2 |
| t3-choose | 0.0 | 0.0 | 5.0 | 187k | 171k | 71k | 2/2 |
Puntuación media: 3.33 sin vs 5.0 con la skill (delta +1.67). Tokens por ejecución: 111k vs 73k (0.66x); tiempo 53s vs 44s. Grupo de una frase: 3.33 (ganancia de la skill sobre la frase única: +1.67; ganancia de la frase única sobre sin skill: +0.0); tokens de la frase única 126k por ejecución, así que la skill cuesta 0.58x la frase única.
Qué ocurrió
- En las dos tareas de tema indicado, los tres grupos puntúan 5.0: el control (sin skill, sin archivos de temas en la carpeta) aplicó de memoria los hex exactos de Ocean Depths (#1a2332, #2d8b8b, #a8dadc, #f1faee) y la paleta de Tech Innovation. Los temas predefinidos son lo bastante públicos como para que el modelo ya los conozca; la skill no aporta nada en una petición que nombra el tema.
- La skill importa donde hace falta la propia lista de temas: en la tarea de «elige el mejor tema predefinido», el control puntuó 0/2 (una ejecución dijo que había elegido un tema llamado 'Sky', que no es ninguno de los diez; la otra gastó 247k tokens), la frase única puntuó 0/2 (una ejecución respondió que no había ninguna lista de temas disponible en el espacio de trabajo y se la pidió al usuario) y la skill puntuó 2/2 (eligió 'Sunset Boulevard' y aplicó su paleta).
- Media 3.33 control, 3.33 una frase, 5.00 skill. La frase única no puede sustituirla porque el valor son los datos de los archivos de temas de la skill, no una instrucción.
- Tokens: 73k por ejecución con la skill frente a 111k del control y 126k de la frase única (0.66x y 0.58x), porque en la tarea abierta el control y la frase única buscan y adivinan mientras que la skill lee un archivo de tema pequeño.
- Las ejecuciones de tratamiento copian la carpeta de temas y el PDF de muestra de la skill al proyecto (14 archivos nuevos por ejecución de media), lo que ensucia la carpeta de trabajo.
Puntuaciones por dimensión
| Dimensión | Puntuación | Motivo |
|---|---|---|
| 1. Calidad del resultado | 5.0 | Puntuación media 5.00/5 con la skill (comprobaciones programáticas; consulta la tabla por tarea). |
| 2. Mejora frente a no usar skill | 3.67 | +1.67 puntos frente a 3.33 sin la skill (n=2 por tarea; menos de ~1 punto es ruido). |
| 3. Activación | 5.0 | Archivo de la skill leído en 6/6 ejecuciones de tratamiento. |
| 4. Portabilidad de las instrucciones | 4 | SKILL.md de 43 líneas, 10 archivos de temas y un PDF de muestra; sin scripts. |
| 5. Eficiencia | 5 | 0.66x tokens (73k vs 111k por ejecución) y 0.83x tiempo (44s vs 53s). |
| 6. Seguridad e higiene | 5 | Solo prosa, datos y un PDF. |
Límites de esta prueba
- Comprobaciones de paleta basadas en reglas (se usan los hex del tema predefinido, se nombra el tema); no es un juicio sobre lo bien que queda la presentación reestilizada.
- La comprobación de la tarea 3 solo cuenta una ejecución como correcta si usa los hex de uno de los diez temas y lo nombra, así que favorece a cualquier grupo que pueda ver la lista.
- n=2 por celda; el paso de muestra de la skill (mostrar el PDF al usuario y esperar a que elija) es interactivo y no puede ejecutarse en una prueba sin interfaz.
- 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 un resultado es el mejor posible.
Seguridad
Consulta security.md. Escaneo: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Veredicto: seguro para ejecutar (sandbox sin red). Un escaneo limpio no demuestra que una skill sea segura.
En resumen
Útil cuando quieres que se elija o se enumere uno de los diez temas predefinidos concretos: elimina las adivinanzas y ahorra tokens. Si solo nombras un tema predefinido, Codex a secas ya hace lo mismo, así que para eso no hace falta la skill.
Transcripción
Registro de ejecuciones: theme-factory (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-ocean control-1: puntuación 5.0, tokens 74123, s 43.0, comprobaciones 2/2, no abrió nada t1-ocean control-2: puntuación 5.0, tokens 66741, s 48.1, comprobaciones 2/2, no abrió nada t1-ocean oneliner-1: puntuación 5.0, tokens 112572, s 60.5, comprobaciones 2/2, no abrió nada t1-ocean oneliner-2: puntuación 5.0, tokens 94515, s 51.3, comprobaciones 2/2, no abrió nada t1-ocean treatment-1: puntuación 5.0, tokens 69081, s 47.0, comprobaciones 2/2, abrió theme-factory t1-ocean treatment-2: puntuación 5.0, tokens 70216, s 33.6, comprobaciones 2/2, abrió theme-factory t2-tech control-1: puntuación 5.0, tokens 77803, s 56.7, comprobaciones 1/1, no abrió nada t2-tech control-2: puntuación 5.0, tokens 69182, s 57.9, comprobaciones 1/1, no abrió nada t2-tech oneliner-1: puntuación 5.0, tokens 119920, s 57.6, comprobaciones 1/1, no abrió nada
18 ejecuciones, 3 artefactos
Resultado de ejemplo
SOTA · With the skill: deck.html (t1-ocean, run 1, Codex)
<!DOCTYPE html> <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Q3 Update</title> <style> :root { color-scheme: dark; --navy: #1a2332; --teal: #2d8b8b; --seafoam: #a8dadc; --cream: #f1faee; } * { box-sizing: border-box; } body { margin: 0; background: var(--navy); color: var(--cream); font-family: "DejaVu Sans", sans-serif; font-size: clamp(18px, 2.2vw, 28px); line-height: 1.6; } section { max-width: 1200px; min-height: 100vh; margin: 0 auto; padding: clamp(32px, 7vw, 96px); display: flex; flex-direction: column; justify-content: center; border-top: 6px solid var(--teal); } h1, h2 { font-family: "DejaVu Sans", sans-serif; font-weight: 700; line-height: 1.15; margin: 0 0 0.6em; } h1 { font-size: clamp(48px, 7vw, 88px); } h2 { color: var(--seafoam); font-size: clamp(36px, 5vw, 60px); } p { margin: 0 0 1em; } section:first-child p { color: var(--seafoam); } ul { margin: 0; padding-left: 1.3em; } li { padding: 0.25em 0; } li::marker { color: var(--seafoam); } table { width: 100%; border-collapse: collapse; border: 2px solid var(--teal); margin-top: 1em; } th, td { padding: 0.65em 1em; text-align: left; border: 1px solid var(--teal); } th { background: var(--seafoam); color: var(--navy); font-weight: 700; } @media print { section { min-height: 0; height: 100vh; break-after: page; } section:last-child { break-after: auto; } body { print-color-adjust: exact; -webkit-print-color-adjust: exact; } } </style> </head> <body> <section><h1>Q3 Update</h1><p>Prepared for the leadership team</p></section> <section><h2>Highlights</h2><ul><li>Revenue up 12%</li><li>Two launches shipped</li><li>Support backlog cleared</li></ul></section> <section><h2>Next quarter</h2><p>Focus: reliability, onboarding, pricing review.</p><table border="1"><tr><th>Metric</th><th>Q3</th></tr><tr><td>Revenue</td><td>$1.2M</td></tr><tr><td>Churn</td><td>2.1%</td></tr></table></section> </body></html>