Agent skill

Peon Ping Voice Pack Switcher

by PeonPing in PeonPing/peon-ping

Switches which character voice pack (GLaDOS, Peon, Kerrigan and others) plays for the current chat session in Peon Ping.

MITAuto-check passedProductivity & Automation

Install Peon Ping Voice Pack Switcher

skills CLI
$ npx skills add PeonPing/peon-ping --skill peon-ping-use -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PeonPing/peon-ping peon-ping-use --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PeonPing/peon-ping.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/peon-ping-use .claude/skills/peon-ping-use && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
peon-ping-use
GitHub stars
5.1k
Token cost
~1.2k tokens
SKILL.md length
505 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Switches which character voice pack (GLaDOS, Peon, Kerrigan and others) plays for the current chat session in Peon Ping.

  • Works in 6 steps: Parse the pack name → List available packs → Get session ID → …
  • Switching to a specific character voice for the current chat
  • SKILL.md covers How it works, Usage, Manual fallback (if hook fails) and Error handling, plus 3 more sections
  • Calls bash

What it does

Typing /peon-ping-use followed by a pack name triggers a beforeSubmitPrompt hook that intercepts the command before it reaches the model, so it costs no tokens. The hook checks that the pack exists, turns on session_override rotation mode in config.json, maps the current session ID to the pack in .state.json and confirms immediately. The SKILL.md itself exists mainly so the command shows up in the slash-command autocomplete.

If the hook is missing or fails, the agent follows a manual fallback: parse the pack name, list installed packs with the peon.sh packs list command, read the session ID from CLAUDE_SESSION_ID (using a default key when it is empty, as in Cursor), and set pack_rotation_mode to session_override in config.json. A pack that is missing or invalid falls back to the default pack and the stale assignment is removed. Named examples include peon, peasant, glados, sc_kerrigan and hk47.

When your agent uses it

  • Switching to a specific character voice for the current chat
  • Listing which voice packs are installed
  • Falling back to manual setup when the voice hook does not fire

Example prompts

  • “/peon-ping-use glados”
  • “Use the peasant voice pack for this session.”
  • “List my installed Peon Ping voice packs.”

Requirements

  • Peon Ping installed with its hook scripts

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Parse the pack name
  2. List available packs
  3. Get session ID
  4. Update config to enable session_override mode
  5. Update state to assign pack to this session
  6. Confirm to user

What it can do on your machine

Read from SKILL.md and the folder at commit de4ada7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Peon Ping Voice Pack Switcher loads about 1.2k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 505 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from PeonPing/peon-ping at commit de4ada7, republished under its MIT licence (© PeonPing). 505 words, ~1,238 tokens.

