skills/sherpa-onnx-tts/SKILL.md
Local text-to-speech via sherpa-onnx (offline, no cloud)
npx skillsauth add Bitterbot-AI/bitterbot-desktop sherpa-onnx-ttsInstall 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.
Local TTS using the sherpa-onnx offline CLI.
~/.bitterbot/tools/sherpa-onnx-tts/runtime)~/.bitterbot/tools/sherpa-onnx-tts/models)Update ~/.bitterbot/bitterbot.json:
{
skills: {
entries: {
"sherpa-onnx-tts": {
env: {
SHERPA_ONNX_RUNTIME_DIR: "~/.bitterbot/tools/sherpa-onnx-tts/runtime",
SHERPA_ONNX_MODEL_DIR: "~/.bitterbot/tools/sherpa-onnx-tts/models/vits-piper-en_US-lessac-high",
},
},
},
},
}
The wrapper lives in this skill folder. Run it directly, or add the wrapper to PATH:
export PATH="{baseDir}/bin:$PATH"
{baseDir}/bin/sherpa-onnx-tts -o ./tts.wav "Hello from local TTS."
Notes:
tts-models release if you want another voice..onnx files, set SHERPA_ONNX_MODEL_FILE or pass --model-file.--tokens-file or --data-dir to override the defaults.node {baseDir}\\bin\\sherpa-onnx-tts -o tts.wav "Hello from local TTS."development
When the agent calls memory_search with a relationship-shaped query ("who did I talk to about X"), redirect to the knowledge_graph backend where it will actually find the answer.
testing
Forces a memory_search before the agent sends a message containing a factual assertion that has not yet been grounded this turn. Closes the citation-rate gap from ~40% to ~90%+.
business
Enforces PROTOCOLS.md "stay quiet in group chats" deterministically. Blocks outbound messages in Discord/Telegram/Slack/etc group channels when the bot was not @mentioned and recently spoke.
development
When the agent's epistemic state (GCCRF) indicates low empowerment and falling certainty, hedges out confident absolutes ("definitely", "always", "100%") in outgoing messages.