[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FZXNJDC6RGBW4M7DG32FK5":3,"skill-same:01M6FZXNJDC6RGBW4M7DG32FK5":60},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":26,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":29,"install":30,"resources":43},"01M6FZXNJDC6RGBW4M7DG32FK5","agentvibes-clawdbot",null,"kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fpaulpreibisch\u002Fagentvibes-clawdbot\u002FSKILL.md",[],[17,18],"clawdbot","agentvibes clawdbot","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","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fpaulpreibisch\u002Fagentvibes-clawdbot",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":7,"skillName":5,"commands":31,"prompt":41,"zipAvailable":42},[32,35,38],{"tool":33,"command":34},"npx","npx skills add kbarbel640-del\u002Fskills --skill agentvibes-clawdbot",{"tool":36,"command":37},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill agentvibes-clawdbot",{"tool":39,"command":40},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill agentvibes-clawdbot","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fpaulpreibisch\u002Fagentvibes-clawdbot\u002FSKILL.md",true,[44,50,54],{"path":45,"resourceType":46,"resourceTypeDesc":47,"sizeBytes":48,"sourceHtmlUrl":49},"_meta.json","REFERENCE","参考文档",301,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fpaulpreibisch\u002Fagentvibes-clawdbot\u002F_meta.json",{"path":51,"resourceType":46,"resourceTypeDesc":47,"sizeBytes":52,"sourceHtmlUrl":53},"README.md",896,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fpaulpreibisch\u002Fagentvibes-clawdbot\u002FREADME.md",{"path":55,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":58,"sourceHtmlUrl":59},"setup.sh","SCRIPT","脚本",11782,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fpaulpreibisch\u002Fagentvibes-clawdbot\u002Fsetup.sh",[61,92,121,142,148,168],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":72,"publishedAt":19},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[67],{"categoryNo":68,"categoryName":69,"taxonomyType":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],"crowd prompting","prompting","api","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":103,"publishedAt":19},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[104,75,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,80,120],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":130,"publishedAt":19},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[127],{"categoryNo":128,"categoryName":129,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000021","资料检索与研究",[131,132,133,134,135,136,137,76,138,118,120,139,75,140,141],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":143,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":19},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[146],{"categoryNo":128,"categoryName":129,"taxonomyType":101,"taxonomyTypeDesc":102},[134,133,132,131,141,136,137,76,135,118,120,138,139,75,140],{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":19},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[155,156,157,158,159,160,161,162,163,164,165,166,167],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":178,"publishedAt":19},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[174,175],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},{"categoryNo":176,"categoryName":177,"taxonomyType":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000037","律师与法务",[179,180,181,182,76,183,184,23,185,139,186,187,188,189,190,89,191,192,193],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]