Download SKILL.mdSave it as .claude/skills/peon-ping-use/SKILL.md (or your agent's skills folder).
name
peon-ping-use
description
Set which voice pack (character voice) plays for the current chat session. Automatically enables session_override rotation mode if not already set. Use when user wants a specific character voice like GLaDOS, Peon, or Kerrigan for this conversation.
user-invocable
true
license
MIT
metadata.author
PeonPing
metadata.version
1.0

peon-ping-use

Set which voice pack (character voice) plays for the current chat session.

How it works

When the user types /peon-ping-use <packname>, a beforeSubmitPrompt hook intercepts the command before it reaches the model and handles it instantly:

  1. Validates the requested pack exists
  2. Enables session_override rotation mode in config.json
  3. Maps the current session ID to the requested pack in .state.json
  4. Returns immediate confirmation (zero tokens used)

When the hook blocks the message, Cursor keeps your cursor in the input field so you can type your next message right away.

The hook scripts (scripts/hook-handle-use.sh and scripts/hook-handle-use.ps1) do all the work - this SKILL.md file exists solely for discoverability in the / command autocomplete menu.

Usage

Users can invoke this by typing:

/peon-ping-use peasant
/peon-ping-use glados
/peon-ping-use sc_kerrigan

If the hook is not installed or fails, you can fallback to manual execution by following the instructions below.

Manual fallback (if hook fails)

If for some reason the hook doesn't intercept the command, follow these steps:

1. Parse the pack name

Extract the pack name from the user's request. Common pack names:

  • peon — Warcraft Peon
  • glados — Portal's GLaDOS
  • sc_kerrigan — StarCraft Kerrigan
  • peasant — Warcraft Peasant
  • hk47 — Star Wars HK-47
2. List available packs

Run this command to see installed packs:

bash
bash "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"/hooks/peon-ping/peon.sh packs list

Parse the output to verify the requested pack exists.

3. Get session ID

The session ID is available in the environment variable CLAUDE_SESSION_ID. Read it:

bash
echo "$CLAUDE_SESSION_ID"

If empty (Cursor users): Use "default" as the key in session_packs. This applies the pack to all sessions without explicit assignment. Add session_packs["default"] = {"pack": "PACK_NAME", "last_used": UNIX_TIMESTAMP}.

4. Update config to enable session_override mode

Read the config file:

bash
cat "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"/hooks/peon-ping/config.json

Required: Set pack_rotation_mode to "session_override". The pack must exist in the packs directory; if the assigned pack is missing or invalid, peon-ping falls back to default_pack and removes the stale assignment. The hook also adds the pack to pack_rotation (manual fallback can do the same).

Example config after setup:

json
"pack_rotation_mode": "session_override",
"pack_rotation": ["peasant", "peon", "ra2_kirov"]

If pack_rotation_mode is "random" or "round-robin", change it to "session_override". If the requested pack is not in pack_rotation, add it.

Show full SKILL.md (172 more words)Show less
5. Update state to assign pack to this session

Read the state file:

bash
cat "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"/hooks/peon-ping/.state.json

Update the session_packs object to map this session to the requested pack. If session_packs doesn't exist, create it:

json
{
  "session_packs": {
    "SESSION_ID_HERE": "pack_name_here"
  }
}

Use StrReplace or edit the JSON to add/update the entry:

  • If session_packs exists: add or update the session ID key
  • If session_packs doesn't exist: add it after the opening brace
6. Confirm to user

Report success with a message like:

Voice set to [PACK_NAME] for this session
   Rotation mode: session_override

Error handling

  • Pack not found: List available packs and ask user to choose one
  • No session ID: Inform user this feature requires Claude Code
  • File read/write errors: Report the error and suggest manual config editing

Example interaction

User: Use GLaDOS voice for this chat
Assistant: [Lists packs to verify glados exists]
Assistant: [Gets session ID]
Assistant: [Updates config.json to set pack_rotation_mode: "session_override"]
Assistant: [Updates .state.json to set session_packs[session_id] = "glados"]
Assistant: Voice set to GLaDOS for this session
           Rotation mode: session_override

Cursor compatibility note

Cursor doesn't expose session IDs. Use session_packs["default"] instead: when doing the manual fallback, add "default": {"pack": "peasant", "last_used": 0} to session_packs. This applies the voice to sessions without explicit assignment (including Cursor chats).

Reset to default

To stop using a specific pack for this session, remove the session ID from session_packs in .state.json, or change pack_rotation_mode back to "random" or "round-robin".

© PeonPing, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/peon-ping-use of PeonPing/peon-ping.

Open the folder on GitHubat commit de4ada7

Compare with similar skills

Peon Ping Voice Pack Switcher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Peon Ping Voice Pack Switcher compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Peon Ping Voice Pack Switcher this skillPeonPing/peon-ping5.1k—~1.2kAutomated safety check: PassMIT
cmux Diagnosticsmanaflow-ai/cmux28k1 repos~819Automated safety check: PassCustom licence
Cronalytics8bit64k/cronalytics112—~4.7kAutomated safety check: PassMIT
Telegram Plugin Updaterk1p1l0/claude-telegram-supercharged132—~764Automated safety check: PassApache-2.0
Discord Bot Architectdavila7/claude-code-templates32k7 repos~2kAutomated safety check: PassMIT
Wp Plugin Developmentgambitph/Stackable3513 repos~999Automated safety check: PassGPL-3.0

Similar skills

  • cmux Diagnostics

    manaflow-ai/cmux

    Runs a read-only health check for cmux and explains what it finds, covering the CLI and socket, settings, agent hooks, session restore and notifications.

    28k GitHub starsUsed in 1 repo~819 tokens
    Productivity & AutomationAuto-check passed
  • Cronalytics

    8bit64k/cronalytics

    Analyze, diagnose, and optimize Hermes cron jobs via the cronalytics CLI.

    112 GitHub stars~4.7k tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • Telegram Plugin Updater

    k1p1l0/claude-telegram-supercharged

    Updates the enhanced Telegram plugin for Claude Code from its GitHub repository: compares file hashes, shows recent commits, asks first, then runs the installer.

    132 GitHub stars~764 tokensUpdated 13 days ago
    Productivity & AutomationAuto-check passed
  • Discord Bot Architect

    davila7/claude-code-templates

    Specialized skill for building production-ready Discord bots.

    32k GitHub starsUsed in 7 repos~2k tokens
    Productivity & AutomationAuto-check passed
  • Wp Plugin Development

    gambitph/Stackable

    A skill your agent uses when developing WordPress plugins: architecture and hooks, activation/deactivation/uninstall, admin UI and Settings API, data storage, cron/tasks, security…

    351 GitHub starsUsed in 3 repos~999 tokens
    Agent WorkflowsAuto-check passed
  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from PeonPing/peon-ping

  • Peon-Ping Settings Editor

    PeonPing/peon-ping

    Edits the peon-ping config file to change volume, sound packs, pack rotation, sound categories and notification options, then confirms the change.

    5.1k GitHub stars~1.2k tokensUpdated 2 days ago
    Auto-check passed
  • Peon-Ping Session Rename

    PeonPing/peon-ping

    Gives the current coding session a custom name that appears in peon-ping desktop notification titles and the terminal tab title, or resets it to automatic.

    5.1k GitHub stars~539 tokensUpdated 2 days ago
    Auto-check passed
  • Peon Trainer Rep Logger

    PeonPing/peon-ping

    Log exercise reps for the Peon Trainer. Use when user says they did pushups, squats, or wants to log reps. Examples - "/peon-ping-log 25 pushups"…

    5.1k GitHub stars~286 tokensUpdated 2 days ago
    Auto-check passed
  • Peon-Ping Sound Toggle

    PeonPing/peon-ping

    Mutes or unmutes peon-ping sound notifications during an agent session with one command, and explains which settings the toggle also silences.

    5.1k GitHub stars~427 tokensUpdated 2 days ago
    Auto-check passed
  • PeonPing Pack Creator

    PeonPing/peon-ping

    Drafts a new PeonPing notification sound pack across seven event categories for a given name, flavor and vibe, when called headlessly by peon create.

    5.1k GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Peon Ping Sound Reroll

    PeonPing/peon-ping

    Internal skill that rewrites and re-renders sound prompts in a draft PeonPing pack to follow a reroll caption, then records the change in a log.

    5.1k GitHub stars~910 tokensUpdated 2 days ago
    Auto-check passed

Questions about Peon Ping Voice Pack Switcher

What does Peon Ping Voice Pack Switcher do?

Switches which character voice pack (GLaDOS, Peon, Kerrigan and others) plays for the current chat session in Peon Ping. Typing /peon-ping-use followed by a pack name triggers a beforeSubmitPrompt hook that intercepts the command before it reaches the model, so it costs no tokens.json and confirms immediately.

When should I use Peon Ping Voice Pack Switcher?

Peon Ping Voice Pack Switcher fits situations like: switching to a specific character voice for the current chat; listing which voice packs are installed; falling back to manual setup when the voice hook does not fire.

How do I install Peon Ping Voice Pack Switcher in Claude Code?

Run `npx skills add PeonPing/peon-ping --skill peon-ping-use -a claude-code`. Or copy the skill folder (skills/peon-ping-use in PeonPing/peon-ping) into .claude/skills/peon-ping-use in your project. Claude Code loads it when a task matches its description.

How do I install Peon Ping Voice Pack Switcher in Codex?

Run `npx skills add PeonPing/peon-ping --skill peon-ping-use -a codex`. Or copy the skill folder (skills/peon-ping-use in PeonPing/peon-ping) into .agents/skills/peon-ping-use in your project. Codex loads it when a task matches its description.

Can I use Peon Ping Voice Pack Switcher in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PeonPing/peon-ping --skill peon-ping-use -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/peon-ping-use, .gemini/skills/peon-ping-use, .github/skills/peon-ping-use and .opencode/skills/peon-ping-use in your project.

What does Peon Ping Voice Pack Switcher need to run?

Going by SKILL.md and its folder, Peon Ping Voice Pack Switcher needs the command-line tools its instructions call (bash). Our summary lists: Peon Ping installed with its hook scripts.

Does Peon Ping Voice Pack Switcher access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Peon Ping Voice Pack Switcher safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Peon Ping Voice Pack Switcher use?

Peon Ping Voice Pack Switcher is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Peon Ping Voice Pack Switcher use?

About 1.2k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Peon Ping Voice Pack Switcher?

Skills that share tags, products or a category with Peon Ping Voice Pack Switcher: cmux Diagnostics (manaflow-ai/cmux, 28k stars), Cronalytics (8bit64k/cronalytics, 112 stars), Telegram Plugin Updater (k1p1l0/claude-telegram-supercharged, 132 stars) and Discord Bot Architect (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Peon Ping Voice Pack Switcher?

PeonPing (a GitHub organization) maintains it in PeonPing/peon-ping, which has 5,068 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.

Source: PeonPing/peon-ping on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.