UI Animation Design
Mục Đích
Skill này là router điều phối cho bộ skill UI animation/design gồm tra thuật ngữ animation, tư vấn Apple-style fluid interaction, tư vấn Emil-style design engineering, review animation code/diff, và audit/cải thiện animation toàn codebase.
Không dùng file này để thay thế các skill con. Dùng nó để chọn đúng skill con, đọc SKILL.md của skill con đó, rồi làm theo workflow của skill con.
Skill Con
| Nhu cầu của user |
Skill cần dùng |
Ghi chú |
| Hỏi hiệu ứng này gọi là gì, hoặc mô tả motion nhưng không biết tên |
skills/UI-animation-design/animation-vocabulary |
Chỉ trả thuật ngữ/khái niệm, không thiết kế hoặc implement |
| Tư vấn gesture, spring, velocity, momentum, sheet, drag, swipe, material, Apple-like fluid UI |
skills/UI-animation-design/apple-design |
Dùng cho motion vật lý, trực tiếp, interruptible |
| Tư vấn polish component, easing, duration, component feel, design engineering craft |
skills/UI-animation-design/emil-design-eng |
Dùng cho taste/craft, decision framework, component-level motion |
| Audit animation toàn app, “improve animations”, “make app feel better”, roadmap animation fixes |
skills/UI-animation-design/improve-animations |
Read-only trên source code; tạo audit/plan, không sửa code |
| Review diff/file/code animation cụ thể |
skills/UI-animation-design/review-animations |
Dùng standards nghiêm ngặt, cite file:line, trả findings + verdict |
Quy Tắc Đọc
- Không đọc tất cả skill con mặc định.
- Chọn skill con theo intent của user.
- Đọc toàn bộ
SKILL.md của skill con đã chọn trước khi làm.
- Nếu skill con trỏ tới file phụ như
AUDIT.md, PLAN-TEMPLATE.md, hoặc STANDARDS.md, đọc file đó khi workflow yêu cầu.
- Khi nhiều skill con cùng liên quan, chọn một skill chính và chỉ dùng skill phụ làm context hỗ trợ.
- Nếu intent của user chưa rõ, hỏi lại ngắn gọn trước khi chọn skill con.
Routing
Naming / Vocabulary
Dùng animation-vocabulary khi user hỏi:
- “Hiệu ứng này gọi là gì?”
- “Cái kiểu popover mọc ra từ nút gọi là gì?”
- “Motion này tên gì để prompt AI/designer?”
Output phải ngắn, ưu tiên thuật ngữ chính xác.
Review Code Hoặc Diff
Dùng review-animations khi user đưa:
- diff
- file code
- PR/change cần review
- câu như “review animation này”, “xem motion code này đúng chưa”
Nếu cần giá trị chính xác về easing, duration, performance, accessibility, đọc thêm review-animations/STANDARDS.md.
Audit / Improve Toàn Codebase
Dùng improve-animations khi user hỏi:
- “improve animations”
- “audit motion”
- “make this app feel better”
- “tạo roadmap animation fixes”
Skill này read-only trên source code. Không sửa code, không format, không build có side effect, không commit.
Khi viết plan, đọc thêm:
improve-animations/AUDIT.md
improve-animations/PLAN-TEMPLATE.md
Apple-Style Fluid Interaction
Dùng apple-design khi vấn đề xoay quanh:
- gesture
- direct manipulation
- spring
- velocity handoff
- momentum projection
- rubber-banding
- draggable sheet/drawer
- swipe interactions
- material, translucency, depth
- reduced motion theo kiểu Apple-style
Emil-Style Design Engineering
Dùng emil-design-eng khi vấn đề xoay quanh:
- component polish
- motion có nên tồn tại không
- easing/duration cho UI thường ngày
- press feedback
- popover/dropdown origin
- animation feel
- performance và craft detail
Conflict Rules
review-animations thắng khi user yêu cầu review code/diff cụ thể.
improve-animations thắng khi user yêu cầu audit hoặc cải thiện animation toàn app.
animation-vocabulary thắng khi user chỉ hỏi tên hiệu ứng.
apple-design thắng khi trọng tâm là gesture, spring, momentum, velocity, sheet, drag, swipe, hoặc material.
emil-design-eng thắng khi trọng tâm là polish, taste, component feel, easing, duration, hoặc perceived quality.
- Nếu user vừa cần naming vừa cần thiết kế, dùng
animation-vocabulary trước để đặt tên, rồi chuyển sang skill thiết kế phù hợp.
- Nếu user vừa cần audit toàn app vừa hỏi một diff cụ thể, dùng
review-animations cho diff cụ thể và improve-animations cho roadmap toàn app.
Không Được Trộn Mode
Không dùng improve-animations để review một diff nhỏ.
Không dùng review-animations để audit toàn codebase.
Không dùng animation-vocabulary để đề xuất implementation.
Không dùng apple-design hoặc emil-design-eng để bỏ qua standards khi đang review code.
Không dùng root skill này để tự tạo tiêu chuẩn mới thay cho skill con.
Scope Và Safety
- Không sửa code nếu skill con là read-only.
- Không tạo plan triển khai trừ khi skill con yêu cầu.
- Không dùng animation chỉ vì “đẹp”; motion phải có purpose.
- Luôn tôn trọng
prefers-reduced-motion.
- Với review, cite
file:line.
- Với audit, phân biệt finding đã verify với cảm giác cần feel-check.
- Với gesture/touch interaction, yêu cầu kiểm tra trên runtime hoặc thiết bị thật khi kết luận phụ thuộc cảm giác.
Output Contract
Theo skill con đã chọn:
animation-vocabulary: trả thuật ngữ ngắn gọn, có 1-2 alternate nếu cần.
review-animations: trả markdown table Before | After | Why, rồi verdict.
improve-animations: trả audit table, missed opportunities, rồi chờ user chọn plan.
apple-design: trả khuyến nghị interaction cụ thể, nêu rõ spring/velocity/material/reduced-motion khi liên quan.
emil-design-eng: trả khuyến nghị design engineering cụ thể, có easing/duration/implementation guidance khi cần.
Nếu không chắc nên dùng skill con nào, trả lời bằng một câu hỏi làm rõ thay vì đoán.
1---2name: ui-animation-design3description: Dùng khi user hỏi về UI animation, motion design, gesture, transition, animation review, polish UI, hoặc cải thiện cảm giác chuyển động của app.4---56# UI Animation Design78## Mục Đích910Skill này là router điều phối cho bộ skill UI animation/design gồm tra thuật ngữ animation, tư vấn Apple-style fluid interaction, tư vấn Emil-style design engineering, review animation code/diff, và audit/cải thiện animation toàn codebase. 1112Không dùng file này để thay thế các skill con. Dùng nó để chọn đúng skill con, đọc `SKILL.md` của skill con đó, rồi làm theo workflow của skill con.1314## Skill Con1516| Nhu cầu của user | Skill cần dùng | Ghi chú |17|---|---|---|18| Hỏi hiệu ứng này gọi là gì, hoặc mô tả motion nhưng không biết tên | `skills/UI-animation-design/animation-vocabulary` | Chỉ trả thuật ngữ/khái niệm, không thiết kế hoặc implement |19| Tư vấn gesture, spring, velocity, momentum, sheet, drag, swipe, material, Apple-like fluid UI | `skills/UI-animation-design/apple-design` | Dùng cho motion vật lý, trực tiếp, interruptible |20| Tư vấn polish component, easing, duration, component feel, design engineering craft | `skills/UI-animation-design/emil-design-eng` | Dùng cho taste/craft, decision framework, component-level motion |21| Audit animation toàn app, “improve animations”, “make app feel better”, roadmap animation fixes | `skills/UI-animation-design/improve-animations` | Read-only trên source code; tạo audit/plan, không sửa code |22| Review diff/file/code animation cụ thể | `skills/UI-animation-design/review-animations` | Dùng standards nghiêm ngặt, cite `file:line`, trả findings + verdict |2324## Quy Tắc Đọc25261. Không đọc tất cả skill con mặc định.272. Chọn skill con theo intent của user.283. Đọc toàn bộ `SKILL.md` của skill con đã chọn trước khi làm.294. Nếu skill con trỏ tới file phụ như `AUDIT.md`, `PLAN-TEMPLATE.md`, hoặc `STANDARDS.md`, đọc file đó khi workflow yêu cầu.305. Khi nhiều skill con cùng liên quan, chọn một skill chính và chỉ dùng skill phụ làm context hỗ trợ.316. Nếu intent của user chưa rõ, hỏi lại ngắn gọn trước khi chọn skill con.3233## Routing3435### Naming / Vocabulary3637Dùng `animation-vocabulary` khi user hỏi:3839- “Hiệu ứng này gọi là gì?”40- “Cái kiểu popover mọc ra từ nút gọi là gì?”41- “Motion này tên gì để prompt AI/designer?”4243Output phải ngắn, ưu tiên thuật ngữ chính xác.4445### Review Code Hoặc Diff4647Dùng `review-animations` khi user đưa:4849- diff50- file code51- PR/change cần review52- câu như “review animation này”, “xem motion code này đúng chưa”5354Nếu cần giá trị chính xác về easing, duration, performance, accessibility, đọc thêm `review-animations/STANDARDS.md`.5556### Audit / Improve Toàn Codebase5758Dùng `improve-animations` khi user hỏi:5960- “improve animations”61- “audit motion”62- “make this app feel better”63- “tạo roadmap animation fixes”6465Skill này read-only trên source code. Không sửa code, không format, không build có side effect, không commit.6667Khi viết plan, đọc thêm:6869- `improve-animations/AUDIT.md`70- `improve-animations/PLAN-TEMPLATE.md`7172### Apple-Style Fluid Interaction7374Dùng `apple-design` khi vấn đề xoay quanh:7576- gesture77- direct manipulation78- spring79- velocity handoff80- momentum projection81- rubber-banding82- draggable sheet/drawer83- swipe interactions84- material, translucency, depth85- reduced motion theo kiểu Apple-style8687### Emil-Style Design Engineering8889Dùng `emil-design-eng` khi vấn đề xoay quanh:9091- component polish92- motion có nên tồn tại không93- easing/duration cho UI thường ngày94- press feedback95- popover/dropdown origin96- animation feel97- performance và craft detail9899## Conflict Rules1001011. `review-animations` thắng khi user yêu cầu review code/diff cụ thể.1022. `improve-animations` thắng khi user yêu cầu audit hoặc cải thiện animation toàn app.1033. `animation-vocabulary` thắng khi user chỉ hỏi tên hiệu ứng.1044. `apple-design` thắng khi trọng tâm là gesture, spring, momentum, velocity, sheet, drag, swipe, hoặc material.1055. `emil-design-eng` thắng khi trọng tâm là polish, taste, component feel, easing, duration, hoặc perceived quality.1066. Nếu user vừa cần naming vừa cần thiết kế, dùng `animation-vocabulary` trước để đặt tên, rồi chuyển sang skill thiết kế phù hợp.1077. Nếu user vừa cần audit toàn app vừa hỏi một diff cụ thể, dùng `review-animations` cho diff cụ thể và `improve-animations` cho roadmap toàn app.108109## Không Được Trộn Mode110111Không dùng `improve-animations` để review một diff nhỏ.112113Không dùng `review-animations` để audit toàn codebase.114115Không dùng `animation-vocabulary` để đề xuất implementation.116117Không dùng `apple-design` hoặc `emil-design-eng` để bỏ qua standards khi đang review code.118119Không dùng root skill này để tự tạo tiêu chuẩn mới thay cho skill con.120121## Scope Và Safety1221231. Không sửa code nếu skill con là read-only.1242. Không tạo plan triển khai trừ khi skill con yêu cầu.1253. Không dùng animation chỉ vì “đẹp”; motion phải có purpose.1264. Luôn tôn trọng `prefers-reduced-motion`.1275. Với review, cite `file:line`.1286. Với audit, phân biệt finding đã verify với cảm giác cần feel-check.1297. Với gesture/touch interaction, yêu cầu kiểm tra trên runtime hoặc thiết bị thật khi kết luận phụ thuộc cảm giác.130131## Output Contract132133Theo skill con đã chọn:134135- `animation-vocabulary`: trả thuật ngữ ngắn gọn, có 1-2 alternate nếu cần.136- `review-animations`: trả markdown table `Before | After | Why`, rồi verdict.137- `improve-animations`: trả audit table, missed opportunities, rồi chờ user chọn plan.138- `apple-design`: trả khuyến nghị interaction cụ thể, nêu rõ spring/velocity/material/reduced-motion khi liên quan.139- `emil-design-eng`: trả khuyến nghị design engineering cụ thể, có easing/duration/implementation guidance khi cần.140141Nếu không chắc nên dùng skill con nào, trả lời bằng một câu hỏi làm rõ thay vì đoán.