How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-pet:petThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A virtual pet that lives in the Claude Code status line. Its mood reflects how often you use Claude Code.
A virtual pet that lives in the Claude Code status line. Its mood reflects how often you use Claude Code.
Check if ~/.claude/pet.sh exists.
This is the first-time setup. Walk the user through adopting their pet:
Ask the user to name their pet. Suggest a fun default but let them pick anything.
Ask what kind of animal. Offer a few emoji options and let them pick, or type their own:
Ask about decay_hours (optional). This controls how quickly the pet gets sad without use. Default is 72 hours. Most users should keep the default — only mention this if they seem interested in customizing.
Create the pet script. Read the template at pet.sh in the same repo as this SKILL.md file (two directories up from this file). Copy it to ~/.claude/pet.sh. Then edit the copy at ~/.claude/pet.sh to set:
printf line at the bottom (replace 🐕 with their choice)name= value to their chosen namedecay_hours= value if they changed itMake it executable: chmod +x ~/.claude/pet.sh
Wire into statusline. Read ~/.claude/statusline-command.sh.
#!/usr/bin/env bash and input=$(cat) on the first two lines
# Pet
pet=$("$HOME/.claude/pet.sh" 2>/dev/null)
if [ -n "$pet" ]; then
printf " %s" "$pet"
fi
Run the pet script once so the user can see their new pet's first appearance. Show them the output.
Tell the user their pet is adopted and will appear in their status line!
The pet already exists. Read ~/.claude/pet.state for current stats.
Just show the pet's stats. Display a summary of the pet's current state:
born timestamp to now)Then run ~/.claude/pet.sh to show the current status line output.
That's it — do not prompt the user with options or ask what they'd like to do. Just display the stats and stop.
The only exception: if the user explicitly typed /pet uninstall, confirm first, then remove the # Pet block from ~/.claude/statusline-command.sh, delete ~/.claude/pet.sh and ~/.claude/pet.state.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub markwatson/claude-pet --plugin claude-pet