[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MT07JHTZYXT1879HSRE98B":3,"skill-same:01M6MT07JHTZYXT1879HSRE98B":87},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6MT07JHTZYXT1879HSRE98B","announcer",null,"Announce text throughout the house via AirPlay speakers using Airfoil + ElevenLabs TTS.","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\u002Fannouncer\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30],"github","https","api","tts","text","python3","elevenlabs","airfoil","elevenlabs tts","ffmpeg","via","announce","wide","2026-11-10 10:12:30",false,"---\nname: announcer\ndescription: \"Announce text throughout the house via AirPlay speakers using Airfoil + ElevenLabs TTS.\"\nsummary: \"House-wide TTS announcements via AirPlay speakers, Airfoil, and ElevenLabs.\"\nversion: 1.1.0\nhomepage: https:\u002F\u002Fgithub.com\u002Fodrobnik\u002Fannouncer-skill\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"?\",\n        \"requires\": { \"bins\": [\"python3\", \"ffmpeg\"], \"apps\": [\"Airfoil\"], \"env\": [\"ELEVENLABS_API_KEY\"], \"skills\": [\"elevenlabs\"] },\n      },\n  }\n---\n\n# Announcer\n\nPlay TTS announcements through AirPlay speakers via Airfoil and ElevenLabs.\n\n## How It Works\n\n1. Generate speech via ElevenLabs (high-quality opus → stereo MP3)\n2. Connect to AirPlay speakers via Airfoil\n3. Play an optional chime (gong) followed by the announcement\n4. Disconnect speakers after playback\n\n## Requirements\n\n- **Airfoil** (Rogue Amoeba) — running on the host Mac\n- **ElevenLabs API key** — set `ELEVENLABS_API_KEY` env var\n- **ffmpeg** — for audio format conversion\n- **elevenlabs skill** — sibling skill for TTS generation\n\n## Configuration\n\nUser config lives at `~\u002Fclawd\u002Fannouncer\u002Fconfig.json`:\n\n```json\n{\n  \"speakers\": [\"Living (2)\", \"Kitchen\", \"Office\"],\n  \"excluded\": [\"Computer\"],\n  \"elevenlabs\": {\n    \"voice_id\": \"your-voice-id\",\n    \"format\": \"opus_48000_192\"\n  },\n  \"audio\": {\n    \"output_format\": \"mp3\",\n    \"stereo\": true,\n    \"sample_rate\": 48000,\n    \"bitrate\": \"256k\",\n    \"chime_file\": \"gong_stereo.mp3\"\n  },\n  \"airfoil\": {\n    \"source\": \"System-Wide Audio\",\n    \"connection_timeout_seconds\": 30,\n    \"volume\": 0.7\n  }\n}\n```\n\n### Config Fields\n\n| Field | Description |\n|-------|-------------|\n| `speakers` | AirPlay speaker names to connect |\n| `excluded` | Speaker names to never connect |\n| `elevenlabs.voice_id` | ElevenLabs voice to use |\n| `audio.chime_file` | Chime sound file in `assets\u002F` (set `null` to disable) |\n| `airfoil.connection_timeout_seconds` | Time to wait for speakers to connect |\n| `airfoil.volume` | Speaker volume (0.0–1.0) |\n\n## Usage\n\n```bash\n# Announce to all configured speakers\npython3 skills\u002Fannouncer\u002Fscripts\u002Fannounce.py \"Dinner is ready!\"\n\n# Announce to specific speakers only\npython3 skills\u002Fannouncer\u002Fscripts\u002Fannounce.py \"Wake up!\" --speakers \"Kids Room\"\n\n# Skip the chime\npython3 skills\u002Fannouncer\u002Fscripts\u002Fannounce.py \"Quick note\" --no-gong\n```\n\n## File Structure\n\n```\nannouncer\u002F\n├── SKILL.md\n├── assets\u002F\n│   └── gong_stereo.mp3      # Announcement chime\n└── scripts\u002F\n    └── announce.py           # Main announcement script\n```\n\nUser config (not part of skill):\n```\n~\u002Fclawd\u002Fannouncer\u002F\n└── config.json               # Speaker list, voice, audio settings\n```\n","# Announcer\n\nPlay TTS announcements through AirPlay speakers via Airfoil and ElevenLabs.\n\n## How It Works\n\n1. Generate speech via ElevenLabs (high-quality opus → stereo MP3)\n2. Connect to AirPlay speakers via Airfoil\n3. Play an optional chime (gong) followed by the announcement\n4. Disconnect speakers after playback\n\n## Requirements\n\n- **Airfoil** (Rogue Amoeba) — running on the host Mac\n- **ElevenLabs API key** — set `ELEVENLABS_API_KEY` env var\n- **ffmpeg** — for audio format conversion\n- **elevenlabs skill** — sibling skill for TTS generation\n\n## Configuration\n\nUser config lives at `~\u002Fclawd\u002Fannouncer\u002Fconfig.json`:\n\n```json\n{\n  \"speakers\": [\"Living (2)\", \"Kitchen\", \"Office\"],\n  \"excluded\": [\"Computer\"],\n  \"elevenlabs\": {\n    \"voice_id\": \"your-voice-id\",\n    \"format\": \"opus_48000_192\"\n  },\n  \"audio\": {\n    \"output_format\": \"mp3\",\n    \"stereo\": true,\n    \"sample_rate\": 48000,\n    \"bitrate\": \"256k\",\n    \"chime_file\": \"gong_stereo.mp3\"\n  },\n  \"airfoil\": {\n    \"source\": \"System-Wide Audio\",\n    \"connection_timeout_seconds\": 30,\n    \"volume\": 0.7\n  }\n}\n```\n\n### Config Fields\n\n| Field | Description |\n|-------|-------------|\n| `speakers` | AirPlay speaker names to connect |\n| `excluded` | Speaker names to never connect |\n| `elevenlabs.voice_id` | ElevenLabs voice to use |\n| `audio.chime_file` | Chime sound file in `assets\u002F` (set `null` to disable) |\n| `airfoil.connection_timeout_seconds` | Time to wait for speakers to connect |\n| `airfoil.volume` | Speaker volume (0.0–1.0) |\n\n## Usage\n\n```bash\n# Announce to all configured speakers\npython3 skills\u002Fannouncer\u002Fscripts\u002Fannounce.py \"Dinner is ready!\"\n\n# Announce to specific speakers only\npython3 skills\u002Fannouncer\u002Fscripts\u002Fannounce.py \"Wake up!\" --speakers \"Kids Room\"\n\n# Skip the chime\npython3 skills\u002Fannouncer\u002Fscripts\u002Fannounce.py \"Quick note\" --no-gong\n```\n\n## File Structure\n\n```\nannouncer\u002F\n├── SKILL.md\n├── assets\u002F\n│   └── gong_stereo.mp3      # Announcement chime\n└── scripts\u002F\n    └── announce.py           # Main announcement script\n```\n\nUser config (not part of skill):\n```\n~\u002Fclawd\u002Fannouncer\u002F\n└── config.json               # Speaker list, voice, audio settings\n```\n",{"name":5,"summary":36,"version":37,"homepage":38,"metadata":39,"description":7},"House-wide TTS announcements via AirPlay speakers, Airfoil, and ElevenLabs.","1.1.0","https:\u002F\u002Fgithub.com\u002Fodrobnik\u002Fannouncer-skill",{"openclaw":40},{"emoji":41,"requires":42},"?",{"env":43,"apps":45,"bins":47,"skills":48},[44],"ELEVENLABS_API_KEY",[46],"Airfoil",[23,27],[24],"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","Git和GitHub\u002Fannouncer",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":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill announcer",{"tool":63,"command":64},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill announcer",{"tool":66,"command":67},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill announcer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fannouncer\u002FSKILL.md",true,[71,77,81],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"_meta.json","REFERENCE","参考文档",272,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fannouncer\u002F_meta.json",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"README.md",1038,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fannouncer\u002FREADME.md",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"scripts\u002Fannounce.py","SCRIPT","脚本",11157,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002FGit和GitHub\u002Fannouncer\u002Fscripts\u002Fannounce.py",[88,112,147,158,168,195],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":31},"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",[],[90,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":113,"name":114,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":130,"publishedAt":31},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[117,122,125],{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":123,"categoryName":124,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[20,131,132,133,134,135,136,97,137,101,138,139,140,141,142,143,144,145,146],"zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":148,"name":149,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":155,"publishedAt":31},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[152,153,154],{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},{"categoryNo":123,"categoryName":124,"taxonomyType":120,"taxonomyTypeDesc":121},{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},[20,156,157,131,132,133,134,135,136,97,137,101,139,140,141,142,143,144,145,146],"api skill","zerion api skill",{"skillNo":159,"name":160,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":166,"publishedAt":31},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[163,164,165],{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},{"categoryNo":123,"categoryName":124,"taxonomyType":120,"taxonomyTypeDesc":121},{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},[133,20,167,131,132,134,135,97,137,101,138,139,140,141,142,143,144,145,146],"zerion api mcp",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":177,"publishedAt":31},"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",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000040","财务",[178,179,180,181,182,18,19,183,184,23,185,186,187,188,189,190,191,192,193,194],"finance","yahoo finance","forex","yahoo","yahoo finance forex","sentiment","real-time","install","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":31},"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",[201],{"categoryNo":175,"categoryName":176,"taxonomyType":128,"taxonomyTypeDesc":129},[178,179,181,203,204,205,206,207,208,186,209,210,211,212,213,214,215,216,146,193],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]