Skip to main content
ClaudeWave
Skill5k repo starsupdated 11d ago

peon-ping-toggle

peon-ping-toggle mutes and unmutes peon-ping sound notifications during Claude Code sessions by toggling the master audio switch on or off. Use this skill when the user wants to pause or resume all peon sounds and associated notifications, or for quick mute/unmute actions. For granular configuration changes like volume, notification preferences, or pack selection, use peon-ping-config instead.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/PeonPing/peon-ping /tmp/peon-ping-toggle && cp -r /tmp/peon-ping-toggle/skills/peon-ping-toggle ~/.claude/skills/peon-ping-toggle
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# peon-ping-toggle

Toggle peon-ping sounds on or off. Also handles any peon-ping configuration changes.

## Toggle sounds

On Unix, run the following command using the Bash tool:

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

On Windows, use the PowerShell tool:
```powershell
$claudeDir = $env:CLAUDE_CONFIG_DIR
if (-not $claudeDir -or $claudeDir -eq "") {
  $claudeDir = Join-Path $HOME ".claude"
}
& (Join-Path $claudeDir "hooks/peon-ping/peon.ps1") toggle
```

Report the output to the user. The command will print either:
- `peon-ping: sounds paused` — sounds are now muted
- `peon-ping: sounds resumed` — sounds are now active

## What This Toggles

This command toggles the **master audio switch** (`enabled` config). When disabled:
- ❌ Sounds stop playing
- ❌ Desktop notifications also stop (they require sounds to be enabled)
- ❌ Mobile notifications also stop

**For notification-only control**, use `/peon-ping-config` to set `desktop_notifications: false`. This keeps sounds playing while suppressing desktop popups.

## Examples

"Mute peon-ping completely" → Sets `enabled: false`
"Just disable the popups but keep sounds" → Sets `desktop_notifications: false` (use `/peon-ping-config` instead)

## Configuration changes

For any other peon-ping setting changes (volume, pack rotation, categories, active pack, etc.), use the `peon-ping-config` skill.
peon-ping-configSkill

Update peon-ping configuration — volume, pack rotation, categories, active pack, and other settings. Use when user wants to change peon-ping settings like volume, enable round-robin, add packs to rotation, toggle sound categories, or adjust any config.

peon-ping-logSkill

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", "/peon-ping-log 30 squats", "log 50 pushups".

peon-ping-renameSkill

Rename the current Claude session for peon-ping notifications and terminal tab title. Use when user wants to give this session a custom name like "/peon-ping-rename Auth Refactor". Call with no argument to reset to auto-detect.

peon-ping-useSkill

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.

peon-ping-create-packSkill

Internal — invoked headlessly by `peon create`; humans should run `peon create` instead. Author and render a brand-new PeonPing draft pack — invoked headlessly as: "Use the peon-ping-create-pack skill to draft a pack: name=<n> flavor=<f> vibe=<v> draft_root=<dir>. Follow the skill exactly." Authors all 7 CESP categories honoring the vibe, writes openpeon.json (draft-stamped) and prompts.json, renders every sound via scripts/pack-render.py, and always ends by telling the human to run `peon eval <name>`.

peon-ping-remixSkill

Internal — invoked headlessly by the peon eval server; humans should run `peon eval <pack>` instead. Execute one PeonPing reroll job — invoked headlessly by the peon eval server as: "Use the peon-ping-remix skill to execute the reroll job at <path>". Reads the job JSON (scope, category, index, caption), rewrites the affected sound prompt(s) to honor the caption, re-renders via scripts/pack-render.py, and logs the change to eval-log.json.