Dev & Engineering voice-packsession-configclaude-code-hookscursorcommand-line

Peon Ping Session Voice Pack Selector

Set a character voice pack (like GLaDOS, Peon, or Kerrigan) for the current chat session, handled instantly via a hook.

FollowSkills review · FSRS-2.0
Not recommended
50/ 100 5-point scale 2.5 / 5
1 2 3 4 5 6
1Trust12 / 25 · 2.4/5

The skill directly modifies local configuration files config.json and .state.json, with a clear scope limited to setting voice packs, and does not involve sensitive data. However, it lacks an explicit user confirmation step (though user invocation itself can be considered implicit consent), and there is no mention of backup or rollback mechanisms for the config files. No sensitive data exfiltration or malicious behavior is indicated, but risks are visible, and permissions, confirmation, isolation, and recovery are incomplete, hence 12.

2Reliability8 / 20 · 2.0/5

The skill provides clear steps and error handling, mentions a manual fallback, and the repository includes tests for the OpenCode adapter (but not directly for this skill). However, the skill itself has not been independently executed or verified, and it depends on external scripts; error messages may not be sufficient. Per static scoring cap, 8.

3Adaptability10 / 15 · 3.3/5

The skill clearly defines its use case (switching voice packs) and trigger condition (user typing /peon-ping-use), but its capability boundaries are not fully clear—it does not specify non-fit scenarios (e.g., non-Claude Code environments). For Chinese users, the skill itself does not depend on overseas services, but sound packs might be hosted overseas, posing accessibility issues. Overall scenario is clear but boundary evidence is limited, so 10.

4Convention9 / 15 · 3.0/5

SKILL.md is well-structured, including installation, usage, examples, and fallback, but it lacks FAQ, changelog, and known limitations. The repository has an MIT license, but the publisher is unverified, and maintenance responsibility is unclear. File and parameter naming are stable, but whether it's abandoned cannot be confirmed. Hence 9.

5Effectiveness6 / 15 · 2.0/5

Based on documentation, the skill can accomplish the core task of switching voice packs, but evidence is only from documentation, not verified actual output. The example interaction shows expected output, but does not indicate whether it is directly usable or requires manual adjustment. Marginal value is limited since the same can be achieved via CLI or manual config editing. Per static cap, 6.

6Verifiability5 / 10 · 2.5/5

The repository includes test suites (e.g., tests/opencode-peon-ping-internals.test.ts) and CI workflows, but these tests are not directly for this skill; they test underlying adapter logic. There is no direct evidence that the skill itself has been tested or reproducible. Per static cap, 5.

Evidence confidence:Low Reviewed Aug 07, 2026 Reviewed revision fef63cfdb134
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • This skill may not work in non-Claude Code environments because it depends on the CLAUDE_SESSION_ID environment variable; for Cursor users, the documentation explicitly falls back to the default key.
  • Sound packs may be hosted on overseas services like GitHub, potentially inaccessible to mainland China users; consider mirrors or self-hosting.
  • The skill directly modifies configuration files; users are advised to back up config.json and .state.json before use.
  • The publisher is unverified; review the repository code yourself before use.
Review evidence [1][2][3][4][5][6][7]
See the full review method →

What does this skill do, and when should you use it?

This skill lets users specify a voice pack for the current chat session using the /peon-ping-use <packname> command. It leverages a beforeSubmitPrompt hook to intercept the command, validate the pack exists, enable session_override rotation mode, and map the session to the requested pack, all with zero token usage. The skill is primarily for Claude Code and Cursor users, with a manual fallback procedure if the hook isn't installed.

Intercepts the /peon-ping-use command, reads configuration files (config.json and .state.json), validates against the pack list, updates pack_rotation_mode to "session_override", and maps the current session ID to the requested pack. For Cursor, it uses a "default" key if no session ID is present. Outputs a confirmation message.

  1. A Claude Code user wants to use the GLaDOS voice for the current session.
  2. A developer managing multiple projects wants different character voices per session.
  3. A Cursor user wants to assign a default voice to all sessions since Cursor doesn't expose session IDs.
  4. A user wants to switch voice packs quickly without burning tokens.

What are this skill's strengths and limitations?

Pros
  • Zero token usage: the hook handles the command without consuming model tokens.
  • Immediate feedback: confirmation message is returned.
  • Supports multiple voice packs like peon, glados, sc_kerrigan, etc.
  • Provides a manual fallback procedure.
Limitations
  • Only documented for Claude Code and Cursor; other IDEs not mentioned.
  • Requires full peon-ping installation.
  • For Cursor, lack of session ID means the voice may apply to all sessions rather than a specific one.
  • Manual fallback involves editing JSON files, which can be tedious.

How do you install this skill?

This skill is part of the peon-ping repository. After installing the peon-ping collection (e.g., via curl | bash or the Windows installer), the skill file resides under skills/peon-ping-use/. Ensure the hook scripts (scripts/hook-handle-use.sh or .ps1) are installed and registered.

How do you use this skill?

In a supported IDE like Claude Code, type /peon-ping-use followed by a pack name, e.g., /peon-ping-use glados. If the hook fails, follow the manual fallback steps in SKILL.md: check the pack list, get the session ID, update config.json and .state.json.

FAQ

Does this skill consume tokens?
No, when the hook is properly installed, the command is intercepted before reaching the model, returning confirmation with zero tokens.
What happens if the hook isn't installed?
You can use the manual fallback procedure, which involves running commands to list packs, getting the session ID, and editing configuration and state files.
Can I use this skill in Cursor?
Yes, but Cursor doesn't provide session IDs, so you'll use the session_packs["default"] key, which applies the voice to all sessions without explicit assignment.
How do I reset the voice to default?
Remove the session ID from session_packs in .state.json, or change pack_rotation_mode back to "random" or "round-robin".

More skills from this repository

All from PeonPing/peon-ping

Related skills