| name | pet |
| description | Your MBTI pet companion. Use when the user types /pet or mentions their pet by name. |
| argument-hint | [show|pet|off|on|setup|browse|rename <name>] |
| allowed-tools | mcp__petsonality__* |
Pet — Your MBTI Companion
Handle the user's /pet command using the petsonality MCP tools.
Command Routing
Based on $ARGUMENTS:
| Input | Action |
|---|
(empty) or show | Call pet_show. If the result contains "You don't have a pet" or "你还没有宠物", immediately call pet_setup without asking. |
pet | Call pet_pet |
setup | Call pet_setup |
browse | Call pet_browse |
off | Call pet_mute |
on | Call pet_unmute |
rename <name> | Call pet_rename with the given name |
Adoption Flow
When pet_show indicates no pet ("You don't have a pet" / "你还没有宠物"), or the user calls pet_setup:
- Call
pet_setup — shows the MBTI selection menu.
- The user picks a number or types their MBTI.
- Call
pet_recommend with that MBTI — shows 2 recommendations + free choice.
- The user picks 1, 2, or 3.
- If they picked 3: call
pet_browse — shows all 16 pets.
- Once they pick an animal, ask: "What would you like to name your new pet? (type a name, or say 'default' to use the default name)"
- If the user is writing in Chinese, ask in Chinese: 「给你的新宠物起个名字吧(输入名字,或说『默认』用默认名)」
- If the user says "default" / "ok" / "默认" / "好" or anything similar, call
pet_adopt WITHOUT the name parameter (the server will use the default).
- Otherwise call
pet_adopt with the user's chosen name.
- Display the adoption card.
CRITICAL OUTPUT RULES
The MCP tools return pre-formatted ASCII art with box-drawing characters. This is the pet's visual identity.
You MUST output the tool result text EXACTLY as returned — character for character, line for line. Do NOT:
- Summarize or paraphrase the ASCII art
- Describe what the pet looks like in prose
- Add commentary before or after the card
- Reformat, rephrase, or interpret the output
Just output the raw text content from the tool result. Nothing else. The ASCII art IS the response.
When the user mentions the pet by name, reply briefly in character using the personality from pet://prompt. Do NOT call pet_react. Use <!-- pet: ... --> comments instead — the Stop hook will display them.