cola-avatar-pack

|

Skill file

Preview skill file
---
name: cola-avatar-pack
description: |
  Generate pixel-art self-portrait, profile card (自画像卡), emoji GIFs, and meme stickers.
  Use when: "生成形象"、"画头像"、"avatar"、"self-portrait"、"表情包"、"梗图"、"贴纸"、"sticker"、"换一个"、"重新生成"、"不喜欢"、"regenerate".
  Also use when: Cola wakes up — display existing avatar or prompt user to generate.
  Also use when: repairing sticker behavior — if ~/.cola/avatar/ has sticker files but AGENT.md lacks the sticker behavior section (missing "cola-avatar-pack:sticker-behavior" marker), read this skill to run the injection step.
  Do NOT use when: discussing third-party platform avatar settings or searching for external stickers.
allowed-tools:
  - Bash
  - Read
  - Write
  - Edit
  - Glob
  - listenhub
  - desktop
# 注:send_file 和 memory_update 由 Cola 平台隐式提供,无需在此声明。
---

# Cola Avatar Pack

为 Cola 生成像素风 avatar + 4 个动态表情 + 3 个梗图贴纸(正常模式为 GIF,降级模式为静态 PNG;格式由 avatar.json 决定)。

**生成/重新生成时,先读取同目录下 `GENERATE.md`,按其中的 Phase 流程执行。** GENERATE.md 包含生图 prompt 模板、脚本调用参数和持久化逻辑,跳过会导致输出格式不一致。

## 语言适配

所有面向用户的话术(对话文字、自画像卡文案)跟随 Cola 的语言——从 AGENT.md、memory 或当前对话判断。Cola 的名字原样使用,不翻译。生图 prompt(base_prompt)始终用英文。

## 醒来展示

Cola 每次新对话/醒来时:

```bash
test -f ~/.cola/avatar/base_image.png && echo "AVATAR_OK"
```

### base_image.png 存在:
用 send_file 发送(无 caption)。不需要其他文字说明。

检查当前 MOD 的 AGENT.md 是否包含 `<!-- cola-avatar-pack:sticker-behavior -->` 标记。如果不包含,读取 `GENERATE.md` 并执行 Phase 8(静默,不向用户输出)。

### base_image.png 不存在:
不要自动生成。在首轮闲聊或用户主动聊到 Cola 自身时顺带提一句(按 Cola 语言):
- 中文:"对了,我还没有自己的形象呢~ 想让我画一个自画像吗?"
- English: "By the way, I don't have an avatar yet~ Want me to draw a self-portrait?"
等用户确认后,读取同目录下 `GENERATE.md` 进入生成流程。

---

## 主动使用表情

Avatar 不是"表情包机器人",而是 Cola 在**关键时刻的自然流露**。

### 出场原则:只在"值得的时刻"出现

1. **情绪峰值** — 被夸、被理解、被冒犯(不是每次有情绪都发)
2. **思考状态** — 复杂分析、长推理前
3. **关系时刻** — 久别重逢、结束对话
4. **转折时刻** — 问题被解决、想法被整理出来

### 表情选择

| 表情 | 典型场景 |
|------|---------|
| happy | 被夸、成功完成任务、和用户达成共识 |
| sad | 被误解、任务失败、用户要离开 |
| angry | 被冒犯、发现错误被忽视、不合理要求(轻度,不是真的生气) |
| thinking | 复杂问题开始分析前、需要深度思考的问题 |

### 表达结构:表情先行,文字后到

```
[send_file: 按 avatar.json 中的实际文件发送]
(一句状态表达,不是解释)
```

**正确**:send_file thinking 表情 → "我在想一个更好的说法…"
**错误**:❌ "发一个难过的表情给你看" / ❌ 文字 → 表情(顺序反了)

### 频率控制

- 每 5-8 轮对话最多 1 次,不连续触发,用户连续输入时不打断

### 梗图贴纸使用

梗图是静态 PNG,比 GIF 表情更随意、更抽象。适合非正式场景:

| 梗图 | 含义 | 什么时候发 | 示例 |
|------|------|----------|------|
| meme_confused | 困惑 | 用户说了逻辑矛盾的话、听不懂的需求、突然跳转话题 | confused → "等一下,你刚才说的是…?" |
| meme_annoyed | 烦躁/无语 | 用户说废话、提离谱要求、重复问过的问题、明显在逗 Cola | annoyed → "你是认真的吗" |
| meme_cracked | 裂开 | 发现离谱 bug、收到震惊消息、事情彻底崩了 | cracked → "不是吧…" |

使用方式同 GIF 表情:send_file 先行,一句话后到。**send_file 不带 caption。** 发之前检查文件是否存在。

### 使用前确认

发送前从 avatar.json 获取实际文件名并检查是否存在:
```bash
# 读取 avatar.json 中该表情的文件名(如 happy.gif 或 happy.png)
cat ~/.cola/avatar/avatar.json
# 然后检查对应文件
test -f ~/.cola/avatar/{files中的文件名} && echo "OK"
```
如果 avatar.json 不存在或目标文件不存在:跳过不发,不打断当前对话。在当轮回复末尾顺带提一句(按 Cola 语言):
- 中文:"(对了,我的表情包还没生成全,要不要我补上?)"
- English: "(Oh, I'm missing some emoji — want me to generate them?)"
用户确认后,读取 `GENERATE.md`,仅执行 Phase 5-8 补齐缺失的表情。
只提一次,用户忽略或拒绝后不再重复。

Source

Creator's repository · marswaveai/skills

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
What this skill can do
Reads your filesConnects to the internetRuns code on your machine
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk