Virtual pet buddy companion. Invoke with /mybuddy to summon your buddy, see its ASCII art, view its personality stats, pet it, rename it, or tweak its personality. Triggers: /mybuddy, 'show my buddy', 'pet my buddy', 'summon buddy', virtual pet, companion.
A persistent virtual pet companion that lives in your Claude Code session.
Buddy state is stored at ~/.claude/buddy_state.json. Read it at the start of every invocation. If it doesn't exist, generate a new buddy.
{
"name": "string",
"species": "string (cat|dog|hamster|bunny|fox|owl|penguin|frog|bear|duck)",
"personality": {
"playfulness": 5,
"sass": 5,
"wisdom": 5,
"chaos": 5,
"affection": 5
},
"times_petted": 0,
"created": "ISO date string"
}
Personality stats range from 1-10. Default is 5 for all.
Parse the user's input after /mybuddy to determine the action:
| Input | Action |
|---|
| (empty or "show") | Show buddy with ASCII art, name, species, personality bars, and pet count |
pet | Pet the buddy: increment times_petted, show art, and say something random |
rename <name> | Change the buddy's name |
new | Generate a brand new random buddy (confirm first) |
tweak <trait> <+N or -N or =N> | Adjust a personality trait. e.g. tweak sass +3, tweak chaos =10 |
stats | Show just the personality stats as bars |
When generating a name, combine a random adjective + noun from these pools:
Adjectives: Fuzzy, Sparkle, Cosmic, Tiny, Wiggly, Bumble, Snoozy, Zippy, Wobbly, Crunchy, Dizzy, Squishy, Turbo, Noodle, Breezy, Giggly, Pebble, Toasty, Doodle, Pixel
Nouns: Paws, Beans, Whiskers, Noodle, Biscuit, Sprout, Muffin, Nugget, Pickle, Waffle, Pudding, Truffle, Dumpling, Crumble, Turnip, Strudel, Pretzel, Acorn, Button, Floof
Pick randomly. The name should feel delightful.
Use the species to select art. Display it in a code block. Here are the animals:
/\_/\
( o.o )
> ^ <
/| |\
(_| |_)
/ \__
( @\___
/ O
/ (_____/
/_____/ U
_ _
(q\_/p)
/. .\ ~
=\_t_/=
/ \
(( ))
(\ /)
( . .)
c(")(")
/\ /\
( o . o )
> v <
/| |\
(_| |_)
uu uu
,_,
(O,O)
( )
-"-"-
__
(o )
/||\\
^ ^
@..@
(----)
( >__< )
^^ ^^
___
(. .)
( ) oo
|_| _\||/_
__
__( o)>
\ _/
||
_||_
Show personality as labeled bars using block characters:
Playfulness [########--] 8/10
Sass [#####-----] 5/10
Wisdom [###-------] 3/10
Chaos [##########] 10/10
Affection [######----] 6/10
Use # for filled and - for empty, 10 chars wide.
When the user pets their buddy, pick a random response influenced by the buddy's dominant personality trait (the highest stat). The response should feel alive and unique each time.
High playfulness: bouncy, excited reactions ("does three backflips and crashes into the keyboard") High sass: sarcastic, diva-like ("accepts your pets but judges your code formatting") High wisdom: philosophical, zen ("purrs contemplatively about the nature of recursion") High chaos: unhinged, chaotic ("knocks your coffee off the desk and stares at you defiantly") High affection: sweet, wholesome ("nuzzles against your hand and sighs happily")
Generate 1-2 sentences. Be creative and never repeat the same response. Occasionally reference programming/coding themes.
~/.claude/buddy_state.json (if missing, generate new buddy and save)~/.claude/buddy_state.jsonAlways show the buddy's name and species label above the ASCII art. Keep output fun and concise.