
Rts Sounds
- 5 repo stars
- Updated February 26, 2026
- boldflight/claude-code-rts-sounds
Warcraft Peon, StarCraft SCV, and Star Trek TNG sound effects — randomly played on session events
About
rts-sounds is a Claude Code skill in the AI & Agent Building category. Warcraft Peon, StarCraft SCV, and Star Trek TNG sound effects — randomly played on session events
- rts-sounds
- AI & Agent Building
- AI-coding skill
Rts Sounds by the numbers
- Data as of Jul 7, 2026 (Skillselion catalog sync)
/plugin marketplace add boldflight/claude-code-rts-sounds/plugin install rts-sounds@claude-code-rts-soundsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| repo stars | ★ 5 |
|---|---|
| Last updated | February 26, 2026 |
| Repository | boldflight/claude-code-rts-sounds ↗ |
What it does
Warcraft Peon, StarCraft SCV, and Star Trek TNG sound effects — randomly played on session events
README.md
RTS Sounds for Claude Code
Warcraft Peon, StarCraft SCV, and Star Trek TNG sound effects for Claude Code sessions. Each event randomly picks from all three universes (or lock in a single pack). Fully configurable -- volume, pack selection, per-event toggles, headphones-only mode, and more.
Inspired by this tweet.
Sound Map
| Event | Peon | SCV | Star Trek |
|---|---|---|---|
| Session Start | "Something need doing?" | "SCV ready, sir" | TNG communicator chirp |
| Prompt Submit | "Work work" / "Yes me lord" | "Yes sir" / "Roger" | LCARS beep |
| Notification | "Huh?" / "What?" | "Go ahead" / "What you want?" | Hailing beep / Alert |
| Task Complete | "Job's done!" | "SCV reporting" | "Program complete" |
| Tool Failure | angry peon grumbling | "Not enough minerals" | Error tone |
Install as Plugin
# Add as a marketplace (once)
/plugin marketplace add boldflight/claude-code-rts-sounds
# Install
/plugin install rts-sounds@claude-code-rts-sounds
Or test locally:
git clone https://github.com/boldflight/claude-code-rts-sounds.git
claude --plugin-dir ./claude-code-rts-sounds
Install Manually
If you prefer not to use the plugin system, copy the sounds and script to ~/.claude/hooks/ and add the hooks to ~/.claude/settings.json. The hook commands are unchanged from v1:
{
"hooks": {
"SessionStart": [{ "hooks": [{ "type": "command", "command": "~/.claude/hooks/play.sh ready", "timeout": 5 }] }],
"UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "~/.claude/hooks/play.sh yes", "timeout": 5 }] }],
"Notification": [{ "hooks": [{ "type": "command", "command": "~/.claude/hooks/play.sh what", "timeout": 5 }] }],
"Stop": [{ "hooks": [{ "type": "command", "command": "~/.claude/hooks/play.sh complete", "timeout": 5 }] }],
"PostToolUseFailure": [{ "hooks": [{ "type": "command", "command": "~/.claude/hooks/play.sh error", "timeout": 5 }] }]
}
}
Commands
The plugin provides three slash commands:
| Command | Description |
|---|---|
/rts-sounds:mute |
Mute all sounds (creates ~/.claude/rts-muted) |
/rts-sounds:unmute |
Unmute sounds (removes ~/.claude/rts-muted) |
/rts-sounds:config |
View or change settings -- volume, pack, toggles, etc. |
Configuration
All settings live in ~/.claude/rts-sounds.json. The file is optional -- defaults apply if missing. All changes take effect immediately, no restart needed.
Default config
{
"volume": 0.7,
"pack": "mixed",
"headphones_only": false,
"use_sound_effects_device": false,
"categories": {
"ready": true,
"yes": true,
"what": true,
"complete": true,
"error": true
}
}
Settings reference
Volume (volume: 0.0--1.0, default 0.7)
Controls playback volume on all platforms. 0.0 is silent, 1.0 is full volume.
Pack selection (pack: "mixed" | "peon" | "scv" | "trek", default "mixed")
Which sound universe to draw from. "mixed" picks randomly across all installed packs. Set to a single pack name to hear only that universe.
Headphones-only mode (headphones_only: true | false, default false)
macOS only. When enabled, sounds are suppressed if the default audio output is the built-in speaker. Useful in shared spaces -- sounds play only when headphones or an external audio device are connected.
Per-category toggles (categories)
Disable individual event types by setting them to false:
ready-- session startyes-- prompt submittedwhat-- notificationcomplete-- task doneerror-- tool failure
Sound Effects device routing (use_sound_effects_device: true | false, default false)
macOS only. Routes playback through the macOS Sound Effects output device instead of the default output. This lets you keep notification sounds on a separate device from music or calls.
Mute For a quick global mute that works across all sessions (including background agents):
# Mute
touch ~/.claude/rts-muted
# Unmute
rm ~/.claude/rts-muted
This is the same mechanism the /rts-sounds:mute and /rts-sounds:unmute commands use. Takes effect immediately.
Features
- No-repeat -- When multiple sounds exist for an event, the same sound never plays twice in a row.
- Spam detection -- Three or more rapid prompts within 10 seconds triggers annoyed/exasperated sounds instead of the normal acknowledgements.
Add Your Own Sounds
Sound packs are driven by manifest.json files. To create a new pack:
- Create a directory under
sounds/(e.g.,sounds/zerg/) - Drop your
.wavfiles into it - Add a
manifest.jsonmapping categories to filenames
Example manifest.json:
{
"name": "zerg",
"display_name": "StarCraft Zerg",
"categories": {
"ready": ["ZergReady1.wav"],
"yes": ["ZergYes1.wav", "ZergYes2.wav"],
"what": ["ZergWhat1.wav"],
"complete": ["ZergComplete1.wav"],
"error": ["ZergError1.wav"],
"spam": ["ZergPissed1.wav"]
}
}
Categories map to hook events: ready (session start), yes (prompt submit), what (notification), complete (task done), error (tool failure), spam (rapid-fire prompts). No script changes needed -- the player discovers packs automatically from their manifests.
Platform Support
| Platform | Player |
|---|---|
| macOS | afplay (built-in) |
| Linux | paplay, aplay, or mpv |
| Windows | PowerShell Media.SoundPlayer |
Sound Sources
- Warcraft Peon: Wowhead Sound Database
- StarCraft SCV: The Sounds Resource
- Star Trek TNG: TrekCore Audio
License
MIT. Game sound effects belong to their respective copyright holders (Blizzard Entertainment, Paramount). This project is for personal/educational use.