Todas las skills

improve-animations (emilkowalski/skills)

Audita el código de movimiento de un proyecto y produce planes priorizados para que otros agentes los ejecuten.

improve-animations: convierte una petición vaga como «audita las animaciones» en una lista con curvas de aceleración exactas (control 3.2, skill 4.8), pero un prompt de una frase con la misma lista de comprobación puntúa 4.9 con 0.84x los tokens

RecomendadaSegura

Codex CLI · gpt-6-astra

25.5 / 30

Mejora frente a sin skill: +1.66 · Recomendada · 18 ejecuciones

Recomendada: el total 25.5/30 es al menos 22, la calidad de salida 4.8 es al menos 3.5 y la mejora +1.66 es al menos +1.0.

SOTA

Aprobada

Probada 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
4.8
Coste en tokens y tiempo
4.0
Instalación y portabilidad
4.0
Seguridad
4.0

Revisión de seguridad

Segura

Escaneo estático: 0 CRITICAL / 2 HIGH / 0 MEDIUM. Revisión manual: Segura de ejecutar en un sandbox sin red (hallazgos del escáner explicados). Un escaneo limpio no demuestra que una skill sea segura.

Instalar

npx skills@latest add emilkowalski/skills --skill improve-animations

Origen

Commit fijado: a81dbca07f2217b7103e510c0f13f8d5b017afc9

Probada: 2026-11-02

Qué probamos

  • Audita el código de movimiento — Audita las animaciones y el movimiento de este proyecto. Dame una lista priorizada de lo que hay que corregir, cada punto con el archivo y los valores de reemplazo exactos. No cambies ningún archivo.
  • Audita dos componentes — Audita solo las animaciones del desplegable y el modal en styles.css. ¿Qué está mal y en qué deberían convertirse exactamente? No cambies ningún archivo.
  • Correcciones principales para que las implemente otra persona — Voy a pasar las correcciones de movimiento a un colega que no ha visto este proyecto. Enumera las 5 correcciones de animación de mayor impacto con el CSS exacto que debe escribir para cada una, para que pueda implementarlas sin preguntarme nada. No cambies ningún archivo.

Ventajas

  • Eleva la puntuación media de 3.15 a 4.81 frente a sin skill (+1.66).
  • 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: 4.81 sobre 5.

Inconvenientes

  • Un prompt de una frase puntuó 4.94, frente a 4.81 con la skill (-0.13).
  • 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, con un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales en cada ejecución, la 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, sin red y con las escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la redacción indicada abajo). Una pequeña app web (am_app) con 8 problemas de movimiento sembrados. Tareas: auditar todo el proyecto, auditar solo el desplegable y el modal, y corregir cinco problemas concretos. Los prompts dicen «animaciones y movimiento» sin nombrar ninguna regla. El prompt de una frase enumera las reglas y pide valores de reemplazo exactos.

Comparación de tres ramas

RamaPuntuación media (0-5)Tokens por ejecución
Sin la skill3.1565k
Prompt de una frase4.9465k
Con la skill4.8178k

Medido con Codex CLI en 18 ejecuciones, puntuado con comprobaciones basadas en reglas y sin juez LLM. Total 25.5 / 30, veredicto Recomendada.

Veredicto: Recomendado (25.5 / 30). Fuente: emilkowalski/skills, skills/improve-animations, fijado en el commit a81dbca. Instalación: npx skills@latest add emilkowalski/skills --skill improve-animations. Licencia: MIT (LICENSE del repositorio).

Qué es

El skill improve-animations (emilkowalski/skills): una guía de auditoría de diseño de movimiento: curvas ease-out personalizadas en lugar de ease-in/por defecto, duraciones de 150-300 ms, solo transform y opacity, sin transition: all, sin arranques con scale(0), transform-origin en el disparador, soporte para movimiento reducido y sin animación en acciones de alta frecuencia.

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 en cada ejecución, skill instalado (grupo con skill), ausente (grupo de control) o ausente con el requisito central del skill comprimido en una frase añadida al prompt (grupo de una frase), 2 ejecuciones por grupo y tarea, red desactivada, escrituras en /tmp bloqueadas. Los prompts nunca mencionan el skill (salvo la formulación indicada abajo).

