dot_agents/skills/animate/SKILL.md
Review a feature and enhance it with purposeful animations, micro-interactions, and motion effects that improve usability and delight.
npx skillsauth add kevin-mok/ai-cli-dotfiles animateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze a feature and strategically add animations and micro-interactions that enhance understanding, provide feedback, and create delight.
Use the frontend-design skill — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no design context exists yet, you MUST run teach-impeccable first. Additionally gather: performance constraints.
Analyze where motion would improve the experience:
Identify static areas:
Understand the context:
If any of these are unclear from the codebase, ask the user directly to clarify what you cannot infer.
CRITICAL: Respect prefers-reduced-motion. Always provide non-animated alternatives for users who need them.
Create a purposeful animation plan:
IMPORTANT: One well-orchestrated experience beats scattered animations everywhere. Focus on high-impact moments.
Add motion systematically across these categories:
Use appropriate techniques for each animation:
Durations by purpose:
Easing curves (use these, not CSS defaults):
/* Recommended - natural deceleration */
--ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1); /* Smooth, refined */
--ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1); /* Slightly snappier */
--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1); /* Confident, decisive */
/* AVOID - feel dated and tacky */
/* bounce: cubic-bezier(0.34, 1.56, 0.64, 1); */
/* elastic: cubic-bezier(0.68, -0.6, 0.32, 1.6); */
Exit animations are faster than entrances. Use ~75% of enter duration.
/* Prefer for simple, declarative animations */
- transitions for state changes
- @keyframes for complex sequences
- transform + opacity only (GPU-accelerated)
/* Use for complex, interactive animations */
- Web Animations API for programmatic control
- Framer Motion for React
- GSAP for complex sequences
transform and opacity, avoid layout propertiescontain where appropriate@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
NEVER:
prefers-reduced-motion—this is an accessibility violationTest animations thoroughly:
Remember: Motion should enhance understanding and provide feedback, not just add decoration. Animate with purpose, respect performance constraints, and always consider accessibility. Great animation is invisible - it just makes everything feel right.
testing
Use when asked to draft, write, prepare, open, update, or improve a pull request title or body from current branch changes, including base-branch comparisons, `docs/pr` sync, GitHub PR creation or editing with `gh`, DD/Cindy LessonOps handoffs, or reviewer-focused PR context.
tools
Improve typography by fixing font choices, hierarchy, sizing, weight consistency, and readability. Makes text feel intentional and polished.
content-media
Transcribe audio files to text with optional diarization and known-speaker hints. Use when a user asks to transcribe speech from audio/video, extract text from recordings, or label speakers in interviews or meetings.
documentation
One-time setup that gathers design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.