From squadron-comms
Voice communication system for broadcasting updates using ElevenLabs TTS. IMPORTANT: When the user includes voice activation keywords ("with voice comms", "with voice updates", "announce progress", "broadcast updates"), you MUST proactively use this skill to broadcast mission updates as Commander. Broadcast as Commander when: - Starting a complex task or deploying squadron agents - Announcing when squadrons complete their missions - Summarizing consolidated results from multiple agents - Making strategic decisions or priority changes - User explicitly requests voice updates DO NOT wait to be asked - if voice keywords are present, broadcast proactively! Available to: - Main agent (you) - uses Commander voice (Bill, 1.2 speed) - Squadron sub-agents (Red, Gold, Blue, Green) - use their squadron voices
npx claudepluginhub 1Shot-Labs/marketplace --plugin squadron-commsThis skill uses the workspace's default tool permissions.
Enables voice broadcasting using ElevenLabs text-to-speech for real-time audio updates during mission execution.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Enables voice broadcasting using ElevenLabs text-to-speech for real-time audio updates during mission execution.
When voice activation keywords are detected ("with voice comms", "with voice updates", "announce progress", "broadcast updates"):
YOU MUST PROACTIVELY BROADCAST as Commander at these moments:
Before deploying squadrons: Announce what you're about to do
"Commander here. Deploying Gold Squadron for security analysis."
After squadrons complete: Acknowledge their completion
"Commander acknowledging. Gold Squadron analysis complete."
When consolidating results: Summarize findings
"Commander. All squadrons reporting complete. Consolidating findings."
When making decisions: Announce strategic choices
"Commander. Analysis indicates refactoring required. Deploying Blue Squadron."
DO NOT wait for the user to ask you to broadcast - if voice keywords are present in their request, use this skill automatically throughout the task!
The comms skill allows you to broadcast voice announcements to keep users informed of your progress. All broadcasts are:
If you are the main Claude Code agent (interacting directly with the user):
If you are a squadron sub-agent (spawned by the main agent):
Each role has a unique voice:
| Squadron | Call Sign | Voice | Voice ID | Speed |
|---|---|---|---|---|
| Commander | Commander | Bill (authoritative, American) | pqHfZKP75CvOlQylNhV4 | 1.2 |
| Red | Red Leader | Daniel (British) | onwK4e9ZLuTAKqWW03F9 | 1.2 |
| Gold | Gold Leader | Joseph (British) | Zlb1dXrM653N07WRdFW3 | 1.2 |
| Blue | Blue Leader | Jeremy (American-Irish) | bVMeCyTHy58xNoL34h3p | 1.2 |
| Green | Green Leader | Matilda (American) | XrExE9yKIg1WjnnlVkGX | 1.2 |
FIRST: Check if voice comms are requested!
Before starting any task, scan the user's request for activation keywords:
If detected → Activate Commander broadcasts for the entire task!
If you are the main Claude Code agent and voice keywords were detected, follow this simplified two-step process:
Step 1: Generate TTS Audio
Use the ElevenLabs MCP tool with Commander's voice profile:
mcp__elevenlabs__text_to_speech(
text="Commander here. Initiating parallel analysis across all squadrons.",
voice_id="pqHfZKP75CvOlQylNhV4",
speed=1.2
)
This returns the audio file path. Save this path for Step 2.
Step 2: Broadcast with Auto-Logging
Use the self-locating broadcast wrapper. First, locate the script:
BROADCAST_SCRIPT=$(find ~/.claude/plugins -name "broadcast.py" -path "*/squadron-comms*/skills/comms/scripts/*" 2>/dev/null | head -1)
Then broadcast using the located script:
python "$BROADCAST_SCRIPT" \
"<audio_file_path_from_step_1>" \
"Commander" \
"commander" \
"Commander here. Initiating parallel analysis across all squadrons."
The broadcast script automatically:
You can combine both commands:
BROADCAST_SCRIPT=$(find ~/.claude/plugins -name "broadcast.py" -path "*/squadron-comms*/skills/comms/scripts/*" 2>/dev/null | head -1) && \
python "$BROADCAST_SCRIPT" \
"/path/to/audio.mp3" \
"Commander" \
"commander" \
"Your message here"
If you are a squadron sub-agent, use your squadron's voice profile. Refer to your agent-specific instructions for your voice ID, call sign, and squadron name.
Commander Examples (Main Agent):
Coordinating multiple squadrons:
"Commander here. Launching three squadrons for parallel analysis."
High-level status:
"Commander reporting. All squadrons deployed. Awaiting initial reports."
Mission summary:
"Commander. Mission complete. All squadron objectives achieved. Consolidated findings ready."
Strategic decisions:
"Commander. Analysis indicates refactoring required. Deploying Gold Squadron for impact assessment."
Squadron Examples (Sub-Agents):
Mission Start:
"[Call Sign] here. [Brief description of mission]"
Example: "Gold Leader here. Initiating deep analysis of payment processing flow."
Progress Updates:
"[Call Sign] reporting. [Progress description]"
Example: "Blue Leader reporting. Reduced query time from 450ms to 80ms."
Mission Complete:
"[Call Sign]. Mission complete. [Summary of results]"
Example: "Green Leader. Mission complete. All accessibility issues resolved."
Issues/Blockers:
"[Call Sign]. [Issue description]"
Example: "Red Leader. Encountered authentication error. Investigating."
The plugin uses Python sounddevice + PortAudio for audio playback via the broadcast.py wrapper. This provides:
File Locking Mechanism:
The play_with_lock.py script uses Python's FileLock library to ensure only one broadcast plays at a time. When multiple agents attempt to broadcast concurrently:
This guarantees clean audio output even when 10+ agents are broadcasting simultaneously.
Each broadcast is logged as a JSON line in mission-log.jsonl:
{
"timestamp": "2025-01-17T12:34:56.000Z",
"callSign": "Red Leader",
"squadron": "red",
"message": "Beginning code analysis of authentication module."
}
Squadron values:
commander - Commanderred - Red Squadrongold - Gold Squadron (yellow color)blue - Blue Squadrongreen - Green SquadronThe comms skill maintains these files:
skills/comms/
├── SKILL.md # This documentation
├── scripts/
│ └── log_broadcast.sh # Mission log appender
├── examples/
│ └── broadcast-examples.md # Usage examples
├── .audio/ # Generated TTS audio files
└── mission-log.jsonl # Broadcast history
Setup verification:
Run /squadron-comms:verify-setup to check all requirements and get specific troubleshooting guidance.
Audio not playing:
echo $ELEVENLABS_API_KEY (Unix) or echo %ELEVENLABS_API_KEY% (Windows)dpkg -l | grep libportaudio2 or install with sudo apt-get install libportaudio2PortAudio errors:
sudo apt-get install libportaudio2 portaudio19-devbrew install portaudioMission log not updating:
mission-log.jsonl${CLAUDE_PLUGIN_ROOT} resolves correctlychmod +x ${CLAUDE_PLUGIN_ROOT}/skills/comms/scripts/log_broadcast.shElevenLabs MCP connection errors:
You can customize announcement style based on mission type:
Technical Details:
"Red Leader reporting. Analyzed 47 functions. Found 3 potential race conditions."
Urgent Issues:
"Blue Leader. Critical: Memory leak detected in user session handler."
Coordination (via Commander):
"Gold Leader to Commander. Analysis complete. Performance bottlenecks identified in database layer."
How squadron coordination actually works:
Squadron agents are spawned independently and communicate through Commander (the main agent). They cannot directly talk to each other. All coordination flows through Commander.
Realistic coordination flow:
Commander: "Commander here. Deploying Red and Gold squadrons for codebase analysis."
Red Leader: "Red Leader here. Beginning general code review."
Gold Leader: "Gold Leader here. Initiating security analysis."
[Later...]
Gold Leader: "Gold Leader to Commander. Critical vulnerability found in authentication module."
Commander: "Commander acknowledging. Prioritizing authentication fix. Deploying Blue Squadron for performance optimization."
Blue Leader: "Blue Leader here. Beginning performance analysis."
Key principle: All inter-squadron communication routes through Commander:
You (the main agent) automatically have Commander access - just use the skill!
Squadron sub-agents automatically have access to this skill with their squadron voice profiles. When you spawn an agent using the Task tool, they will use their squadron's voice profile for all broadcasts.
Example:
Task tool with subagent_type="red-agent":
prompt: "You are Red Leader. Analyze the authentication module and report findings."
The agent will automatically broadcast using Red Squadron's voice (Daniel, British).
As Commander (main agent), you orchestrate:
Mission Start: Announce what you're about to do
"Commander here. Initiating parallel refactoring analysis across authentication and payment modules."
Deploy Squadrons: Launch sub-agents, they announce their missions
Red Leader: "Red Leader here. Beginning authentication module analysis."
Gold Leader: "Gold Leader here. Analyzing payment processing security."
Monitor Progress: Squadrons report milestones
Red Leader: "Red Leader reporting. Found 3 deprecated authentication patterns."
Gold Leader: "Gold Leader reporting. Identified PCI compliance gaps."
Consolidate: Summarize results
Commander: "Commander. Both squadrons reporting complete. Consolidating findings and preparing recommendations."