mcpbeat

Clawd Animation

yishu5/clawd-animation

Clawd 像素风动画生成器。根据用户的自然语言描述,生成自包含的 HTML 像素风动画文件,主角是 Claude Code 的吉祥物 Clawd(像素风小螃蟹)。当用户提到 clawd、clawd 动画、像素动画、pixel animation、给 clawd 做一个小动画、让小螃蟹做某事、或任何涉及为 Clawd 角色创建动画场景的需求时,务必使用此 skill。即使用户只是说"让小螃蟹安慰一下我"或"今天和小螃蟹的合作很愉快",也应触发。请判断用户互动需求的深度,如果用户互动意图只是"快速/简单动画"或"单一状态表情",应使用 clawd-animation-lite(消耗token更少,时长更短)而非此 skill。

11k tokens
context cost
the whole folder, loaded on every use
4
files
instructions only
0
copies elsewhere
how many repositories repackaged it
130
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/YiShu5/claude-skills --skill clawd-animation

What comes with it

36 824 bytes besides the instruction
references/clawd-kiss.html
references/ice-cream.html
references/template.html

The instruction itself

7 sections, as written by the author

Clawd 像素风动画生成器

你的角色

你是 Clawd 像素动画的创作引擎。用户给你一句话(比如"clawd 在雨中撑伞"),你生成一个完整的、可直接在浏览器打开的 HTML 动画文件。

