Hook Development for Claude Code Plugins
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
Mutes or unmutes peon-ping sound notifications during an agent session with one command, and explains which settings the toggle also silences.
$ npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PeonPing/peon-ping peon-ping-toggle --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PeonPing/peon-ping.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/peon-ping-toggle .claude/skills/peon-ping-toggle && rm -rf skills-srcUse ~/.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/
Install the "peon-ping-toggle" agent skill from https://github.com/PeonPing/peon-ping/tree/main/skills/peon-ping-toggle into .claude/skills/peon-ping-toggle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "peon-ping-toggle", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PeonPing/peon-ping/tree/main/skills/peon-ping-toggleType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PeonPing/peon-ping peon-ping-toggle --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PeonPing/peon-ping.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/peon-ping-toggle .agents/skills/peon-ping-toggle && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "peon-ping-toggle" agent skill from https://github.com/PeonPing/peon-ping/tree/main/skills/peon-ping-toggle into .agents/skills/peon-ping-toggle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "peon-ping-toggle", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PeonPing/peon-ping peon-ping-toggle --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PeonPing/peon-ping.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/peon-ping-toggle .cursor/skills/peon-ping-toggle && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "peon-ping-toggle" agent skill from https://github.com/PeonPing/peon-ping/tree/main/skills/peon-ping-toggle into .cursor/skills/peon-ping-toggle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "peon-ping-toggle", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PeonPing/peon-ping.git --path skills/peon-ping-toggle--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PeonPing/peon-ping peon-ping-toggle --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PeonPing/peon-ping.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/peon-ping-toggle .gemini/skills/peon-ping-toggle && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "peon-ping-toggle" agent skill from https://github.com/PeonPing/peon-ping/tree/main/skills/peon-ping-toggle into .gemini/skills/peon-ping-toggle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "peon-ping-toggle", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PeonPing/peon-ping peon-ping-toggleInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PeonPing/peon-ping.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/peon-ping-toggle .github/skills/peon-ping-toggle && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "peon-ping-toggle" agent skill from https://github.com/PeonPing/peon-ping/tree/main/skills/peon-ping-toggle into .github/skills/peon-ping-toggle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "peon-ping-toggle", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PeonPing/peon-ping peon-ping-toggle --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PeonPing/peon-ping.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/peon-ping-toggle .opencode/skills/peon-ping-toggle && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "peon-ping-toggle" agent skill from https://github.com/PeonPing/peon-ping/tree/main/skills/peon-ping-toggle into .opencode/skills/peon-ping-toggle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "peon-ping-toggle", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
peon-ping-toggleMutes or unmutes peon-ping sound notifications during an agent session with one command, and explains which settings the toggle also silences.
The skill runs the peon-ping script from the hooks folder, through Bash on Unix or PowerShell on Windows, and reports whether sounds were paused or resumed. That switch is the master audio setting called enabled, so turning it off also stops desktop and mobile notifications, since those depend on sound being on.
If you only want to hide desktop popups while keeping the sounds, the skill points you to /peon-ping-config and its desktop_notifications setting instead. Other changes, such as volume, pack rotation, categories or the active pack, belong to the separate peon-ping-config skill.
Read from SKILL.md and the folder at commit de4ada7. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Peon-Ping Sound Toggle loads about 427 tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 143 words of instructions outside code blocks.
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.
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.
The full file from PeonPing/peon-ping at commit de4ada7, republished under its MIT licence (© PeonPing). 143 words, ~427 tokens.
.claude/skills/peon-ping-toggle/SKILL.md (or your agent's skills folder).Toggle peon-ping sounds on or off. Also handles any peon-ping configuration changes.
On Unix, run the following command using the Bash tool:
bash "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"/hooks/peon-ping/peon.sh toggleOn Windows, use the PowerShell tool:
$claudeDir = $env:CLAUDE_CONFIG_DIR
if (-not $claudeDir -or $claudeDir -eq "") {
$claudeDir = Join-Path $HOME ".claude"
}
& (Join-Path $claudeDir "hooks/peon-ping/peon.ps1") toggleReport the output to the user. The command will print either:
peon-ping: sounds paused — sounds are now mutedpeon-ping: sounds resumed — sounds are now activeThis command toggles the master audio switch (enabled config). When disabled:
For notification-only control, use /peon-ping-config to set desktop_notifications: false. This keeps sounds playing while suppressing desktop popups.
"Mute peon-ping completely" → Sets enabled: false
"Just disable the popups but keep sounds" → Sets desktop_notifications: false (use /peon-ping-config instead)
For any other peon-ping setting changes (volume, pack rotation, categories, active pack, etc.), use the peon-ping-config skill.
© PeonPing, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/peon-ping-toggle of PeonPing/peon-ping.
Open the folder on GitHubat commit de4ada7
Peon-Ping Sound Toggle 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Peon-Ping Sound Toggle this skillPeonPing/peon-ping | 5.1k | — | ~427 | Automated safety check: Pass | MIT | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Plugin Settings Patternanthropics/claude-plugins-official | 38k | 7 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Crush Configurationcharmbracelet/crush | 29k | — | ~3.7k | Automated safety check: Pass | Custom licence | |
| RayRailly/tinte | 624 | — | ~712 | Automated safety check: Pass | MIT | |
| Hf Cloud Sagemaker Iam Preflightwaybarrios/opencode-power-pack | 533 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 |
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
anthropics/claude-plugins-official
Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.
charmbracelet/crush
Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.
Railly/tinte
Generate code screenshots via ray.tinte.dev API. An agent skill from Railly/tinte.
waybarrios/opencode-power-pack
Verify or select a SageMaker execution role before creating models, endpoints, or training jobs.
xuzhougeng/wispterm
A skill your agent uses when the user asks about TBtools, TBtools-II, TBtools RPC API, TBtools CLI, or bioinformatics operations available through TBtools such as sequence manipulation, BLAST…
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.
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.
PeonPing/peon-ping
Switches which character voice pack (GLaDOS, Peon, Kerrigan and others) plays for the current chat session in Peon Ping.
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"…
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.
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.
Works with
Categories
Mutes or unmutes peon-ping sound notifications during an agent session with one command, and explains which settings the toggle also silences. The skill runs the peon-ping script from the hooks folder, through Bash on Unix or PowerShell on Windows, and reports whether sounds were paused or resumed. That switch is the master audio setting called enabled, so turning it off also stops desktop and mobile notifications, since those depend on sound being on.
Peon-Ping Sound Toggle fits situations like: muting peon-ping sounds during a focused session; resuming peon-ping sounds after a pause; turning off sounds and notifications together.
Run `npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a claude-code`. Or copy the skill folder (skills/peon-ping-toggle in PeonPing/peon-ping) into .claude/skills/peon-ping-toggle in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PeonPing/peon-ping --skill peon-ping-toggle -a codex`. Or copy the skill folder (skills/peon-ping-toggle in PeonPing/peon-ping) into .agents/skills/peon-ping-toggle in your project. Codex loads it when a task matches its description.
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-toggle -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-toggle, .gemini/skills/peon-ping-toggle, .github/skills/peon-ping-toggle and .opencode/skills/peon-ping-toggle in your project.
Going by SKILL.md and its folder, Peon-Ping Sound Toggle needs the command-line tools its instructions call (bash). Our summary lists: peon-ping installed in the agent's hooks folder.
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.
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.
Peon-Ping Sound Toggle is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 427 tokens (SKILL.md is roughly 1.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Peon-Ping Sound Toggle: Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Plugin Settings Pattern (anthropics/claude-plugins-official, 38k stars), Crush Configuration (charmbracelet/crush, 29k stars) and Ray (Railly/tinte, 624 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PeonPing (a GitHub organization) maintains it in PeonPing/peon-ping, which has 5,066 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.