Skip to content

chore(skills): 收录 emilkowalski/skills 的动效 skill - #5

Merged
Owlbay merged 1 commit into
mainfrom
cursor/emilkowalski-animation-skills-b195
Oct 28, 2026
Merged

Owlbay merged 1 commit into
mainfrom
cursor/emilkowalski-animation-skills-b195

Conversation

@Owlbay

@Owlbay Owlbay commented Oct 28, 2026

Copy link
Copy Markdown
Owner

收录了什么

从 emilkowalski/skills(MIT,Emil Kowalski,锁定提交 2d22863)按现有上游流程收录动效 skill。vendor/ 只由 scripts/sync-upstream.py 写入,安装范围为 scope: user,装到 ~/.claude/skills/。

位置:vendor/emilkowalski-skills/skills/<name>/。清单在 skills.json,锁定提交在 skills.lock.json,许可证说明在 THIRD_PARTY_NOTICES.md,收录表在 README.md。这些是要安装的 skill,走 vendor/,不写进 docs/references/。docs/references/ 只放不安装的外部资料摘要。

skill 上游路径 作用
animate skills/animate 从零做动效并写出实现
review-animations skills/review-animations 按标准严格评审动效
improve-animations skills/improve-animations 只读审计,写出可执行计划
find-animation-opportunities skills/find-animation-opportunities 找出该动和不该动的地方
animation-performance skills/animation-performance 掉帧与合成层性能
animation-vocabulary skills/animation-vocabulary 把口语描述对上动效术语
animate-expo skills/animate-expo 同一套标准,面向 React Native / Expo
apple-design skills/apple-design Apple 流体动效原则的 Web 转写
emil-design-eng skills/emil-design-eng 以动效决策为主的设计工程总纲

取舍

一起收

  • animate-expo:全文都是动效,是 animate 在 React Native / Expo 上的同一套标准(手势、sheet、转场、把动画留在 UI 线程)。用户级 skill 不限于 Web 项目。
  • apple-design:主干是流体动效(即时反馈、1:1 拖拽、可打断、弹簧、速度交接、动量投影、橡皮筋、减弱动效)。材质、排版和八条设计原则是这段动效语言的上下文,不是另一套视觉体系。animate 和 emil-design-eng 用的也是这套弹簧和手势模型。
  • emil-design-eng:上游 README 写明这是主 skill,「mostly animation, but also some design advice」。正文是该不该动、目的、曲线、时长、弹簧、变换、手势、性能、交错和调试。设计建议是这些规则所在的判断框架,专门的动效 skill 都从这里收束。

不收(与动效无关,未写入 paths,不进 vendor/)

  • write-swift:Swift 语言
  • pick-ui-library:前端库挑选
  • prototype:做多版 UI 并用切换器挑选
  • mobile-native:移动端 Web 的点击高亮、100vh、安全区等;文内写明动效用 animate
  • break-ui:用极端数据压测布局
  • ask-sonner:Sonner toast 库用法

根目录 performance-cheatsheet.md 没有被上述 skill 引用,未同步。

重名

与已收录的 better-*、impeccable、web-design-guidelines,以及 jakubkrehel 里已在 vendor 但未列入安装清单的 build-design、teardown、state-machine,目录名都不重复。安装目标是 ~/.claude/skills/<name>/,不会互相覆盖。

impeccable 内部有 reference/animate.md,better-ui 内部有 animations.md。它们是 skill 内的参考文件,不是同名 skill。曲线和按压缩放的具体数值与 Emil 的条目不完全相同;按仓库约定上游原样保留,不合并、不改名。

顺带对齐

scripts/sync-upstream.py 会检查清单里的每个上游。这次运行时 impeccable(3671d50 → 3e3a917)和 vercel-agent-skills(063bee9 → 1a2c79d)已有新提交,一并同步,否则 scripts/sync-upstream.py --check 会失败。skill 名称和许可证路径没变;vercel 的 README 只改了未收录的部署 skill 说明。

检查

  • scripts/sync-upstream.py --check 通过
  • scripts/check.sh 通过
Open in Web Open in Cursor 

只把动效相关目录同步到 vendor/emilkowalski-skills/,安装范围为用户级。
同步脚本同时将 impeccable 与 vercel-agent-skills 对齐到当前上游 HEAD,以便 --check 通过。

Co-authored-by: Owlbay <gzh298255@gmail.com>
@Owlbay
Owlbay merged commit 0d19116 into main Oct 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants