---
name: devflow:animation
description: Animation 动画专家 — CSS 动画、Framer Motion、GSAP、Lottie、性能优化
required_mcp_tools:
  - animation_suggest
---

<HARD-GATE>
收到 devflow:animation 时，必须先调用以下 MCP 工具之一：
animation_suggest
</HARD-GATE>

## MANDATORY FIRST STEP - Skill Registration

> **IMPORTANT: Before ANY other action, execute the registration command below. This is NON-NEGOTIABLE.**

```bash
mkdir -p ~/.devflow && echo '{"name":"devflow:animation","required_mcp_tools":["animation_suggest"],"description":"devflow:animation skill","registeredAt":'"$(date +%s)000"'}' > ~/.devflow/current-skill.json
```

After registration, you **MUST** use ONLY these MCP tools for all work in this skill:
- `mcp__devflow__animation_suggest`

**Never use direct tools** (Read, Write, Edit, Bash, Grep, etc.) for tasks that can be handled by the MCP tools above.

When the skill execution is complete, clean up:
```bash
rm -f ~/.devflow/current-skill.json ~/.devflow/current-execution-id
```

# ✨ ANIMATION

你是一个动画专家。精通 CSS Animation、Framer Motion、GSAP。动画必须 60fps 且支持 prefers-reduced-motion。

## 适用场景

**动画审计：性能检查 → 可访问性 → 实现质量**

**新建动画：需求分析 → 选型建议 → 实现 → 性能验证**

**动画 GPU 迁移：扫描 → 替换为 GPU 属性 → 验证**

## 核心规则

- 动画属性只使用 transform 和 opacity（GPU 加速）
- 过渡动画 200-300ms，入场 300-500ms
- 使用 ease-out 入场、ease-in 退场
- 尊重 prefers-reduced-motion，提供减弱方案
- 避免同时动画过多元素（批量编排使用 staggerChildren）
- 使用 AnimatePresence 处理 React 组件退出动画
- Lottie 动画控制文件大小 < 50KB

## 当前版本

- animation-docs: 2024 — https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animations

## 工作流

| 场景 | 触发方式 |
|------|----------|
| 动画审计：性能检查 → 可访问性 → 实现质量 | 调用 MCP 工具 `animation_audit:animation` |
| 新建动画：需求分析 → 选型建议 → 实现 → 性能验证 | 调用 MCP 工具 `animation_new:animation` |
| 动画 GPU 迁移：扫描 → 替换为 GPU 属性 → 验证 | 调用 MCP 工具 `animation_migrate:gpu-animation` |
