Voice-to-Claude pipeline. Record from Moto G52 phone, transcribe via Whisper on junkpile, send to Claude, respond via TTS. Use when the user wants to speak to Claude or use voice commands. <example> Context: User wants to use voice input user: "record my voice" </example> <example> Context: User wants to check voice pipeline status user: "is the voice pipeline working?" </example>
From psnnpx claudepluginhub aladac/claude-pluginsThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Optimizes cloud costs on AWS, Azure, GCP via rightsizing, tagging strategies, reserved instances, spot usage, and spending analysis. Use for expense reduction and governance.
Full voice interaction flow: Phone mic -> Whisper STT -> Claude -> Piper TTS
Record, transcribe, and get Claude response in one call:
voice_ask(duration: 8, speak_response: true)
Returns: {transcript: "...", response: "...", success: true}
Record audio from the phone only:
voice_record(duration: 10, output_path: "/tmp/voice.wav")
Transcribe an existing audio file:
voice_transcribe(audio_path: "/tmp/voice.wav", model: "small")
Models: tiny, base, small, medium, large
Check pipeline health:
voice_status()
Returns connectivity status for phone (ADB), junkpile, Whisper, Claude.
[Moto G52] [fuji] [junkpile]
| | |
| ADB WiFi | |
| 192.168.88.155:5555 | |
| | |
+-- termux-microphone-record | |
| | |
+---------> voice.wav ------>+--------> scp ------------->+
| |
| Whisper STT
| |
| Claude CLI
| |
+<-------- response ---------+
|
Piper TTS
|
[Speaker]
| Component | Location | Status |
|---|---|---|
| Termux + termux-api | Moto G52 | Required |
| ADB over WiFi | 192.168.88.155:5555 | Required |
| Whisper | junkpile ~/.local/bin/whisper | Required |
| Claude CLI | junkpile /home/linuxbrew/.linuxbrew/bin/claude | Required |
| Piper TTS | fuji (psn-mcp --mode local) | Required |
# Check status
mcp__plugin_psn_local__voice_status()
# Full voice interaction (8 seconds)
mcp__plugin_psn_local__voice_ask(duration: 8)
adb connect 192.168.88.155:5555
First transcription downloads the model (~500MB for small). Subsequent runs are fast.