webup-buddy-reroll — Claude Code skill: reroll your /buddy companion
Rerolls the /buddy companion in Claude to a target species and rarity, and can rename it or set its personality.
npx skills add webup/skills-cc --skill webup-buddy-reroll -a claude-codeWhat webup-buddy-reroll does
Claude hands out companions deterministically: hash(userID + SALT) feeds a mulberry32 PRNG, which decides rarity, species, eyes, hat and shiny. The same userID always yields the same companion. This skill brute-forces userID values in ~/.claude.json until the hash lands on your target, clears the companion field, and asks you to restart Claude.
The hash is the catch. Claude ships bundled with Bun, so Bun.hash() (xxHash64) is the correct function; FNV-1a from Node.js returns something else entirely. The scripts have to run under Bun or the search never converges. Three scripts do the work: reroll.mjs for species and rarity, rename.mjs for name and personality, oauth-setup.mjs for the OAuth path.
You need Claude 2.1.89 or newer — /buddy did not exist before that, and the script checks the version and exits if it is too old. On an API key the userID is yours to replace, so it just works. Pro and Max subscribers carry an accountUuid in the config, and /buddy reads that instead of userID, so the OAuth setup in a separate terminal comes first. Extra step, but without it the reroll does nothing for subscribers.
What it helps with
- force a specific companion species instead of rerolling by hand
- land a legendary companion rather than whatever dropped
- rename a companion and give it a personality
- work around the accountUuid binding on Pro and Max accounts
- check whether the installed Claude version supports /buddy
Example prompts for the agent
- /webup-buddy-reroll dragon legendary
- /webup-buddy-reroll dragon legendary 沧海九粟 爱打盹的小龙
- /webup-buddy-reroll 改名叫沧海九粟,个性是爱打盹的小龙
How to install webup-buddy-reroll
1Skills CLI (Vercel)
npx skills add webup/skills-cc --skill webup-buddy-reroll -a claude-code2Manually: put the files in place
~/.claude/skills/webup-buddy-reroll/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/webup-buddy-reroll/
1Skills CLI (Vercel)
npx skills add webup/skills-cc --skill webup-buddy-reroll -a codex2Manually: put the files in place
.agents/skills/webup-buddy-reroll/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add webup/skills-cc --skill webup-buddy-reroll -a cursor2Manually: put the files in place
.cursor/skills/webup-buddy-reroll/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install webup/skills-cc webup-buddy-reroll2Manually: put the files in place
.github/skills/webup-buddy-reroll/SKILL.md1Skills CLI (Vercel)
npx skills add webup/skills-cc --skill webup-buddy-reroll -a gemini-cli2Platform CLI
gemini skills install https://github.com/webup/skills-cc --path skills/webup-buddy-rerollManually: put the files in place
.devin/skills/webup-buddy-reroll/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add webup/skills-cc --skill webup-buddy-reroll -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about webup-buddy-reroll
How do I install webup-buddy-reroll in Claude?
Run npx skills add webup/skills-cc --skill webup-buddy-reroll -a claude-code. The skill then lives at ~/.claude/skills/webup-buddy-reroll/SKILL.md.
What does webup-buddy-reroll do?
It brute-forces userID until the hash matches the species and rarity you asked for, writes the result to ~/.claude.json and clears the companion field. It can also just change the name and personality.
Why does the script need Bun?
Claude is Bun-bundled and the hash comes from Bun.hash() (xxHash64). Node.js FNV-1a produces a different value, so the search will not converge under Node.js.