> Patterns from "Agentic Design Patterns" (Gulli & Sauco, 2025) applied to web animation composition, performance optimization, and multi-library orchestration for React and TypeScript.
From react-animation-studionpx claudepluginhub markus41/claude --plugin react-animation-studioThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Patterns from "Agentic Design Patterns" (Gulli & Sauco, 2025) applied to web animation composition, performance optimization, and multi-library orchestration for React and TypeScript.
Relevance: Complex animations are built in stages — concept → keyframe design → code generation → performance tuning → accessibility review. Each stage depends on the previous output.
Current Implementation: Individual commands (/animate, /animate-sequence, /animate-transition) handle discrete steps; users manually chain them.
Enhancement: Make the pipeline explicit: a single /animate-compose invocation triggers a typed chain — design intent → library selection → code generation → performance audit → a11y check. Each step receives the structured output of the prior step as its input context, enabling automatic course-correction (e.g., if performance audit fails, the code generation step is re-run with stricter constraints).
Relevance: Generating multiple animation variants (e.g., three entrance effects, two hover states) is embarrassingly parallel — each variant is independent and can be rendered simultaneously.
Current Implementation: Variant generation is sequential; users run commands multiple times.
Enhancement: The animate-preset command spawns parallel generation tasks for each requested variant. Results are collected, ranked by a quality scorer, and presented together. Build times for multi-variant generation drop proportionally. Parallelization is also applied to multi-component animation audits — each component is analyzed concurrently.
Relevance: Generated animations may have subtle issues — janky frame rates, incorrect easing curves, inaccessible motion for users with vestibular disorders, or library API misuse.
Current Implementation: The animate-audit command provides a static analysis pass.
Enhancement: Add a self-review loop after every generation: the agent critiques its own output against a rubric (60fps target, reduced-motion support, bundle size impact, semantic correctness of the animation relative to the UI intent). If the score falls below threshold, the agent revises and re-checks before presenting the result. Users see only polished output.
Relevance: Complex animation sequences (page transitions, orchestrated entrance flows, interactive 3D scenes) require a choreography plan before any code is written.
Current Implementation: animate-sequence accepts a list of steps but does not produce an explicit plan artifact.
Enhancement: For sequences with more than three steps or involving multiple libraries, generate a choreography document first: timeline, dependency graph (which animation must complete before the next begins), estimated total duration, and library assignments (Framer Motion for layout, GSAP for SVG, Three.js for 3D). The plan is shown to the user for confirmation before code generation.
Relevance: The plugin wraps three animation libraries (Framer Motion, GSAP, Three.js) plus CSS animations, each with distinct APIs, performance characteristics, and React integration patterns.
Current Implementation: Commands target a specific library by convention (animate-3d → Three.js, animate-scroll → GSAP ScrollTrigger).
Enhancement: Treat each library as a typed tool with a declared capability surface. A tool-selection layer chooses the best library for the requested effect based on: performance budget, browser support requirements, existing project dependencies, and animation complexity. The selection is explained to the user. Tool-specific error messages are normalized into a common format.
Relevance: Animation requests vary widely — micro-interactions need different handling than page transitions, which differ from 3D scenes. Routing the request to the right specialist pipeline avoids inappropriate library choices.
Current Implementation: Users must know which command to invoke for each animation type.
Enhancement: A classifier at the entry point (/animate) analyzes the request intent and routes to the appropriate sub-pipeline: micro-interaction → Framer Motion spring physics, page-transition → Framer Motion AnimatePresence, scroll-narrative → GSAP ScrollTrigger, 3d-scene → Three.js, svg-animation → GSAP DrawSVG, css-only → pure CSS animations. The routing decision is shown, and users can override it.
Relevance: Animations have real performance costs — bundle size (Three.js adds ~600KB), GPU layer promotion, main-thread JavaScript, and layout thrashing. Poor choices degrade UX.
Current Implementation: animate-audit checks for common performance issues after the fact.
Enhancement: Before generating code, assess the performance budget for the target context (mobile vs. desktop, low-end device profile, existing bundle size). Recommend the lightest adequate library. During generation, prefer transform and opacity over layout-triggering properties. After generation, output a performance scorecard: estimated JS cost, GPU layer count, and will-change recommendations. Flag anything that would drop frames on a mid-range mobile device.
User Request
│
▼
Routing ──────────────────────────────────────────────────────┐
│ │
▼ ▼
Planning (complex sequences) ──► Prompt Chaining Resource-Aware
│ │ │
│ ▼ │
│ Tool Use ◄────────────────────┘
│ │
│ ▼
│ Parallelization (variants)
│ │
│ ▼
└───────────────────────► Reflection (self-review)
│
▼
Final Output (polished, scored)
Key interactions: