A Claude Code plugin that measures your response time and visualizes it as a growing character. Respond quickly and your ClaudeCodotchi thrives — leave it waiting and it loses energy.
╔═══════════════════════════════════╗
║ 🐱 ClaudeCodotchi ║
╠═══════════════════════════════════╣
║ ║
║ /\_/\ ║
║ ( ^.^ ) ║
║ (> _ <) ║
║ /| |\ ║
║ | | ║
║ d b ║
║ ║
║ Codotchi Lv.32 ║
║ HP: ████████░░ 82% ║
║ Evo: ★★★☆☆ ║
║ Combo: 5 🔥 ║
║ ║
║ 🏅 ⚡🎯🌱 ║
╚═══════════════════════════════════╝
- Claude Code (v1.0.33+)
jq(used for JSON processing)
From within Claude Code, run:
/plugin marketplace add pokurin123/ClaudeCodotchi
/plugin install codotchi@pokurin123-ClaudeCodotchi
Restart Claude Code to activate. The plugin persists across sessions — no extra flags needed.
git clone https://github.com/pokurin123/ClaudeCodotchi.git
claude --plugin-dir /path/to/ClaudeCodotchiOnce installed, tracking starts automatically. No special action is needed.
When Claude Code asks you a question or requests permission, the timer starts. When you respond, the timer stops and your ClaudeCodotchi's stats are updated based on how quickly you replied.
The first time you run /codotchi, you'll be asked 3 questions to create your unique character:
- What kind of creature it should be
- Its personality or vibe
- A special accessory or feature
Based on your answers, a unique ASCII art character is generated for all 5 evolution stages. Your character's appearance persists across sessions and projects.
| Command | Description |
|---|---|
/codotchi |
Show your ClaudeCodotchi's status |
/codotchi stats |
Show detailed statistics |
/codotchi export |
Generate a shareable string |
/codotchi view <data> |
View someone else's ClaudeCodotchi |
/codotchi recreate |
Re-create your character's appearance (keeps game state) |
/codotchi reset |
Reinitialize to Lv.1 (keeps logs and settings) |
Fast responses (under 30s) earn XP. Level is a cumulative achievement that never decreases.
| Response Time | XP | HP | Combo |
|---|---|---|---|
| ≤ 10s | +15 | +15 | Continues |
| ≤ 30s | +10 | +15 | Continues |
| ≤ 2min | +3 | +5 | Resets |
| 2–5min | 0 | -10 | Resets |
| 5–15min | 0 | -20 | Resets |
| > 15min | 0 | -30 | Resets |
Consecutive fast responses build a combo bonus (up to +10 XP).
| Stage | Level | Name |
|---|---|---|
| 🥚 | 1+ | Egg |
| 🐣 | 10+ | Chick |
| 🐱 | 30+ | Codotchi |
| 🦁 | 60+ | Mega Codotchi |
| 👑 | 100+ | God Codotchi |
| Badge | Condition |
|---|---|
| 🌱 Newborn | First response |
| ⚡ Speed Demon | 100 fast responses |
| 🔥 Combo Master | 20 combo streak |
| 🎯 Precision | 90%+ fast rate (50+ responses) |
| 🏔️ Summit | Reach Lv.100 |
| 👻 Ghost | 24h+ total idle time |
ClaudeCodotchi uses Claude Code Hooks to measure how long you take to respond.
| Event | Hook | Action |
|---|---|---|
| Claude asks a question | PreToolUse (AskUserQuestion, ExitPlanMode) |
Start timer |
| Claude requests permission | PermissionRequest (file operations) |
Start timer |
| User responds / approves | PostToolUse |
Stop timer, update stats |
All data is stored locally in ~/.claude-codotchi/. No data is sent externally.
~/.claude-codotchi/
├── config.json # Settings
├── state.json # ClaudeCodotchi state (Lv, XP, HP, evolution)
├── character.json # Custom character art (generated on first run)
├── data/
│ └── YYYY-MM.jsonl # Monthly event log
└── sessions/ # Temporary session files
Adjust thresholds in ~/.claude-codotchi/config.json:
{
"min_idle_seconds": 1,
"fast_threshold_seconds": 30
}| Setting | Default | Description |
|---|---|---|
min_idle_seconds |
1 | Idle durations shorter than this are ignored as noise |
fast_threshold_seconds |
30 | Responses within this threshold count as "fast" |
- All data is stored locally — no external communication
- Export data contains only game stats and character profile — no personal identifiers
- Session files are owner-readable only (
umask 077) - Monthly logs contain only timestamps and durations — no session IDs or file paths
MIT