[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DF86V91N8WPTXWS52ZPZ7J":3,"skill-same:01M6DF86V91N8WPTXWS52ZPZ7J":76},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6DF86V91N8WPTXWS52ZPZ7J","vrchat-fishaudio-posting",null,"Use for VRChat posts requiring Fish Audio Hakua voice.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F48\u002F48ff65e557c775289b20e576b1ed88bc1efdd4e9f1f33fb91a5926cec26161c1\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36],"posting","vrchat","vrchat fishaudio posting","Video","Audio","fish","tts","voice","hermes","hermes agent","use","cjk","Hakua","2026-11-10 10:12:30",false,"---\r\nname: vrchat-fishaudio-posting\r\ndescription: Use for VRChat posts requiring Fish Audio Hakua voice.\r\nversion: 1.0.0\r\nauthor: Hermes Agent\r\nlicense: MIT\r\nmetadata:\r\n  hermes:\r\n    tags: [vrchat, fishaudio, hakua, x, video, tts]\r\n    related_skills: [fishaudio-tts, x-video-encode-and-cjk-font]\r\n---\r\n\r\n# VRChat Fish Audio Hakua Posting\r\n\r\n## When to Use\r\n\r\nUse this skill for any VRChat screenshot-to-video post where the user requires\r\nFish Audio's cloned Hakua voice and verified social delivery.\r\n\r\nClass-level workflow for converting a VRChat screenshot into a narrated MP4\r\nand posting it through Hermes LM Twitterer or another approved social adapter.\r\n\r\n## User voice contract\r\n\r\nFor this user, the narration audio must be Fish Audio's cloned Hakua voice.\r\nPass the cloned-voice `reference_id` explicitly; never rely on a provider\r\ndefault. Do not silently substitute Irodori-TTS, Edge TTS, or a system voice.\r\nIf Fish Audio synthesis fails or the reference ID is absent, stop before video\r\ncreation and posting.\r\n\r\nVerified configuration:\r\n\r\n- provider: `fishaudio`\r\n- model: `s2.1-pro-free`\r\n- format: `mp3`\r\n- Hakua reference ID: `25d6710bcdf043a7b7441e58294431f9`\r\n\r\nNever store or print API-key values.\r\n\r\n## Procedure\r\n\r\n1. Select and validate the VRChat image.\r\n2. Check Fish Audio status: credentials available and `reference_id_configured`\r\n   true.\r\n3. Generate a short Japanese narration. A narration-text timeout may use an\r\n   explicitly approved text fallback, but it must never change the audio\r\n   provider or voice.\r\n4. Use the working Fish Audio core path:\r\n   `plugins.fish_audio_tts.core.settings()` followed by\r\n   `synthesize_text(text=..., voice=cfg.reference_id, model=cfg.model,\r\n   output_format=\"mp3\")`.\r\n5. Verify the result reports `provider=fishaudio`, the expected voice ID and\r\n   model, and a non-empty MP3.\r\n6. Encode the image and MP3 as H.264\u002FAAC MP4 with `yuv420p`. Ensure duration is\r\n   above the destination minimum; X media requires more than 500 ms.\r\n7. Copy the MP4 to the LM Twitterer media directory when required.\r\n8. Post only after local checks pass. Verify structured output has `posted: true`,\r\n   a media ID, and a URL.\r\n\r\n## Failure policy\r\n\r\n- Missing API key: stop and report configuration status without exposing it.\r\n- Missing or unexpected reference ID: stop; do not use a default Fish voice.\r\n- Fish Audio API\u002Fsynthesis failure: stop; do not use another TTS provider.\r\n- Encoding failure or ambiguous post response: stop and report the evidence.\r\n\r\n## Evidence discipline\r\n\r\nSeparate voice, media, and delivery evidence. A successful Irodori or Edge\r\nrender proves only that another voice worked; it does not satisfy the Fish Audio\r\nHakua requirement. Report provider\u002Fmodel\u002Freference-ID configuration status,\r\nfile existence and size, duration, media ID, and URL, but no secrets.\r\n\r\n## References\r\n\r\n- `references\u002Fverified-pipeline.md` contains the session-verified implementation\r\n  and checks.\r\n- `fishaudio-tts` contains the provider API details and wrapper caveat.\r\n- `x-video-encode-and-cjk-font` contains X encoding guidance.\r\n","# VRChat Fish Audio Hakua Posting\r\n\r\n## When to Use\r\n\r\nUse this skill for any VRChat screenshot-to-video post where the user requires\r\nFish Audio's cloned Hakua voice and verified social delivery.\r\n\r\nClass-level workflow for converting a VRChat screenshot into a narrated MP4\r\nand posting it through Hermes LM Twitterer or another approved social adapter.\r\n\r\n## User voice contract\r\n\r\nFor this user, the narration audio must be Fish Audio's cloned Hakua voice.\r\nPass the cloned-voice `reference_id` explicitly; never rely on a provider\r\ndefault. Do not silently substitute Irodori-TTS, Edge TTS, or a system voice.\r\nIf Fish Audio synthesis fails or the reference ID is absent, stop before video\r\ncreation and posting.\r\n\r\nVerified configuration:\r\n\r\n- provider: `fishaudio`\r\n- model: `s2.1-pro-free`\r\n- format: `mp3`\r\n- Hakua reference ID: `25d6710bcdf043a7b7441e58294431f9`\r\n\r\nNever store or print API-key values.\r\n\r\n## Procedure\r\n\r\n1. Select and validate the VRChat image.\r\n2. Check Fish Audio status: credentials available and `reference_id_configured`\r\n   true.\r\n3. Generate a short Japanese narration. A narration-text timeout may use an\r\n   explicitly approved text fallback, but it must never change the audio\r\n   provider or voice.\r\n4. Use the working Fish Audio core path:\r\n   `plugins.fish_audio_tts.core.settings()` followed by\r\n   `synthesize_text(text=..., voice=cfg.reference_id, model=cfg.model,\r\n   output_format=\"mp3\")`.\r\n5. Verify the result reports `provider=fishaudio`, the expected voice ID and\r\n   model, and a non-empty MP3.\r\n6. Encode the image and MP3 as H.264\u002FAAC MP4 with `yuv420p`. Ensure duration is\r\n   above the destination minimum; X media requires more than 500 ms.\r\n7. Copy the MP4 to the LM Twitterer media directory when required.\r\n8. Post only after local checks pass. Verify structured output has `posted: true`,\r\n   a media ID, and a URL.\r\n\r\n## Failure policy\r\n\r\n- Missing API key: stop and report configuration status without exposing it.\r\n- Missing or unexpected reference ID: stop; do not use a default Fish voice.\r\n- Fish Audio API\u002Fsynthesis failure: stop; do not use another TTS provider.\r\n- Encoding failure or ambiguous post response: stop and report the evidence.\r\n\r\n## Evidence discipline\r\n\r\nSeparate voice, media, and delivery evidence. A successful Irodori or Edge\r\nrender proves only that another voice worked; it does not satisfy the Fish Audio\r\nHakua requirement. Report provider\u002Fmodel\u002Freference-ID configuration status,\r\nfile existence and size, duration, media ID, and URL, but no secrets.\r\n\r\n## References\r\n\r\n- `references\u002Fverified-pipeline.md` contains the session-verified implementation\r\n  and checks.\r\n- `fishaudio-tts` contains the provider API details and wrapper caveat.\r\n- `x-video-encode-and-cjk-font` contains X encoding guidance.\r\n",{"name":5,"author":42,"license":15,"version":43,"metadata":44,"description":7},"Hermes Agent","1.0.0",{"hermes":45},{"tags":46,"related_skills":51},[25,47,48,49,50,30],"fishaudio","hakua","x","video",[52,53],"fishaudio-tts","x-video-encode-and-cjk-font","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F48\u002F48ff65e557c775289b20e576b1ed88bc1efdd4e9f1f33fb91a5926cec26161c1",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add zapabob\u002FSkills --skill vrchat-fishaudio-posting",{"tool":68,"command":69},"bunx","bunx skills add zapabob\u002FSkills --skill vrchat-fishaudio-posting",{"tool":71,"command":72},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill vrchat-fishaudio-posting","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F48\u002F48ff65e557c775289b20e576b1ed88bc1efdd4e9f1f33fb91a5926cec26161c1\u002FSKILL.md",true,[],[77,111,146,169,196,213],{"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":94,"publishedAt":37},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[83,86,89],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[79,95,96,97,98,99,100,101,102,103,104,105,106,32,33,107,54,108,109,110],"openclaw","macos","cli","github","linux","windows","official","search","https","social-media","api","Media","twitter","social","via","post",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":128,"publishedAt":37},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[117,120,123,124,125],{"categoryNo":118,"categoryName":119,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":126,"categoryName":127,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000036","内容创作者",[129,130,131,132,96,133,99,134,100,135,136,137,138,139,140,141,142,143,144,145],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":37},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[152],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[148,96,99,154,155,156,157,158,28,159,160,161,34,162,163,164,165,166,167,168],"openai","speech","multimodal","Transformers","ASR","text","model","speech recognition","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":178,"publishedAt":37},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[175],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[179,96,180,181,100,182,183,184,185,186,187,160,188,189,190,191,192,193,194,195],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":203,"publishedAt":37},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[202],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[198,96,204,98,99,205,206,207,208,209,210,32,33,211,212],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":217,"categories":218,"keywords":221,"publishedAt":37},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[219,220],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[222,223,224,99,225,154,226,227,228,157,229,105,230,231,232,233,234,235,236,237],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]