Una pequeña aplicación web (am_app) con 8 problemas de movimiento sembrados. Tareas: auditar todo el proyecto, auditar solo el desplegable y el modal, y corregir cinco problemas concretos. Los prompts dicen «animaciones y movimiento» sin nombrar ninguna regla. La frase enumera las reglas y pide valores de sustitución exactos.

  1. Auditar el código de movimiento — Audita las animaciones y el movimiento de este proyecto. Dame una lista priorizada de lo que hay que corregir, cada punto con el archivo y los valores de sustitución exactos. No cambies ningún archivo.
  2. Auditar dos componentes — Audita solo las animaciones del desplegable y del modal en styles.css. ¿Qué está mal y en qué deberían convertirse exactamente? No cambies ningún archivo.
  3. Mejoras principales para que las implemente otra persona — Voy a pasar las correcciones de movimiento a un colega que no ha visto este proyecto. Enumera las 5 correcciones de animación de mayor impacto con el CSS exacto que debe escribir para cada una, para que pueda implementarlas sin preguntarme nada. No cambies ningún archivo.

La puntuación es programática (tests ocultos / detección de problemas sembrados / comprobaciones de restricciones / renderizado+OCR cuando corresponde), de 0 a 5 por ejecución. Ningún juez LLM decidió ninguna puntuación.

Resultados

La frase única que recibió el tercer grupo: "Audita el código de movimiento como un ingeniero de diseño sénior: señala las curvas ease-in y por defecto, transition: all, los arranques con scale(0), la animación de propiedades de layout, la falta de movimiento reducido, la animación en acciones de alta frecuencia, el transform-origin incorrecto y las duraciones lentas; para cada una da la sustitución exacta (cubic-bezier ease-out personalizado, 150-300 ms, solo transform/opacity) para que otra persona pueda aplicarla, y no cambies ningún archivo fuente."

TareaPuntuación sin skillUna fraseCon skillTokens sin skillTokens una fraseTokens con skillSkill leído
t1-audit3.214.824.8265k66k77k2/2
t2-focus2.55.05.063k64k77k2/2
t3-five-fixes3.755.04.6265k65k78k2/2

Puntuación media: 3.15 sin vs 4.81 con el skill (delta +1.66). Tokens por ejecución: 65k vs 78k (1.20x); tiempo 48s vs 49s. Grupo de una frase: 4.94 (la mejora del skill frente a la frase: -0.13; la mejora de la frase frente a no usar skill: +1.79); la frase usa 65k tokens por ejecución, así que el skill consume 1.19 veces sus tokens.

Qué ocurrió

  • Control 3.15, skill 4.81, frase 4.94 (n=6 cada uno). Sin orientación, Codex encontró de 3 a 7 de los 8 problemas sembrados y no dio ninguna curva cubic-bezier ni easing exacto en 5 de 6 ejecuciones.
  • El skill cierra esa brecha: 5.0 en ambas ejecuciones centradas, donde el control se perdió el arranque del modal con scale(0) en las dos, y cada auditoría da curvas exactas. La frase llega al mismo resultado.
  • En la tarea de las cinco correcciones, el skill quedó ligeramente por detrás de la frase (4.62 vs 5.0): ambas ejecuciones con skill se perdieron el hover de la tarjeta de 700 ms con linear, y cada una se perdió otro problema sembrado (el modal con scale(0), o transition: all).
  • Tokens: skill 78k, frase 65k, control 65k (1.2x el control). El skill se leyó en 6/6 ejecuciones con skill sin ser nombrado.

Puntuación por dimensiones

DimensiónPuntuaciónMotivo
1_output_quality4.81

Puntuación media de 4.81/5 con el skill (comprobaciones programáticas; véase la tabla por tarea).

2_lift_vs_no_skill3.66

+1.66 puntos frente a 3.15 sin el skill (n=2 por tarea; menos de ~1 punto es ruido).

3_trigger5.0Skill leído en 6/6 ejecuciones con skill.
4_instructions_portability4SKILL.md solo con texto de referencia.
5_efficiency41.20x tokens (78k vs 65k por ejecución) y 1.03x tiempo (49s vs 48s).
6_safety_hygiene4Solo prosa; véase security.md.

Límites de esta prueba

  • Comprobaciones de recuperación sobre el texto de la auditoría y comprobaciones regex sobre el CSS modificado; no se renderizó ni midió nada en un navegador.
  • La frase es una paráfrasis muy cercana de la propia lista de comprobación del skill, lo que la convierte en una comparación fuerte.
  • Un único fixture; n=2 por celda.
  • 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

Véase security.md. Escaneo: 0 CRITICAL / 2 HIGH / 0 MEDIUM. Veredicto: seguro de ejecutar (sandbox sin red). Un escaneo limpio no demuestra que un skill sea seguro.

Conclusión

El skill supera claramente a una auditoría sin prompt, sobre todo porque siempre aporta curvas y duraciones concretas. Una sola frase que enumere las mismas reglas lo hace igual de bien por menos, así que la mejora es frente a la ausencia de orientación, no frente a un buen prompt.

Transcripción

Registro de ejecuciones: improve-animations (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-audit control-1: puntuación 3.21, tokens 65584, s 50.5, comprobaciones 2/3, no abrió nada
t1-audit control-2: puntuación 3.21, tokens 65586, s 52.4, comprobaciones 2/3, no abrió nada
t1-audit oneliner-1: puntuación 4.64, tokens 66262, s 51.5, comprobaciones 3/3, no abrió nada
t1-audit oneliner-2: puntuación 5.0, tokens 66276, s 69.8, comprobaciones 3/3, no abrió nada
t1-audit treatment-1: puntuación 4.64, tokens 78329, s 42.8, comprobaciones 3/3, abrió improve-animations
t1-audit treatment-2: puntuación 5.0, tokens 76979, s 51.1, comprobaciones 3/3, abrió improve-animations
t2-focus control-1: puntuación 2.5, tokens 64157, s 30.6, comprobaciones 2/4, no abrió nada
t2-focus control-2: puntuación 2.5, tokens 63682, s 30.8, comprobaciones 2/4, no abrió nada
t2-focus oneliner-1: puntuación 5.0, tokens 64128, s 32.3, comprobaciones 4/4, no abrió nada

18 ejecuciones, 3 artefactos

Resultado de ejemplo

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

Audited all four project files. **No files changed.** This is a static code audit: `index.html` does not load `app.js`, so the dropdown click handler currently never runs. Other open states have no handlers. All motion fixes below are in [styles.css](C:/Users/<user>/AppData/Local/Temp/asv-improve-an-9e585535/work/styles.css), ordered by priority. | Priority | Severity | Location | Finding | Exact replacement | |---|---|---|---|---| | 1 | HIGH | Line 8, `.palette` | The documented ~100 daily keyboard openings should respond immediately. | Replace its declaration with `transition: none;` | | 2 | HIGH | Line 1, `.dropdown` | `400ms ease-in` delays the initial response and makes opening sluggish. | `transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1), opacity 200ms cubic-bezier(0.23, 1, 0.32, 1);` | | 3 | HIGH | Lines 4–5, `.modal` | Scaling from zero over 500ms creates excessive movement. | Use the modal replacement below. | | 4 | HIGH | Line 6, `.accordion` | Animating `height` forces repeated layout over 500ms. | Replace `transition: height 0.5s ease;` with `transition: none;`. Keep both height values. This is the smallest safe fix; a smooth reveal needs additional structure. | | 5 | MEDIUM | Missing reduced-motion rule | Dropdown and modal movement have no preference override. | Append the reduced-motion block below, after the other rules. | | 6 | MEDIUM | Line 3, `.btn` | `transition: all` can animate unintended properties. No button state currently changes a visual property. | Replace with `.btn { transition: none; }` | | 7 | MEDIUM | Line 9, `.popover` | Center scaling contradicts its documented connection to the top-bar trigger. | Replace `transform-origin: center;` with `transform-origin: top left;` **if positioned below and left-aligned with the trigger**. Placement is absent from this prototype; use `top right` for right alignment or `top center` for centered alignment. | | 8 | LOW | Lines 10–11, `.card` | A 700ms linear shadow transition makes routine hover feedback linger; hover is also ungated on touch devices. | Use the card replacement below. | Replace lines 4–5 with: ```css .modal { opacity: 0; transform: scale(0.96); transition: transform 250ms cubic-bezier(0.23, 1, 0.32, 1), opacity 250ms cubic-bezier(0.23, 1, 0.32, 1); } .modal.open { opacity: 1; transform: scale(1); } ``` Keep the modal’s centered transform origin; it is appropriate here. Replace lines 10–11 with: ```css .card { transition: none; } @media (hover: hover) and (pointer: fine) { .card:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .2); } } ``` This preserves hover feedback while removing repeated shadow painting during an animation. Append this reduced-motion override: ```css @media (prefers-reduced-motion: reduce) { .dropdown, .dropdown.open, .modal, .modal.open { transform: none; transition: opacity 200ms ease; } .popover { transition: opacity 200ms ease; } } ``` One grounded optional addition: give the Menu button press feedback with `.btn:active { transform: scale(0.97); }` and `.btn { transition: transform 160ms ease-out; }`. If adopted, also add `.btn:active { transform: none; }` in [... excerpt: first 3200 of 3496 characters]

Ver Pro