workspace/skills/slack-voice-interface/SKILL.md
Respond to Slack voice clips with both text and an MP3 voice reply using edge-tts. Voice IN is already handled by OpenClaw transcription. Use when a user sends a voice message in Slack, you need to reply with audio, or you want to generate a spoken MP3 response.
npx skillsauth add automateyournetwork/netclaw slack-voice-interfaceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
User sends voice clip in Slack
|
v
OpenClaw transcribes automatically (built-in)
|
v
NetClaw processes with full skill set
(pyATS, NetBox, ServiceNow, all 40 MCP servers)
|
v
python3 $MCP_CALL "python3 -u $TTS_MCP_SCRIPT" text_to_speech → MP3 file
|
v
Upload MP3 to Slack thread + post text response
Treat the transcribed voice message identically to a typed text message. Use the full NetClaw skill set — pyATS, NetBox, ServiceNow, etc.
After composing your text response, call text_to_speech:
python3 $MCP_CALL "python3 -u $TTS_MCP_SCRIPT" text_to_speech '{"text":"R1 has 3 OSPF neighbors, all in FULL state on Area 0...","voice":"en-US-GuyNeural"}'
This returns JSON with an output_path to the generated MP3 file.
To list available voices:
python3 $MCP_CALL "python3 -u $TTS_MCP_SCRIPT" list_voices '{"language":"en"}'
Post the text response in the Slack thread AND upload the MP3 file:
:loud_speaker: Voice Response [MP3 audio file attached]
R1 has 3 OSPF neighbors, all in FULL state on Area 0:
- 2.2.2.2 (R2) via Gi1 — FULL/DR
- 3.3.3.3 (R3) via Gi2 — FULL/BDR
Always deliver text AND voice. Text is primary (searchable, accessible). Voice is supplementary.
| Voice | Description | |-------|-------------| | en-US-GuyNeural | Professional male — default | | en-US-JennyNeural | Professional female | | en-US-AriaNeural | Conversational female | | en-GB-RyanNeural | British male |
Users can request a voice change:
Call list_voices to see all 300+ available voices.
| Phase | Latency | |-------|---------| | edge-tts synthesis | 1-2 seconds | | Slack MP3 upload | < 1 second |
Voice synthesis adds minimal overhead to the response time.
If TTS fails, deliver the text response immediately. Do not block on voice.
Record voice interactions in the GAIT audit trail:
Input: Voice clip from @user (transcript: "What are your interfaces?")
Action: Queried R1 interfaces via pyATS
Output: 4 interfaces found — text + voice response delivered to Slack
tools
Zoom meeting intelligence — correlates a live or referenced Zoom meeting discussion against NetClaw's historical meeting record (via the official Zoom Meetings MCP) and today's actual network state. Use when someone in a Zoom meeting references a past discussion or incident ('didn't we have this issue before?'), or asks to search prior meetings for a topic. Does not itself recognize live in-meeting questions — that happens automatically inside zoom-rtms-mcp's own extractor (spec 118) before this skill is ever invoked.
tools
Manage Lantronix out-of-band (OOB) infrastructure via Percepxion central management platform: device inventory, serial port inspection via SLC CLI, firmware compliance, config management, security auditing, and closed-loop incident remediation. Use during outages, maintenance windows, compliance cycles, and AI-assisted automation workflows.
tools
Federate your NetClaw with other NetClaw operators over the BGP mesh — exchange capability inventories and ask your claw what a peer can do. (US1; remote invocation and chat land in later phases.)
tools
Track token consumption, enforce session budgets, and display cost for every NetClaw interaction.