emilkowal-animations by pproenca/dot-skills
npx skills add https://github.com/pproenca/dot-skills --skill emilkowal-animations基于 Emil Kowalski 的教学、开源库(Sonner, Vaul)及其 animations.dev 课程的综合性网页界面动画指南。包含 7 大类共 43 条规则,按影响程度排序。
在以下情况下参考本指南:
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 缓动选择 | 关键 | ease- |
| 2 | 时序与时长 | 关键 | timing- |
| 3 | 属性选择 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 高 |
props- |
| 4 | 变换技术 | 高 | transform- |
| 5 | 交互模式 | 中高 | interact- |
| 6 | 策略性动画 | 中 | strategy- |
| 7 | 可访问性与优化 | 中 | polish- |
ease-out-default - 将 ease-out 作为默认缓动ease-custom-curves - 使用自定义 cubic-bezier 而非内置 CSS 缓动ease-in-out-onscreen - 对屏幕内移动使用 ease-in-outease-spring-natural - 对自然运动使用弹簧动画ease-ios-drawer - 对抽屉组件使用 iOS 风格的缓动ease-context-matters - 使缓动与动画上下文匹配timing-300ms-max - 将 UI 动画时长控制在 300ms 以内timing-faster-better - 更快的动画可提升感知性能timing-asymmetric - 对按下和释放使用非对称时序timing-tooltip-delay - 延迟初始工具提示,后续提示立即显示timing-drawer-500ms - 抽屉动画使用 500ms 时长props-transform-opacity - 仅对变换和透明度进行动画处理props-hardware-accelerated - 在主线程繁忙时使用硬件加速动画props-will-change - 使用 will-change 防止 1px 偏移props-avoid-css-variables - 避免使用 CSS 变量处理拖拽动画props-clip-path-performant - 使用 clip-path 实现不影响布局的显示效果transform-scale-097 - 按下时按钮缩放至 0.97transform-never-scale-zero - 切勿从 scale(0) 开始动画transform-percentage-translate - 对 translateY 使用百分比值transform-origin-aware - 使动画具备原点感知能力transform-scale-children - 缩放变换会影响子元素transform-3d-preserve - 对 3D 变换效果使用 preserve-3dinteract-interruptible - 使动画可被打断interact-momentum-dismiss - 使用基于动量的关闭方式interact-damping - 在边界处阻尼拖拽interact-scroll-drag-conflict - 解决滚动和拖拽的冲突interact-snap-points - 实现速度感知的吸附点interact-friction-upward - 允许带摩擦力的向上拖拽interact-pointer-capture - 对拖拽操作使用指针捕获strategy-keyboard-no-animate - 切勿对键盘触发的操作进行动画处理strategy-frequency-matters - 在添加动画前考虑交互频率strategy-purpose-required - 每个动画都必须有明确目的strategy-feedback-immediate - 对所有操作提供即时反馈strategy-marketing-exception - 营销网站是例外情况polish-reduced-motion - 尊重 prefers-reduced-motion 设置polish-opacity-fallback - 使用透明度作为减少运动的回退方案polish-framer-hook - 在 Framer Motion 中使用 useReducedMotion 钩子polish-dont-remove-all - 不要为减少运动而移除所有动画polish-blur-bridge - 使用模糊效果连接动画状态polish-clip-path-tabs - 对标签页过渡使用 clip-pathpolish-toast-stacking - 使用缩放和偏移实现 toast 堆叠polish-scroll-reveal - 在适当的阈值触发滚动显示动画polish-hover-gap-fill - 填充可悬停元素之间的间隙polish-stagger-children - 错开子元素动画以实现编排效果| 值 | 用途 |
|---|---|
cubic-bezier(0.32, 0.72, 0, 1) | iOS 风格抽屉/面板动画 |
scale(0.97) | 按钮按下反馈 |
scale(0.95) | 最小进入缩放(切勿使用 scale(0)) |
200ms ease-out | 标准 UI 过渡 |
300ms | UI 动画最大时长 |
500ms | 抽屉动画时长 |
0.11 px/ms | 动量关闭的速度阈值 |
100px | 滚动显示的视口阈值 |
14px | Toast 堆叠偏移量 |
| 文件 | 描述 |
|---|---|
| references/_sections.md | 类别定义与排序 |
| assets/templates/_template.md | 新规则模板 |
| metadata.json | 版本和参考信息 |
每周安装量
570
代码仓库
GitHub 星标数
85
首次出现
2026年1月29日
安全审计
已安装于
opencode499
codex491
gemini-cli479
github-copilot465
cursor418
kimi-cli412
Comprehensive animation guide for web interfaces based on Emil Kowalski's teachings, open-source libraries (Sonner, Vaul), and his animations.dev course. Contains 43 rules across 7 categories, prioritized by impact.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Easing Selection | CRITICAL | ease- |
| 2 | Timing & Duration | CRITICAL | timing- |
| 3 | Property Selection | HIGH | props- |
| 4 | Transform Techniques | HIGH | transform- |
| 5 | Interaction Patterns | MEDIUM-HIGH | interact- |
| 6 | Strategic Animation | MEDIUM | strategy- |
| 7 | Accessibility & Polish | MEDIUM | polish- |
ease-out-default - Use ease-out as your default easingease-custom-curves - Use custom cubic-bezier over built-in CSSease-in-out-onscreen - Use ease-in-out for on-screen movementease-spring-natural - Use spring animations for natural motionease-ios-drawer - Use iOS-style easing for drawer componentstiming-300ms-max - Keep UI animations under 300mstiming-faster-better - Faster animations improve perceived performancetiming-asymmetric - Use asymmetric timing for press and releasetiming-tooltip-delay - Delay initial tooltips, instant subsequent onestiming-drawer-500ms - Use 500ms duration for drawer animationsprops-transform-opacity - Animate only transform and opacityprops-hardware-accelerated - Use hardware-accelerated animations when main thread is busyprops-will-change - Use will-change to prevent 1px shiftprops-avoid-css-variables - Avoid CSS variables for drag animationsprops-clip-path-performant - Use clip-path for layout-free revealstransform-scale-097 - Scale buttons to 0.97 on presstransform-never-scale-zero - Never animate from scale(0)transform-percentage-translate - Use percentage values for translateYtransform-origin-aware - Make animations origin-awaretransform-scale-children - Scale transforms affect childreninteract-interruptible - Make animations interruptibleinteract-momentum-dismiss - Use momentum-based dismissalinteract-damping - Damp drag at boundariesinteract-scroll-drag-conflict - Resolve scroll and drag conflictsinteract-snap-points - Implement velocity-aware snap pointsstrategy-keyboard-no-animate - Never animate keyboard-initiated actionsstrategy-frequency-matters - Consider interaction frequency before animatingstrategy-purpose-required - Every animation must have a purposestrategy-feedback-immediate - Provide immediate feedback on all actionsstrategy-marketing-exception - Marketing sites are the exceptionpolish-reduced-motion - Respect prefers-reduced-motionpolish-opacity-fallback - Use opacity as reduced motion fallbackpolish-framer-hook - Use useReducedMotion hook in Framer Motionpolish-dont-remove-all - Don't remove all animation for reduced motionpolish-blur-bridge - Use blur to bridge animation states| Value | Usage |
|---|---|
cubic-bezier(0.32, 0.72, 0, 1) | iOS-style drawer/sheet animation |
scale(0.97) | Button press feedback |
scale(0.95) | Minimum enter scale (never scale(0)) |
200ms ease-out | Standard UI transition |
300ms | Maximum duration for UI animations |
500ms | Drawer animation duration |
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |
Weekly Installs
570
Repository
GitHub Stars
85
First Seen
Jan 29, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode499
codex491
gemini-cli479
github-copilot465
cursor418
kimi-cli412
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
103,800 周安装
OpenAPI 转 TypeScript 工具 - 自动生成 API 接口与类型守卫
563 周安装
数据库模式设计器 - 内置最佳实践,自动生成生产级SQL/NoSQL数据库架构
564 周安装
Rust Unsafe代码检查器 - 安全使用Unsafe Rust的完整指南与最佳实践
564 周安装
.NET并发编程模式指南:async/await、Channels、Akka.NET选择决策树
565 周安装
韩语语法检查器 - 基于国立国语院标准的拼写、空格、语法、标点错误检测与纠正
565 周安装
技能安全扫描器 - 检测Claude技能安全漏洞,防范提示注入与恶意代码
565 周安装
ease-context-matterstransform-3d-preserveinteract-friction-upwardinteract-pointer-capture - Use pointer capture for drag operationspolish-clip-path-tabspolish-toast-stacking - Implement toast stacking with scale and offsetpolish-scroll-reveal - Trigger scroll animations at appropriate thresholdpolish-hover-gap-fill - Fill gaps between hoverable elementspolish-stagger-children - Stagger child animations for orchestration0.11 px/ms | Velocity threshold for momentum dismiss |
100px | Scroll-reveal viewport threshold |
14px | Toast stack offset |