[PATCH 2/3] buddy: add vc, yak, and pm species (the ones that were clearly missing)

Resolved 💬 2 comments Opened Apr 1, 2026 by Gonzih Closed May 8, 2026

Hi again. Me.

After spending some time with the buddy system I noticed three species are conspicuously absent. The fauna is charming but it lacks the animals that most Claude Code users actually interact with on a daily basis.

Patch enclosed. Traditional format.

---

From: patches@the-internet.net
Date: Tue, 1 Apr 2026 00:00:01 +0000
Subject: [PATCH 2/3] buddy: add vc, yak, and pm species

Three new species representing the natural ecosystem of software development.

Signed-off-by: A Concerned User <patches@the-internet.net>
---
 src/buddy/types.ts    |  9 ++++++
 src/buddy/sprites.ts  | 63 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+)

diff --git a/src/buddy/types.ts b/src/buddy/types.ts
index a1b2c3d..c0ffee 100644
--- a/src/buddy/types.ts
+++ b/src/buddy/types.ts
@@ -52,6 +52,9 @@ export const chonk = c(0x63, 0x68, 0x6f, 0x6e, 0x6b) as 'chonk'
+export const vc = c(0x76, 0x63) as 'vc'
+export const yak = c(0x79, 0x61, 0x6b) as 'yak'
+export const pm = c(0x70, 0x6d) as 'pm'
 
 export const SPECIES = [
   duck, goose, blob, cat, dragon, octopus,
   owl, penguin, turtle, snail, ghost,
   axolotl, capybara, cactus, robot,
-  rabbit, mushroom, chonk,
+  rabbit, mushroom, chonk, vc, yak, pm,
 ] as const

diff --git a/src/buddy/sprites.ts b/src/buddy/sprites.ts
index b2c3d4e..f00dcaf 100644
--- a/src/buddy/sprites.ts
+++ b/src/buddy/sprites.ts
@@ -515,6 +515,69 @@ const BODIES: Record<Species, string[][]> = {
+  // vc: always in a meeting, never available, asks about your runway
+  [vc]: [
+    ['            ',   // frame 0: reviewing term sheet
+     '  ________  ',
+     ' |{E} VC {E}|  ',
+     ' | $$$$$$ |  ',
+     '  --------  '],
+    ['            ',   // frame 1: on a call (the call that could have been an email)
+     '  ________  ',
+     ' |{E} VC {E}|  ',
+     ' |  ...   |  ',
+     '  --------  '],
+    ['   [GOLF]   ',   // frame 2 (hat slot): out of office
+     '  ________  ',
+     ' |{E} VC {E}|  ',
+     ' |  IRR?  |  ',
+     '  --------  '],
+  ],
+
+  // yak: appears when you're "just fixing one thing" and have now rewritten your entire build system
+  [yak]: [
+    ['            ',   // frame 0: grazing peacefully, unaware of consequences
+     ' ))     (( ',
+     ' ({E}~~~~~~{E})',
+     '  ( HAIR  ) ',
+     '   ||  ||  '],
+    ['            ',   // frame 1: chewing (still chewing, has been for 3 hours)
+     ' ))     (( ',
+     ' ({E}~~~~~~{E})',
+     '  (SHAVED) ',
+     '   ||  ||  '],
+    ['            ',   // frame 2: found another yak to shave
+     ' ))     (( ',
+     ' ({E}~~~~~~{E})',
+     '  ( MORE  ) ',
+     '   ||  ||  '],
+  ],
+
+  // pm: highly aligned, very little output, DEBUGGING stat hardcoded to 0
+  [pm]: [
+    ['            ',   // frame 0: writing a ticket for the ticket
+     '  .------, ',
+     '  |{E} PM {E}|  ',
+     '  | JIRA |  ',
+     '  `------` '],
+    ['            ',   // frame 1: circling back
+     '  .------, ',
+     '  |{E} PM {E}|  ',
+     '  |circle |  ',
+     '  `------` '],
+    ['   [OKR]    ',   // frame 2 (hat slot): quarterly planning season
+     '  .------, ',
+     '  |{E} PM {E}|  ',
+     '  | Q2?  |  ',
+     '  `------` '],
+  ],
--
2.40.0

---

Proposed stat distributions:

| Species | DEBUGGING | PATIENCE | CHAOS | WISDOM | SNARK | Notes |
|---------|-----------|----------|-------|--------|-------|-------|
| vc | 2 | 8 | 35 | 12 | 99 | Stats are the deck |
| yak | 99 | 3 | 91 | 22 | 55 | Peak debugging, zero self-control |
| pm | 0 | 97 | 18 | 58 | 28 | DEBUGGING hardcoded to 0, this is intentional |

Rarity suggestions:

  • vc: epic (4%) — they're rare but when you encounter one, it's memorable
  • yak: uncommon (25%) — disturbingly common once you start noticing them
  • pm: rare (10%) — a good one is genuinely rare

On the pm DEBUGGING stat:

I considered making it 1 but 0 felt more honest. If this breaks something in the stat floor logic I'm happy to submit a follow-up patch raising it to 1. It will still be a rounding error.

Thanks again. Enjoying the tool.

— A Concerned User

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