[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MSZ3Q1AESCEKTMS4YWHQ86":3,"skill-same:01M6MSZ3Q1AESCEKTMS4YWHQ86":59},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":16,"publishedAt":17,"linkOnly":18,"markdownContent":19,"markdownBody":19,"frontMatter":20,"refName":21,"commitSha":22,"skillDirectory":23,"forksCount":24,"repositoryHtmlUrl":25,"repositoryHomepageUrl":6,"ownerHtmlUrl":26,"ownerBlogUrl":6,"ownerDescription":27,"updatedAt":28,"install":29,"resources":42},"01M6MSZ3Q1AESCEKTMS4YWHQ86","agentvibesclawdbot",null,"Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fagentvibesclawdbot\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"# AgentVibes Clawdbot Skill - local-gen-tts Integration\n\n**Version:** 1.0.0  \n**Author:** Paul Preibisch  \n**Repository:** https:\u002F\u002Fgithub.com\u002Fpaulpreibisch\u002FAgentVibes  \n**License:** Apache-2.0\n\n## Overview\n\nAutomatically integrates AgentVibes with Clawdbot for local TTS generation on remote devices (Android\u002FTermux, Linux, macOS) via SSH.\n\n### What This Does\n\n- ✅ **Automatic TTS** - Every Clawdbot response speaks via AgentVibes\n- ✅ **Remote Generation** - Text sent to Android\u002Fdevice, audio generated locally\n- ✅ **Full Features** - Voice effects, reverb, background music\n- ✅ **Low Bandwidth** - Only text sent over SSH (~1-5 KB)\n- ✅ **Secure** - SSH key authentication, Tailscale VPN\n\n## Prerequisites\n\n### On Server (Clawdbot)\n- Clawdbot installed and running\n- SSH access to remote device\n- Workspace directory (e.g., `~\u002Fclawd`)\n\n### On Remote Device (Android\u002FLinux\u002FmacOS)\n- SSH server running (`sshd`)\n- Node.js installed (for auto-install of AgentVibes)\n- Tailscale (optional but recommended)\n\n**Note:** AgentVibes is automatically installed on both server and remote device during setup.\n\n## Installation\n\n### Prerequisites First: SSH Setup ⚠️\n\n**Before running the skill setup, you MUST set up SSH to your remote device:**\n\n1. **Generate SSH key** (if you don't have one):\n```bash\nssh-keygen -t ed25519 -f ~\u002F.ssh\u002Fid_ed25519 -N ''\n```\n\n2. **Copy key to remote device**:\n```bash\nssh-copy-id -i ~\u002F.ssh\u002Fid_ed25519.pub user@remote-ip\n```\n\n3. **Test SSH connection** (without password):\n```bash\nssh android \"echo Connected\"\n# Should print: Connected\n```\n\n4. **Add to ~\u002F.ssh\u002Fconfig** (optional but recommended):\n```\nHost android\n    HostName your-device-ip\n    User your-username\n    Port 22\n```\n\nOnce SSH works, proceed to installation.\n\n### Quick Setup\n\nRun the installer script:\n\n```bash\nnpx agentvibes install-clawdbot-skill\n```\n\n### Manual Setup\n\n1. **Run the setup script** (AgentVibes auto-installs on both server and remote device):\n```bash\ncd ~\u002F.npm-global\u002Flib\u002Fnode_modules\u002Fagentvibes\n\n# Set your Clawdbot workspace\nexport CLAWDBOT_WORKSPACE=~\u002Fclawd\n\n# Set SSH remote host (optional, defaults to 'android')\nexport AGENTVIBES_SSH_HOST=android\n\n# Run setup - AgentVibes will be auto-installed if needed\nbash skills\u002Fclawdbot\u002Fsetup.sh\n```\n\nThe setup script will:\n- ✅ Install AgentVibes on the server (if not present)\n- ✅ Create TTS hooks and scripts\n- ✅ SSH to your remote device and auto-install AgentVibes there\n- ✅ Configure all necessary files and permissions\n\n## What Gets Installed\n\n### 1. TTS Hook (`\u003Cworkspace>\u002F.claude\u002Fhooks\u002Fplay-tts.sh`)\n\nAutomatically called by Clawdbot for every TTS response:\n\n```bash\n#!\u002Fusr\u002Fbin\u002Fenv bash\n# AgentVibes Clawdbot TTS Hook\nTEXT=\"${1:-}\"\nVOICE=\"${2:-en_US-kristin-medium}\"\n[[ -z \"$TEXT\" ]] && exit 0\nbash \"$WORKSPACE\u002Flocal-gen-tts.sh\" \"$TEXT\" \"$VOICE\" &\nexit 0\n```\n\n### 2. Local Gen Script (`\u003Cworkspace>\u002Flocal-gen-tts.sh`)\n\nSends text to remote device for local AgentVibes generation:\n\n```bash\n#!\u002Fusr\u002Fbin\u002Fenv bash\n# AgentVibes local-gen-tts\nANDROID_HOST=\"android\"\nTEXT=\"${1:-}\"\nVOICE=\"${2:-en_US-kristin-medium}\"\n\nssh \"$ANDROID_HOST\" \"bash ~\u002F.termux\u002Fagentvibes-play.sh '$TEXT' '$VOICE'\" &\n```\n\n### 3. Remote Receiver (`~\u002F.termux\u002Fagentvibes-play.sh`)\n\nInstalled on Android\u002Fremote device:\n\n```bash\n#!\u002Fusr\u002Fbin\u002Fenv bash\n# AgentVibes SSH Receiver\nTEXT=\"$1\"\nVOICE=\"${2:-en_US-ryan-high}\"\nexport AGENTVIBES_NO_REMINDERS=1\nexport AGENTVIBES_RDP_MODE=false\n\nAGENTVIBES_ROOT=\"\u002Fdata\u002Fdata\u002Fcom.termux\u002Ffiles\u002Fusr\u002Flib\u002Fnode_modules\u002Fagentvibes\"\nbash \"$AGENTVIBES_ROOT\u002F.claude\u002Fhooks\u002Fplay-tts.sh\" \"$TEXT\" \"$VOICE\"\n```\n\n### 4. Config Files (`\u003Cworkspace>\u002F.claude\u002F`)\n\n- `tts-provider.txt` → `piper`\n- `tts-voice.txt` → Voice name (e.g., `en_US-kristin-medium`)\n- `ssh-remote-host.txt` → SSH hostname (e.g., `android`)\n\n## Configuration\n\n### Voices\n\n**Female voices:**\n- `en_US-kristin-medium` - Professional, neutral (recommended)\n- `en_US-lessac-medium` - Warm, expressive\n- `en_US-amy-medium` - Friendly, conversational\n- `en_US-libritts-high` - Clear, high quality\n\n**Male voices:**\n- `en_US-ryan-high` - Energetic, clear (recommended)\n- `en_US-joe-medium` - Casual\n- `en_US-bryce-medium` - Professional\n\n### Audio Effects (Optional)\n\nConfigure on remote device:\n\n```bash\n# On Android\u002Fremote\nnano ~\u002F.local\u002Fshare\u002Fagentvibes\u002F.claude\u002Fconfig\u002Faudio-effects.cfg\n```\n\nAdd:\n```\n# Voice|Reverb|Music|Volume\nen_US-kristin-medium|reverb 50 50 90|agentvibes_soft_flamenco_loop.mp3|0.10\nen_US-ryan-high|reverb 50 50 90|agent_vibes_bachata_v1_loop.mp3|0.10\n```\n\n### SSH Setup\n\nAdd to `~\u002F.ssh\u002Fconfig`:\n\n```\nHost android\n    HostName 100.115.27.58  # Tailscale IP\n    User u0_a484\n    Port 52847\n    IdentityFile ~\u002F.ssh\u002Fandroid_key\n```\n\n## Usage\n\nOnce installed, **it's completely automatic**:\n\n```\nYou: \"Hello Clawdbot\"\nClawdbot: \"Hello!\"\n→ Automatically plays on Android with voice + effects\n```\n\nNo manual commands needed!\n\n## Architecture\n\n```\n┌─────────────────────────────────────┐\n│ Clawdbot (Server)                   │\n│ ├─ Generates text response          │\n│ ├─ Calls .claude\u002Fhooks\u002Fplay-tts.sh │\n│ ├─ Calls local-gen-tts.sh          │\n│ └─ Sends TEXT via SSH              │\n└─────────────────────────────────────┘\n              ↓ SSH\u002FTailscale\n┌─────────────────────────────────────┐\n│ Android\u002FRemote Device               │\n│ ├─ Receives text                    │\n│ ├─ AgentVibes (Piper TTS)          │\n│ ├─ Generates audio locally          │\n│ ├─ Applies reverb + music           │\n│ └─ Plays on speakers                │\n└─────────────────────────────────────┘\n```\n\n## Multiple Instances\n\nFor multiple Clawdbot instances (e.g., Orian + Samuel):\n\n```bash\n# Orian (workspace: ~\u002Fclawd)\nexport CLAWDBOT_WORKSPACE=~\u002Fclawd\nexport AGENTVIBES_VOICE=en_US-kristin-medium\nbash skills\u002Fclawdbot\u002Fsetup.sh\n\n# Samuel (workspace: ~\u002Fclawd2)\nexport CLAWDBOT_WORKSPACE=~\u002Fclawd2\nexport AGENTVIBES_VOICE=en_US-ryan-high\nbash skills\u002Fclawdbot\u002Fsetup.sh\n```\n\nEach instance can have:\n- Different voice\n- Different background music\n- Different audio effects\n\n## Troubleshooting\n\n### No audio on remote device\n\n```bash\n# Check SSH connection\nssh android \"echo 'Connected'\"\n\n# Test receiver directly\nssh android \"bash ~\u002F.termux\u002Fagentvibes-play.sh 'Test' 'en_US-kristin-medium'\"\n```\n\n### TTS not triggering automatically\n\n```bash\n# Check hook exists\nls -la $CLAWDBOT_WORKSPACE\u002F.claude\u002Fhooks\u002Fplay-tts.sh\n\n# Check provider set\ncat $CLAWDBOT_WORKSPACE\u002F.claude\u002Ftts-provider.txt\n# Should output: piper\n```\n\n### Wrong voice playing\n\n```bash\n# Check voice config\ncat $CLAWDBOT_WORKSPACE\u002F.claude\u002Ftts-voice.txt\n\n# Update voice\necho \"en_US-kristin-medium\" > $CLAWDBOT_WORKSPACE\u002F.claude\u002Ftts-voice.txt\n```\n\n## Uninstall\n\n```bash\n# Remove TTS integration\nrm -rf $CLAWDBOT_WORKSPACE\u002F.claude\u002Fhooks\nrm $CLAWDBOT_WORKSPACE\u002F.claude\u002Ftts-provider.txt\nrm $CLAWDBOT_WORKSPACE\u002F.claude\u002Ftts-voice.txt\nrm $CLAWDBOT_WORKSPACE\u002Flocal-gen-tts.sh\n\n# On remote device\nssh android \"rm ~\u002F.termux\u002Fagentvibes-play.sh\"\n```\n\n## Security\n\n- ✅ SSH key-only authentication (no passwords)\n- ✅ Text-only transmission (no executable code)\n- ✅ Tailscale VPN recommended\n- ✅ Configurable SSH port (use non-standard)\n\n## Performance\n\n- **Latency:** ~5-8 seconds (text → audio → playback)\n- **Bandwidth:** ~1-5 KB per message (text only)\n- **Quality:** Full neural TTS with effects\n- **Reliability:** Background execution, non-blocking\n\n## Examples\n\n### Basic Setup (Orian)\n\n```bash\n# 1. Install on server\ncd ~\u002F.npm-global\u002Flib\u002Fnode_modules\u002Fagentvibes\nCLAWDBOT_WORKSPACE=~\u002Fclawd AGENTVIBES_SSH_HOST=android bash skills\u002Fclawdbot\u002Fsetup.sh\n\n# 2. Install receiver on Android\nssh android \"curl -sSL https:\u002F\u002Fraw.githubusercontent.com\u002Fpaulpreibisch\u002FAgentVibes\u002Fmain\u002Fscripts\u002Finstall-ssh-receiver.sh | bash\"\n\n# 3. Done! Send a message to Clawdbot\n```\n\n### Advanced Setup (Multiple Instances with Different Music)\n\n```bash\n# Orian - Kristin + Flamenco\nCLAWDBOT_WORKSPACE=~\u002Fclawd \\\nAGENTVIBES_VOICE=en_US-kristin-medium \\\nAGENTVIBES_MUSIC=agentvibes_soft_flamenco_loop.mp3 \\\nbash skills\u002Fclawdbot\u002Fsetup.sh\n\n# Samuel - Ryan + Bachata\nCLAWDBOT_WORKSPACE=~\u002Fclawd2 \\\nAGENTVIBES_VOICE=en_US-ryan-high \\\nAGENTVIBES_MUSIC=agent_vibes_bachata_v1_loop.mp3 \\\nbash skills\u002Fclawdbot\u002Fsetup.sh\n```\n\n## Support the Project\n\n⭐ **Love AgentVibes?** Star the repository to support the project:\n? https:\u002F\u002Fgithub.com\u002Fpaulpreibisch\u002FAgentVibes\n\nYour star helps other developers discover this project!\n\n## Contributing\n\nFound a bug or have a suggestion? Open an issue:\nhttps:\u002F\u002Fgithub.com\u002Fpaulpreibisch\u002FAgentVibes\u002Fissues\n\n## License\n\nApache-2.0 - See LICENSE file\n\n## Credits\n\n- **AgentVibes:** Paul Preibisch\n- **Clawdbot Integration:** Developed with Claude AI\n- **Piper TTS:** Rhasspy\u002FHome Assistant\n\n---\n\n**Version:** 1.0.0  \n**Last Updated:** 2026-01-30  \n**Status:** Production Ready ✅\n",{},"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","Git和GitHub\u002Fagentvibesclawdbot",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":7,"skillName":5,"commands":30,"prompt":40,"zipAvailable":41},[31,34,37],{"tool":32,"command":33},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill agentvibesclawdbot",{"tool":35,"command":36},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill agentvibesclawdbot",{"tool":38,"command":39},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill agentvibesclawdbot","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fagentvibesclawdbot\u002FSKILL.md",true,[43,49,53],{"path":44,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":47,"sourceHtmlUrl":48},"_meta.json","REFERENCE","参考文档",300,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fagentvibesclawdbot\u002F_meta.json",{"path":50,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":51,"sourceHtmlUrl":52},"README.md",896,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fagentvibesclawdbot\u002FREADME.md",{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"setup.sh","SCRIPT","脚本",11782,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fagentvibesclawdbot\u002Fsetup.sh",[60,84,120,131,141,171],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":17},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[62,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":85,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":102,"publishedAt":17},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[89,94,97],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":95,"categoryName":96,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[103,104,105,106,107,108,109,69,110,73,111,112,113,114,115,116,117,118,119],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":121,"name":122,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":128,"publishedAt":17},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[125,126,127],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":95,"categoryName":96,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},[103,129,130,104,105,106,107,108,109,69,110,73,112,113,114,115,116,117,118,119],"api skill","zerion api skill",{"skillNo":132,"name":133,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":17},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[136,137,138],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":95,"categoryName":96,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},[106,103,140,104,105,107,108,69,110,73,111,112,113,114,115,116,117,118,119],"zerion api mcp",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":17},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000040","财务",[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":17},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[177],{"categoryNo":148,"categoryName":149,"taxonomyType":100,"taxonomyTypeDesc":101},[151,152,154,179,180,181,182,183,184,162,185,186,187,188,189,190,191,192,119,169],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]