buddy-reroll
This skill should be used when the user asks to 'reroll buddy', 'change buddy', '刷宠物', '换宠物', 'reset buddy', 'reroll /buddy', '想要一只新的宠物', '看看有什么宠物', or mentions Claude Code buddy/companion customization. Helps users search for a specific buddy combination and apply it to their config.
来源信息
- 仓库
- BAIKEMARK/claude-buddy-reroll
- 最近来源活动
- 2026年4月2日 13:48
- 检测到的 SKILL.md 语言
- 中文
- 星标
- 2
- Forks
- 0
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- buddy-reroll
- description
- This skill should be used when the user asks to 'reroll buddy', 'change buddy', '刷宠物', '换宠物', 'reset buddy', 'reroll /buddy', '想要一只新的宠物', '看看有什么宠物', or mentions Claude Code buddy/companion customization. Helps users search for a specific buddy combination and apply it to their config.
# Claude Code 宠物刷取
帮用户刷取自定义的 Claude Code `/buddy` 宠物组合。
## 原理
宠物由 `hash(userID + SALT)` 确定性生成。SALT = `friend-2026-401`。哈希函数取决于安装方式:
| 安装方式 | 运行时 | 哈希函数 | 运行命令 |
|---------|--------|---------|---------|
| `npm install` | Node.js | FNV-1a | `node scripts/buddy-reroll.js` |
| 官方 native | Bun | Bun.hash | `bun scripts/buddy-reroll.js` |
**用错运行时结果完全不对!**
## Step 0: 检查版本
`/buddy` 功能需要 Claude Code **v2.1.88** 及以上版本。
运行 `claude --version` 检查当前版本。如果低于 v2.1.88,提示用户先更新:
- npm 用户:`npm update -g @anthropic-ai/claude-code`
- native 用户:`claude update`
版本不够则停止后续流程,等用户更新完成后再继续。
## Step 1: 判断安装方式
读 `~/.claude.json` 的 `installMethod` 字段:
- `"global"` → npm → 用 `node`
- `"native"` → 官方 → 用 `bun`
## Step 2: 查看当前宠物
读 `~/.claude.json`,宠物种子字段优先级:
- `oauthAccount.accountUuid` 存在 → 用这个
- 否则 → 用 `userID`
```bash
node scripts/buddy-reroll.js --check <值>
```
展示当前宠物的物种、稀有度、眼睛、帽子、闪光、属性和名字。
## Step 3: 选择宠物配置
**核心原则:一次展示全部选项,让用户直接用自然语言告诉想要什么组合。不要用 AskUserQuestion 选择类别(选项数限制无法展示全部)。**
### 3.1 展示完整选项清单
输出完整的宠物选项参考,一次性全部展示,引导用户去图鉴页面看预览。格式示例:
```
🐾 宠物配方大全
👉 不确定选什么?打开图鉴页面看看每个宠物的样子:
https://baikemark.github.io/claude-buddy-reroll/
【稀有度】
普通 ★ (60%) | 非凡 ★★ (25%) | 稀有 ★★★ (10%) | 史诗 ★★★★ (4%) | 传奇 ★★★★★ (1%)
【物种(18种)】
鸭子 鹅 史莱姆 猫 龙 章鱼 水豚 机器人
猫头鹰 企鹅 乌龟 蜗牛 幽灵 美西螈 仙人掌 兔子 蘑菇 胖猫
【眼睛】
默认· 星星✦ 晕眩× 大眼◉ 机械@ 惊讶°
【帽子】(普通稀有度固定无帽子)
无 皇冠 高礼帽 螺旋桨 光环 巫师帽 毛线帽 小鸭子
【闪光】1% 概率,搜索时间更长,名字会标记为"格外特别"
告诉我你想要的组合,比如"传奇猫 皇冠 星星眼 闪光"。
想看某个物种的 ASCII 样子,也可以直接说。
```
**注意:必须把所有选项一次性全部展示,不要分页、不要分轮、不要用 AskUserQuestion 选。**
### 3.2 用户选择
用户直接用自然语言回答想要的组合(比如"传奇猫 皇冠 星星眼"、"我想要一只闪光的龙")。如果用户对某个物种感兴趣想看长什么样,读取 `references/sprites.md` 渲染对应 ASCII 精灵。
如果用户没说稀有度,默认不限制。如果没说眼睛/帽子,默认不限制(随机)。普通稀有度自动跳过帽子。
### 3.3 闪光和属性
用 AskUserQuestion 一次性弹出闪光和属性两个问题(左右切换):
- **闪光**:不要 / 要闪光(1% 概率,搜索更久)
- **属性要求**:不限(默认≥90) / 高属性(≥95) / 极限(=100)
如果用户在 3.2 中已经说了要闪光或指定了属性,跳过此步。
### 3.4 汇总确认
根据用户选择汇总配置,展示后开始搜索。
## Step 4: 搜索目标宠物
把中文选项转为英文参数:
**中文→英文映射:**
物种:鸭子=duck, 鹅=goose, 史莱姆=blob, 猫=cat, 龙=dragon, 章鱼=octopus, 猫头鹰=owl, 企鹅=penguin, 乌龟=turtle, 蜗牛=snail, 幽灵=ghost, 美西螈=axolotl, 水豚=capybara, 仙人掌=cactus, 机器人=robot, 兔子=rabbit, 蘑菇=mushroom, 胖猫=chonk
眼睛:默认=·, 星星=✦, 晕眩=×, 大眼=◉, 机械=@, 惊讶=°
帽子:无=none, 皇冠=crown, 高礼帽=tophat, 螺旋桨=propeller, 光环=halo, 巫师帽=wizard, 毛线帽=beanie, 小鸭子=tinyduck
稀有度:普通=common, 非凡=uncommon, 稀有=rare, 史诗=epic, 传奇=legendary
```bash
node scripts/buddy-reroll.js --species cat --rarity legendary --eye '✦' --hat crown
```
其他参数:`--shiny`(闪光)、`--min-stats 95`(高属性)、`--min-stats 100`(极限属性)
搜索结果展示后,用 AskUserQuestion 让用户选择要应用哪一个 uid(通常 3 个结果,刚好 ≤4 个选项)。
## Step 5: 处理名字和性格
**重要:不要直接删除 companion 块!先读取当前 companion 的 name 和 personality,然后询问用户。**
读 `~/.claude.json` 的 `companion` 块,获取当前名字(如有)。
使用 AskUserQuestion 询问:
```
你的宠物当前名字是"咪呜"。
你想怎么处理名字和性格?
1. 保留原名(不改名字和性格)
2. 自定义名字(支持中文和英文)
3. 让 Claude Code 重新生成(基于新宠物的稀有度、物种、属性自动生成)
```
**选项说明:**
A. **保留原名** — 只替换 uid,不动 companion 块。如果 companion 块不存在则保留为空。
B. **自定义名字** — 用户输入自定义名字和性格(支持中文和英文)。更新 companion 块:
```json
"companion": {
"name": "用户输入的名字",
"personality": "用户输入的性格描述",
"hatchedAt": 1775015300069
}
```
如果用户只输入了名字没输入性格,让 Claude Code 自动生成性格。如果用户提供了性格描述就用用户的。
C. **让 Claude Code 重新生成** — 删除整个 companion 块,重启后 Claude Code 会调用 LLM 根据新宠物的稀有度、物种、属性和 156 词灵感库自动生成名字和性格。
## Step 6: 写入配置
只改 **`~/.claude.json`** 一个文件。
**改哪个字段:**
- `oauthAccount.accountUuid` 存在 → 改这个
- 否则 → 改 `userID`
完整流程:读配置 → 确定种子字段 → 替换为搜索结果 → 根据用户选择更新/保留/删除 companion → 用 AskUserQuestion 确认写入(确认 / 取消) → 提示重启并 `/buddy`
## 属性说明
调试(DEBUGGING)、耐心(PATIENCE)、混乱(CHAOS)、智慧(WISDOM)、毒舌(SNARK)。
每个宠物有 1 个最高属性和 1 个最低属性。属性影响 LLM 生成的名字和性格。
## 注意
- 脚本路径:`scripts/buddy-reroll.js`(相对于此 skill)
- 闪光(shiny)目前无视觉差异,但在名字生成时会标记为"格外特别"
- 改 userID/accountUuid 不影响 API key、对话历史、本地配置
在 GitHub 查看