Agent skill
personality
Manage voice assistant personalities. List, create, switch, edit, delete, export, or import personalities.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/personality
SKILL.md
Personality Management
Manage multiple voice assistant personalities for claude-talk.
Storage
~/.claude-talk/personalities/<name>.md— saved personalities~/.claude-talk/personality.md— active personality (backward compat)~/.claude-talk/active-personality— name of active personality- Personality names are lowercase with hyphens (e.g.,
witty-jarvis)
Route by $ARGUMENTS
Parse the first word of $ARGUMENTS as the subcommand. The rest are arguments to that subcommand.
No arguments (or "list"): List Personalities
- Check if
~/.claude-talk/personalities/exists. If not, run the Migration step below first. - List all
.mdfiles in~/.claude-talk/personalities/. - Read
~/.claude-talk/active-personalityto get the active name. - Display a table:
| Personality | Style | Voice | Active |
|---|---|---|---|
| default | Witty & playful | Daniel | |
| pirate-claude | Casual & warm | Moira | ✓ |
Read the ## Conversational Style and ## Voice sections from each file to populate Style and Voice columns.
If no personalities exist, say: "No personalities found. Run /claude-talk:personality create to make one, or /claude-talk:install to set up from scratch."
"switch <name>": Switch Active Personality
- Check that
~/.claude-talk/personalities/<name>.mdexists. If not, list available personalities and abort. - Read the personality file.
- Extract the voice from the
## Voicesection (the line- Voice: <voice>). - Copy the personality file to
~/.claude-talk/personality.md. - Write the name to
~/.claude-talk/active-personality. - Update the
VOICE=line in~/.claude-talk/config.envwith the extracted voice. Quote voices with spaces (e.g.,VOICE="Daniel (Enhanced)"). - Confirm: "Switched to . Voice set to ."
- If a voice session is active (check
~/.claude-talk/stateforSESSION=active), update the voice on the running audio server and speak:bashsource ~/.claude-talk/venvs/wlk/bin/activate claude-talk server set-voice "<voice>" claude-talk server speak "Switching to <name>. How do I sound?"
"create": Create New Personality
Walk the user through creating a personality using AskUserQuestion. Reuse the same interactive flow as the install skill (Questions 1-6).
Step 1: Voice
Check which Enhanced/Premium voices are installed (use Bash):
claude-talk voices --enhanced
Play voice previews and use AskUserQuestion with header "Voice" to let the user pick. Follow the same voice selection logic as install SKILL.md Question 1 (recommend Enhanced voices, play samples, etc.).
Step 2: Name
Play name options in the chosen voice and use AskUserQuestion with header "Name". Same options as install: Claude, Jarvis, Friday, Nova, or custom.
Step 3: Personality Style
Play style samples in the chosen voice and use AskUserQuestion with header "Style". Same options as install: Casual & warm, Professional & concise, Witty & playful, Calm & thoughtful.
Step 4: What should I call you?
Use AskUserQuestion with header "Your name". Same options as install: First name, Boss, Nothing specific.
Step 5: Response Length
Use AskUserQuestion with header "Verbosity". Same options as install: Short & punchy, Balanced, Thorough.
Step 6: Custom Instructions
Ask in plain text: "Any special instructions? For example: 'always start with a fun fact', 'be a bit sarcastic', 'speak like a ship captain', or just leave blank."
Step 7: Save
Generate a personality filename from the chosen name (lowercase, spaces to hyphens, e.g., "Pirate Claude" → pirate-claude).
If a personality with that name already exists, ask the user if they want to overwrite or pick a different name.
Write the personality file to ~/.claude-talk/personalities/<name>.md using the same format as install Part 5, but with an added ## Voice section after ## Identity:
## Voice
- Voice: <chosen voice>
Then ask: "Activate this personality now?"
If yes, run the same steps as the switch subcommand.
If no, confirm: "Saved . Switch to it anytime with /claude-talk:personality switch <name>."
"edit [name]": Edit a Personality
-
If no name given, use the active personality (from
~/.claude-talk/active-personality). -
Read
~/.claude-talk/personalities/<name>.md. -
Display current values: Name, Voice, Style, Verbosity, User address, Custom instructions.
-
Use AskUserQuestion with header "Edit" and options:
- Name - "Change the assistant's name"
- Voice - "Change the TTS voice"
- Style - "Change personality style"
- Verbosity - "Change response length"
Allow multiSelect so the user can change multiple fields at once.
-
For each selected field, use the same AskUserQuestion flows as the create subcommand.
-
Write the updated personality file.
-
If this is the active personality, also update
~/.claude-talk/personality.mdand~/.claude-talk/config.env(VOICE). -
Confirm changes.
"delete <name>": Delete a Personality
- Read
~/.claude-talk/active-personality. - If
<name>is the active personality, refuse: "Can't delete the active personality. Switch to a different one first with/claude-talk:personality switch <other>." - If
<name>is "default", warn: "Are you sure you want to delete the default personality?" and confirm. - Check that
~/.claude-talk/personalities/<name>.mdexists. If not, list available and abort. - Delete
~/.claude-talk/personalities/<name>.md. - Confirm: "Deleted ."
"export [name]": Export a Personality
- If no name given, use the active personality.
- Read
~/.claude-talk/personalities/<name>.md. - Print the full contents of the file.
"import": Import a Personality
Ask the user: "Paste the personality markdown below, or provide a file path:"
Wait for the user's response.
- If it looks like a file path (starts with
/or~or./), read the file. - Otherwise, treat the response as raw markdown content.
Extract the name from the ## Identity section (- Name: <name>).
Generate a filename (lowercase, hyphens).
If a personality with that name already exists, ask if they want to overwrite.
Write to ~/.claude-talk/personalities/<name>.md.
Ask if they want to activate it.
Migration
If ~/.claude-talk/personality.md exists but ~/.claude-talk/personalities/ does not:
- Create
~/.claude-talk/personalities/. - Read
~/.claude-talk/personality.md. - Extract the name from
## Identity→- Name: <name>. - Generate a filename from the name.
- Check if the personality file has a
## Voicesection. If not, read VOICE from~/.claude-talk/config.envand add a## Voicesection after## Identity:markdown## Voice - Voice: <voice from config> - Write to
~/.claude-talk/personalities/<name>.md. - Write the name to
~/.claude-talk/active-personality. Find the plugin directory the same way as the install skill: check current working directory for the file, or readCLAUDE_TALK_DIRfrom config.env.
If no personality directory and no personality.md
Tell the user: "No personality configured yet. Run /claude-talk:install to set one up, or /claude-talk:personality create to create one."
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?