Inspired by the caveman skill that saves token counts within Claude by having it talk like a caveman, I thought perhaps having Claude leverage the vocabulary of baby sign language would save even more tokens.
I fed Claude a baby sign language dictionary and had it create a skill where it used that dictionary, allowing for technical words in backticks and code snippets too.
It unfortunately was not great, however it did come up with some exceptional phrases:
| Technical Term | Babysign Translation |
|---|---|
| database host | big-book-home |
| max connections | most doors open same time |
| password | secret-word |
JWT exp field |
big-number-time (no small dots) |
Date.now() |
small-number-time (with small dots) |
| object reference | thing-with-names |
| re-render | make new picture |
| component (client) | baby home |
| idle timeout | close door after wait |
| min connections | keep doors open always |
| auth middleware | auth |
| unit mismatch | not same! like try put big apple in little cup |
| connection pool | pool for many want-things same time |
Benchmark: Normal vs Caveman vs Babysign
Model: claude-sonnet-4-20250514
Trials: 1 per prompt per mode
Prompts: 3 of 10 (react-rerender, auth-middleware-fix, postgres-pool)
Token Counts
| Task | Normal | Caveman | Saved | Babysign | Saved |
|---|---|---|---|---|---|
| Explain React re-render bug | 1180 | 237 | 80% | 265 | 78% |
| Fix auth middleware token expiry | 704 | 125 | 82% | 257 | 63% |
| Set up PostgreSQL connection pool | 2272 | 635 | 72% | 471 | 79% |
| Average | 1385 | 332 | 78% | 331 | 73% |
Caveman: 72%--82% savings range.
Babysign: 63%--79% savings range.
Sample Responses
React Re-render Bug
Caveman (237 tokens):
Object reference change every render. React see new object, trigger re-render.
Common causes: Create object inline, return new object from function each time, spread operator create new reference. Fix:useMemofor computed objects.
Babysign (265 tokens):
Bad thing! You make new thing-with-names each time. Baby home think it other thing -> make new picture. Put thing outside or hold same thing with
useMemo.
Auth Middleware Fix
Caveman (125 tokens):
JWT
expfield in seconds.Date.now()in milliseconds. Fix:Date.now() < token.exp * 1000
Babysign (257 tokens):
Bad thing in
auth!token.exp= big-number-time (no small dots).Date.now()= small-number-time (with small dots). Not same!
Like try put big apple in little cup. Fix:Date.now() < token.exp * 1000
PostgreSQL Pool Setup
Caveman (635 tokens):
PostgreSQL connection pool setup need
pgpackage.max: 20max connections,min: 5min connections,idleTimeoutMillis: 30000close idle after 30s...
Babysign (471 tokens):
Big-book need pool for many want-things same time.
max: 20most doors open same time,min: 2keep doors open always,idle: 10000close door after wait...
Observations
- Average tokens nearly identical: caveman 332, babysign 331
- Caveman wins on short prose answers (auth fix: 125 vs 257) -- dropping articles/filler is very efficient for terse explanations
- Babysign wins on code-heavy answers (postgres pool: 471 vs 635) -- vocabulary constraint forces harder prose cuts around
unchanged code blocks - Different compression strategies: caveman removes grammar; babysign constrains vocabulary to ~100 baby sign words, forcing
creative paraphrase