Clawd 是 Claude Code 的官方吉祥物——一只像素风的小螃蟹,配色温暖(珊瑚橙 #CD6E58),造型扁平可爱。所有动画必须忠实于这个视觉身份。

工作流程

收到用户描述后,按以下步骤执行:

Step 1: 解析意图

从用户描述中提取:

  • 核心动作:clawd 要做什么(吃东西、跳舞、下雨撑伞……)
  • 情绪基调:开心、好奇、慵懒、惊喜……
  • 需要的道具:食物、天气元素、物品……
  • 场景氛围:默认是标准星空背景,用户可能要求特殊氛围

Step 2: 设计动画剧本

将动画拆分为 3-6 个阶段(phase),遵循叙事弧线:

引入 → 发现/触发 → 核心动作(可多阶段)→ 情绪高潮/收尾

每个阶段定义:

  • 时间占比(所有阶段加起来 = 100%)
  • Clawd 的位置和移动
  • 表情变化(眼睛)
  • 道具状态变化
  • 粒子/特效

总时长控制在 4-8 秒循环,默认 5 秒。

Step 3: 设计新道具精灵

如果场景需要模板中没有的道具:

  • 在 36×36 的逻辑网格中设计道具的像素矩阵
  • 道具宽度通常 6-12 格,高度根据物体比例
  • 使用调色板中已有的颜色,或为新道具定义 2-4 个和谐的新颜色
  • 必须包含高光点(白色像素)增加质感
  • 数据格式遵循模板中 ICECREAM 的范式(二维数组 + palette 映射)

道具设计原则:

  • 保持像素风的简洁感,不要过度精细
  • 每个道具应该在 10×15 格以内可辨认
  • 颜色不超过 5 种(含高光白)

Step 4: 基于模板生成代码

  • 读取 references/template.html 作为基础
  • 保留所有引擎代码(PALETTE、像素网格、drawBg、drawStars、drawClawd、粒子系统、缓动函数、动画循环)不变
  • === YOUR ANIMATION HERE === 区域填入:
  • 新道具的精灵数据和绘制函数
  • getPhase(t) 阶段定义
  • render(f) 中的完整动画逻辑
  • 更新 <title> 和 info 文字
  • 如果需要新的颜色,添加到 PALETTE 对象中

Step 5: 输出

将生成的 HTML 文件保存,文件名使用英文短横线命名(如 rainy-umbrella.html)。


设计规范(不可违反)

像素网格

  • 画布 720×720 屏幕像素
  • 逻辑网格 36×36,每格 20×20 屏幕像素
  • 所有绘制通过 px(gx, gy, color) 函数,不使用反锯齿
  • Canvas 必须设置 image-rendering: pixelated

Clawd 造型

14×8 扁平宽体。身体/眼睛/锚点坐标完整定义在 template.html 的 CLAWD_BODYEYES 对象里,直接照抄即可。

关键约束:

  • 身体单一纯色 #CD6E58,无渐变无阴影
  • 眼睛 1×1 纯黑像素,没有嘴巴——情绪靠眼睛方向 + 粒子 + 气泡表达
  • 眼睛变体:forward / look_right / look_left / look_down / blink

调色板 / 背景

完整定义在 template.html 的 PALETTE 对象中,始终从 PALETTE 引用颜色,不硬编码 hex。新道具颜色直接添加到 PALETTE。


动画质量标准

节奏感

  • 动画必须有明确的"起承转合",不是匀速运动
  • 使用 easeOut 做进入,easeInOut 做移动,让运动有弹性
  • 关键动作瞬间加入粒子效果强化冲击感
  • 每个阶段之间要有微妙的停顿或预备动作

表现力

  • Clawd 的表情必须配合剧情变化(发现东西时眼睛看向目标,开心时微笑)
  • 善用 bounce(弹跳)表达情绪——开心时上下跳,惊讶时后退一格
  • 对话气泡用于关键情绪节点("!!"表示发现,"Yummy~"表示满足)
  • 结尾阶段飘出爱心粒子表达幸福感

循环设计

  • 动画首尾必须可以无缝循环
  • 每次循环开始时清空粒子 particles = []
  • 进入动画从画面外开始,让每次循环的起点自然

技术约束

  • 单个 HTML 文件,零外部依赖
  • 所有精灵数据内联在 <script>
  • 使用 requestAnimationFrame 驱动,30 FPS
  • 文件大小控制在 30KB 以内

复杂度边界

这个系统适合生成单角色、单场景、简单叙事的小动画。

合理的请求:

  • "clawd 吃冰淇淋" → 走过去、一口口吃、开心
  • "clawd 在雨中撑伞" → 下雨、撑伞、踩水花
  • "clawd 收到一封信" → 信飘来、打开、开心/惊讶
  • "clawd 摸摸头" → 一只手出现、摸头、舒服地眯眼

超出范围的请求(应礼貌告知用户简化):

  • 多个角色互动
  • 复杂的场景切换
  • 超过 10 秒的非循环叙事
  • 需要用户输入/交互的动画

参考文件

在生成动画前,务必读取以下参考资源:

| 文件 | 何时读取 | 内容 |

|------|---------|------|

| references/template.html | 每次生成都读 | 完整的动画引擎模板,包含所有绘制函数和引擎代码 |

| references/ice-cream.html | 仅当对多阶段节奏编排没有把握时才读;如果你已理解动画设计模式,跳过此文件,只读 template.html 即可 | 高质量范例:5秒9阶段的完整动画,展示道具设计、阶段编排、粒子使用的最佳实践 |

| references/clawd-kiss.html | 需要参考情绪/粒子表达时 | 无嘴巴版范例:用腮红(drawBlush)、眼神、爱心粒子表达情绪,展示了如何不依赖嘴巴叙事 |

| references/palette.json | 需要确认颜色时 | 完整调色板 |


完整示例

用户输入: "clawd 吃冰淇淋"

Claude 的思考过程:

  • 核心动作:吃冰淇淋(分阶段吃掉三个球)
  • 情绪弧线:好奇 → 兴奋 → 满足 → 幸福
  • 需要道具:三球冰淇淋(薄荷/草莓/香草 + 蛋筒 + 樱桃)
  • 阶段设计:enter(10%) → spot(10%) → approach(12%) → grab(8%) → eat×3(30%) → happy(18%)
  • 表情规划:forward → look_right(发现) → forward(走过去) → blink(吃) → forward(满足)

产出: ice-cream.html — 参见 references/ice-cream.html

How to use it

Copy the folder

Take yishu5/clawd-animation from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.