[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6G4JDREMFQ8X2SPCFCAWN4C":3,"skill-same:01M6G4JDREMFQ8X2SPCFCAWN4C":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6G4JDREMFQ8X2SPCFCAWN4C","supertonic-cli",null,"Use this skill when the user needs to generate speech from text using on-device TTS — 31 languages, 10 voice styles, no cloud, ONNX Runtime.","javimosch\u002Fsupercli","javimosch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12900508?v=4","01M6D3F2AS6PV75ET9PZ1QGP8J","Javier Leandro Arancibia","01M6D3F2EBNWNJ358Q90P5YQR1",57,"MIT","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fsupertonic-cli\u002Fskills\u002Fquickstart\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37],"cli","supertonic cli","onnx","generate","speech","cloud","tts","voice","text","user","use","device","runtime","styles","2026-11-10 10:12:30",false,"---\nname: supertonic-cli\ndescription: Use this skill when the user needs to generate speech from text using on-device TTS — 31 languages, 10 voice styles, no cloud, ONNX Runtime.\n---\n\n# supertonic-cli — On-Device TTS\n\nGenerate speech from text using Supertonic — lightning-fast, on-device, multilingual TTS via ONNX Runtime (5.3k ⭐, MIT).\n\n## Installation & Dependencies\n\n```bash\npip install supertonic          # Core TTS engine + ONNX Runtime (~100MB)\npip install supertonic-cli      # CLI wrapper\n```\n\n## Commands\n\n- `supertonic-cli tts synthesize \u003Ctext> [--voice M1] [--lang en] [-o output.wav] [--machine]` — Generate speech to file\n- `supertonic-cli tts speak \u003Ctext> [--voice M1] [--lang en] [--machine]` — Synthesize and play aloud immediately (auto-cleanup)\n- `supertonic-cli tts voices` — List available voices\n- `supertonic-cli tts languages` — List supported languages\n- `supertonic-cli self version` — Show engine info\n\n## Critical Caveats & Pitfalls\n\n### 1. First Run: Model Download (Mandatory)\nThe first `synthesize` or `info` call downloads the ONNX model from Hugging Face (~300MB, 26 files).\n**Always warn the user** about this before running. Do NOT run synthesize without warning.\n\n```bash\n# Expected first-run output:\nFetching 26 files:   0%|  | 0\u002F26 [00:00\u003C?, ?it\u002Fs]\n# Download can take 2-5 minutes depending on connection.\n```\n\n**Affected commands**: `synthesize`, `voices`, `info`\n**Safe commands** (no download): `languages`\n\n### 2. Timeout Configuration\nThe default supercli timeout may not be enough for first-run model download.\nAlways use `--machine` flag which returns faster (no file I\u002FO), OR set `timeout_ms` higher.\nFirst-run synthesize typically needs **120-300 seconds**.\n\n### 3. soundfile \u002F _ctypes Issues\nOn some Python installations, `_ctypes` module is missing, causing `save_audio()` to fail.\nThe CLI has a built-in fallback that writes raw WAV without soundfile.\n**If you see \"soundfile library is required\"**, the fallback should handle it automatically.\n\n### 4. Duration is numpy.float32, not a plain float\nWhen processing machine JSON output, the `duration_s` field may be a numpy type (not serializable to JSON).\nThe CLI handles this internally by converting to float.\n\n### 5. Output Format\n- Default: **44100Hz** mono 16-bit WAV (correct sample rate is critical for natural sound)\n- The model outputs at 44100Hz. If audio sounds like a \"drunk robot\" or slowed down, the WAV was saved at the wrong sample rate (early versions hardcoded 24000Hz). Update to the latest CLI to fix.\n- The `--machine` flag returns metadata without audio to stdout; the WAV file is written to disk\n\n### 6. Voice Styles\n| Voice | Style | Best For |\n|-------|-------|----------|\n| M1-M5 | Male voices (5 variants) | General purpose, varies by language |\n| F1-F5 | Female voices (5 variants) | General purpose, varies by language |\n\nNot all voices are equally good for all languages. If output sounds wrong, suggest trying a different voice.\n\n### 7. Language Codes (31 languages)\nUse ISO 639-1 two-letter codes. Full list via `supertonic-cli tts languages`:\n`en, ko, ja, ar, bg, cs, da, de, el, es, et, fi, fr, hi, hr, hu, id, it, lt, lv, nl, pl, pt, ro, ru, sk, sl, sv, tr, uk, vi`\n\n### 8. Text Length & Quality\n- Short text (\u003C 200 chars) works best\n- Long text may cause OOM on low-memory systems\n- For long text (> 500 chars), consider splitting into sentences and synthesizing separately\n- Supertonic handles punctuation, numbers, dates, currency, and abbreviations well\n- Supports expressive tags: `\u003Claugh>`, `\u003Cbreath>`, `\u003Csigh>`\n\n### 9. Performance Characteristics\n- Typical RTF (Real-Time Factor): **0.2-0.5** on modern CPU (faster than real-time)\n- ~99M parameters, runs entirely on CPU (no GPU needed)\n- Memory usage: ~500MB-1GB during synthesis\n- Faster after model is cached (subsequent runs skip download)\n\n### 10. Model Cache\nThe ONNX model is cached at Hugging Face's default cache location:\n`~\u002F.cache\u002Fhuggingface\u002Fhub\u002F`\nCan be deleted and re-downloaded if corrupted.\n\n### 11. JSON Output Format\n```json\n{\n  \"ok\": true,\n  \"output\": \"\u002Fpath\u002Fto\u002Foutput.wav\",\n  \"duration_s\": 2.08,\n  \"real_time_s\": 0.56,\n  \"rtf\": 0.267,\n  \"voice\": \"M1\",\n  \"lang\": \"es\"\n}\n```\n\n### 12. Speak Command — Say Something Aloud\nThe `speak` command synthesizes and plays audio in one step, then deletes the temp file.\nUseful for agents that want to \"say something\" when supercli runs on a machine with speakers.\n\n```bash\nsc supertonic-cli tts speak \"Hello, I am ready\" --voice M1 --lang en\n```\n\n**Player detection** (in order): ffplay, paplay, aplay (Linux), afplay (macOS).\nHeadless servers without audio will fail — use `synthesize` instead.\n\n### 13. No Cloud \u002F No API\nThis runs entirely on-device. No internet connection needed after model download.\nNo API keys required. No data leaves the machine. **Guarantee this to the user.**\n\n## Prompt Templates\n\nBest prompts to use with this plugin:\n\n- \"Synthesize '[text]' with voice [M1-F5] in [language], save as [filename]\"\n- \"Generate Spanish speech: Hola Ma, anda a dormir — voice M1, save to hola_ma.wav\"\n- \"List available voices and their languages\"\n- \"What languages does supertonic support? Output as a table\"\n- \"Create audio from this text: [long text]. Split into sentences if too long.\"\n- \"Download the supertonic model first (warn user about 300MB), then synthesize...\"\n\n## Common Workflows\n\n### One-shot TTS\n```\n→ \"Generate 'Hello world' in French with voice F2\"\n← supertonic-cli tts synthesize \"Hello world\" --voice F2 --lang fr -o hello.wav\n```\n\n### Multi-language comparison\n```\n→ \"Synthesize 'Good morning' in English, Spanish, and Japanese\"\n← Run 3 separate commands with different --lang codes\n```\n\n### JSON for automation\n```\n→ \"Generate speech from this text and return the duration: 'The quick brown fox'\"\n← Use --machine flag to get structured output\n```\n","# supertonic-cli — On-Device TTS\n\nGenerate speech from text using Supertonic — lightning-fast, on-device, multilingual TTS via ONNX Runtime (5.3k ⭐, MIT).\n\n## Installation & Dependencies\n\n```bash\npip install supertonic          # Core TTS engine + ONNX Runtime (~100MB)\npip install supertonic-cli      # CLI wrapper\n```\n\n## Commands\n\n- `supertonic-cli tts synthesize \u003Ctext> [--voice M1] [--lang en] [-o output.wav] [--machine]` — Generate speech to file\n- `supertonic-cli tts speak \u003Ctext> [--voice M1] [--lang en] [--machine]` — Synthesize and play aloud immediately (auto-cleanup)\n- `supertonic-cli tts voices` — List available voices\n- `supertonic-cli tts languages` — List supported languages\n- `supertonic-cli self version` — Show engine info\n\n## Critical Caveats & Pitfalls\n\n### 1. First Run: Model Download (Mandatory)\nThe first `synthesize` or `info` call downloads the ONNX model from Hugging Face (~300MB, 26 files).\n**Always warn the user** about this before running. Do NOT run synthesize without warning.\n\n```bash\n# Expected first-run output:\nFetching 26 files:   0%|  | 0\u002F26 [00:00\u003C?, ?it\u002Fs]\n# Download can take 2-5 minutes depending on connection.\n```\n\n**Affected commands**: `synthesize`, `voices`, `info`\n**Safe commands** (no download): `languages`\n\n### 2. Timeout Configuration\nThe default supercli timeout may not be enough for first-run model download.\nAlways use `--machine` flag which returns faster (no file I\u002FO), OR set `timeout_ms` higher.\nFirst-run synthesize typically needs **120-300 seconds**.\n\n### 3. soundfile \u002F _ctypes Issues\nOn some Python installations, `_ctypes` module is missing, causing `save_audio()` to fail.\nThe CLI has a built-in fallback that writes raw WAV without soundfile.\n**If you see \"soundfile library is required\"**, the fallback should handle it automatically.\n\n### 4. Duration is numpy.float32, not a plain float\nWhen processing machine JSON output, the `duration_s` field may be a numpy type (not serializable to JSON).\nThe CLI handles this internally by converting to float.\n\n### 5. Output Format\n- Default: **44100Hz** mono 16-bit WAV (correct sample rate is critical for natural sound)\n- The model outputs at 44100Hz. If audio sounds like a \"drunk robot\" or slowed down, the WAV was saved at the wrong sample rate (early versions hardcoded 24000Hz). Update to the latest CLI to fix.\n- The `--machine` flag returns metadata without audio to stdout; the WAV file is written to disk\n\n### 6. Voice Styles\n| Voice | Style | Best For |\n|-------|-------|----------|\n| M1-M5 | Male voices (5 variants) | General purpose, varies by language |\n| F1-F5 | Female voices (5 variants) | General purpose, varies by language |\n\nNot all voices are equally good for all languages. If output sounds wrong, suggest trying a different voice.\n\n### 7. Language Codes (31 languages)\nUse ISO 639-1 two-letter codes. Full list via `supertonic-cli tts languages`:\n`en, ko, ja, ar, bg, cs, da, de, el, es, et, fi, fr, hi, hr, hu, id, it, lt, lv, nl, pl, pt, ro, ru, sk, sl, sv, tr, uk, vi`\n\n### 8. Text Length & Quality\n- Short text (\u003C 200 chars) works best\n- Long text may cause OOM on low-memory systems\n- For long text (> 500 chars), consider splitting into sentences and synthesizing separately\n- Supertonic handles punctuation, numbers, dates, currency, and abbreviations well\n- Supports expressive tags: `\u003Claugh>`, `\u003Cbreath>`, `\u003Csigh>`\n\n### 9. Performance Characteristics\n- Typical RTF (Real-Time Factor): **0.2-0.5** on modern CPU (faster than real-time)\n- ~99M parameters, runs entirely on CPU (no GPU needed)\n- Memory usage: ~500MB-1GB during synthesis\n- Faster after model is cached (subsequent runs skip download)\n\n### 10. Model Cache\nThe ONNX model is cached at Hugging Face's default cache location:\n`~\u002F.cache\u002Fhuggingface\u002Fhub\u002F`\nCan be deleted and re-downloaded if corrupted.\n\n### 11. JSON Output Format\n```json\n{\n  \"ok\": true,\n  \"output\": \"\u002Fpath\u002Fto\u002Foutput.wav\",\n  \"duration_s\": 2.08,\n  \"real_time_s\": 0.56,\n  \"rtf\": 0.267,\n  \"voice\": \"M1\",\n  \"lang\": \"es\"\n}\n```\n\n### 12. Speak Command — Say Something Aloud\nThe `speak` command synthesizes and plays audio in one step, then deletes the temp file.\nUseful for agents that want to \"say something\" when supercli runs on a machine with speakers.\n\n```bash\nsc supertonic-cli tts speak \"Hello, I am ready\" --voice M1 --lang en\n```\n\n**Player detection** (in order): ffplay, paplay, aplay (Linux), afplay (macOS).\nHeadless servers without audio will fail — use `synthesize` instead.\n\n### 13. No Cloud \u002F No API\nThis runs entirely on-device. No internet connection needed after model download.\nNo API keys required. No data leaves the machine. **Guarantee this to the user.**\n\n## Prompt Templates\n\nBest prompts to use with this plugin:\n\n- \"Synthesize '[text]' with voice [M1-F5] in [language], save as [filename]\"\n- \"Generate Spanish speech: Hola Ma, anda a dormir — voice M1, save to hola_ma.wav\"\n- \"List available voices and their languages\"\n- \"What languages does supertonic support? Output as a table\"\n- \"Create audio from this text: [long text]. Split into sentences if too long.\"\n- \"Download the supertonic model first (warn user about 300MB), then synthesize...\"\n\n## Common Workflows\n\n### One-shot TTS\n```\n→ \"Generate 'Hello world' in French with voice F2\"\n← supertonic-cli tts synthesize \"Hello world\" --voice F2 --lang fr -o hello.wav\n```\n\n### Multi-language comparison\n```\n→ \"Synthesize 'Good morning' in English, Spanish, and Japanese\"\n← Run 3 separate commands with different --lang codes\n```\n\n### JSON for automation\n```\n→ \"Generate speech from this text and return the duration: 'The quick brown fox'\"\n← Use --machine flag to get structured output\n```\n",{"name":5,"description":7},"master","18c32f4b7197d246bdedcc9eca5d0403eaac0bc2","plugins\u002Fsupertonic-cli\u002Fskills\u002Fquickstart",5,"https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli","https:\u002F\u002Fjavimosch.github.io\u002Fsupercli\u002F","https:\u002F\u002Fgithub.com\u002Fjavimosch","intrane.fr","Building robust, open-source infrastructure for the commons. AI-leveraged, self-hosted, built to last.","2026-11-02 18:24:17",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add javimosch\u002Fsupercli --skill supertonic-cli",{"tool":59,"command":60},"bunx","bunx skills add javimosch\u002Fsupercli --skill supertonic-cli",{"tool":62,"command":63},"pnpm","pnpm dlx skills add javimosch\u002Fsupercli --skill supertonic-cli","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fsupertonic-cli\u002Fskills\u002Fquickstart\u002FSKILL.md",true,[],[68,77,96,108,120,128],{"skillNo":69,"name":70,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":74,"publishedAt":38},"01M6G7YFZVHRYAY51J0YG9SDNJ","sc-machin-mcp","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fsupercli-machin-cli\u002Fskills\u002Fsc-machin-mcp\u002FSKILL.md",[73],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[75,76],"sc machin mcp","MCP",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":84,"publishedAt":38},"01M6G7YB179MQMSHZBJDC8TZA8","supercli.quickstart","SuperCLI capability router — discover and execute CLI commands through namespace.resource.action interface","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fskills\u002Fsupercli\u002FSKILL.md",[83],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[85,86,24,87,88,89,90,91,92,93,94,95],"supercli quickstart","quickstart","capability router","plugin","discovery","execute","router","discover","commands","interface","supercli,cli,plugin,capability,discovery,agent",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":38},"01M6G7Y734QS3793YMS5PR146J","zzdoc","Use this skill to compile scdoc manpages with a fast Zig-based compiler.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzzdoc\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[98,103,34,104,105,106,107],"with","zig","fast","compiler","compile",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":38},"01M6G7Y2WX56K2QJQ9RV2ZKEV7","zx","Use this skill when the user wants to a tool for writing better scripts using node.js.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzx\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[110,115,34,33,116,117,118,119],"scripts","node","tool","js","writing",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":38},"01M6G7Y0M792DGW31HN4TEQT10","zvm","Use this skill when the user wants to manage multiple Zig compiler versions.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzvm\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[122,104,127,34,33,106],"manage",{"skillNo":129,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":38},"01M6G7XX51W5HJW09DYXBK92TJ","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzstdmt\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[86]]