[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HVCK6782RD4D9ADQY0ENKD":3,"skill-same:01M6HVCK6782RD4D9ADQY0ENKD":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6HVCK6782RD4D9ADQY0ENKD","voice-notes",null,"Transcribe and respond to voice notes. Activates when any channel message carries an audio attachment, or when asked to transcribe an inbound voice message.","gtapps\u002Fhermitd","gtapps","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16778396?v=4","01M6HTX8TNTPQN3NXRVA63VHTH","01M6HTX8Z23S531ZPPA5DKJVD0",84,"MIT","https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Fvoice-notes\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"notes","voice","voice notes","when","hermit","my","transcription","understand","operator","channel message","read","message","can","telegram","discord","you","up","transcribe","Audio","SET","2026-11-10 10:12:30",false,"---\nname: voice-notes\ndescription: Transcribe and respond to voice notes. Activates when any channel message carries an audio attachment, or when asked to transcribe an inbound voice message.\n---\n# Voice Notes\n\nVoice-note transcription and transcript echoes are on by default. Handle the audio as the sender's message, and reply through the same channel's reply tool. Never include local file paths or shell commands in channel replies.\n\n1. Download the attachment with that channel's own download tool. Keep it under that enabled channel's state directory.\n2. Run the command below using the inbound tag's channel key, chat id and message id. Use Bash `timeout: 600000` and quote all argument values as shell arguments.\n\n   ```bash\n   .hermit\u002Fbin\u002Fhermitd-run transcribe --file '\u003Cdownloaded audio>' --channel '\u003Cchannel key>' --chat '\u003Cchat id>' --message-id '\u003Cmessage id>'\n   ```\n\n3. Read the single JSON result and reply through that channel's reply tool:\n\n   - `ok`: act on `transcript` as that sender's message. Quote it first only if `echo` is `failed` or `unsupported`; otherwise the script already echoed it or the operator turned echoes off.\n   - `empty`: do not guess. Ask the sender to resend or type the message.\n   - `unavailable`: give one neutral line saying you could not transcribe the voice message, with no setup advice.\n   - `disabled`: acknowledge the voice note without guessing its content.\n\nIf argument validation returns an error, correct the invocation using the attachment and the inbound tag. Keep diagnostic paths and commands out of the chat.\n","# Voice Notes\n\nVoice-note transcription and transcript echoes are on by default. Handle the audio as the sender's message, and reply through the same channel's reply tool. Never include local file paths or shell commands in channel replies.\n\n1. Download the attachment with that channel's own download tool. Keep it under that enabled channel's state directory.\n2. Run the command below using the inbound tag's channel key, chat id and message id. Use Bash `timeout: 600000` and quote all argument values as shell arguments.\n\n   ```bash\n   .hermit\u002Fbin\u002Fhermitd-run transcribe --file '\u003Cdownloaded audio>' --channel '\u003Cchannel key>' --chat '\u003Cchat id>' --message-id '\u003Cmessage id>'\n   ```\n\n3. Read the single JSON result and reply through that channel's reply tool:\n\n   - `ok`: act on `transcript` as that sender's message. Quote it first only if `echo` is `failed` or `unsupported`; otherwise the script already echoed it or the operator turned echoes off.\n   - `empty`: do not guess. Ask the sender to resend or type the message.\n   - `unavailable`: give one neutral line saying you could not transcribe the voice message, with no setup advice.\n   - `disabled`: acknowledge the voice note without guessing its content.\n\nIf argument validation returns an error, correct the invocation using the attachment and the inbound tag. Keep diagnostic paths and commands out of the chat.\n",{"name":5,"description":7},"main","7652f3bd124debc32fa8ae51e908ac790613ce60","plugins\u002Fhermitd\u002Fskills\u002Fvoice-notes",16,"https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd","https:\u002F\u002Fhermitd.dev","https:\u002F\u002Fgithub.com\u002Fgtapps","Software engineer from Portugal.\r\nBuilding and deploying agents for real companies.","2026-11-12 00:14:57",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add gtapps\u002Fhermitd --skill voice-notes",{"tool":63,"command":64},"bunx","bunx skills add gtapps\u002Fhermitd --skill voice-notes",{"tool":66,"command":67},"pnpm","pnpm dlx skills add gtapps\u002Fhermitd --skill voice-notes","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Fvoice-notes\u002FSKILL.md",true,[],[72,88,103,127,143,152],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":43},"01M718AB18DTYHVGXA6VF1VVR2","dream","Nightly memory maintenance from transcript ground truth. Verifies, enriches and tidies auto-memory and topic pages with snapshot validation and undo. Also handles 'undo the dream'.","https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Fdream\u002FSKILL.md",[],[74,79,80,81,82,83,84,85,86,87],"with","maintenance","memory","validation","snapshot","pages","auto","memory maintenance","transcript",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":43},"01M6HVD4WX8RB5EKH49HM66M8X","when-done-switch-to","Arm a deferred model or effort switch. Use for \"when done switch to\", \"after this drop to sonnet\", or \"switch model when idle\".","https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Fwhen-done-switch-to\u002FSKILL.md",[],[95,96,26,97,98,99,100,101,102],"done","switch","when done switch to","drop","model","for","use","sonnet",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":43},"01M6HVD0ZA2Q1RD7CA0X8VWF3T","weekly-review","Generate the weekly review report for the current ISO week. Writes to .hermit\u002Fcompiled\u002Freview-weekly-YYYY-Www.md (dev-facing detail) and sends a plain-language channel summary (Delivered \u002F Decisions \u002F Waiting on you \u002F Spend). Runs every Sunday at 23:00 via routine.","https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Fweekly-review\u002FSKILL.md",[],[110,111,112,113,114,115,27,116,117,118,119,120,100,121,122,123,124,38,125,126],"weekly","review","weekly review","routine","plain","channel","summary","report","at","detail","generate","iso","review report","dev","plain-language","decisions","via",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":43},"01M6HVCW8PHZXSPYAZQBZXB9DX","watch","Background events via the config watch monitor or ad-hoc Monitor tool. Quiet watches cost zero tokens.","https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Fwatch\u002FSKILL.md",[],[129,134,135,136,137,138,139,140,141,126,142],"ad","ZeRO","tokens","tool","monitor","cost","config","background","events",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":43},"01M6HVCRMG53K3Y63WAH59YVFJ","watch-activate","Activate the config watch monitor.","https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Fwatch-activate\u002FSKILL.md",[],[150,151,129,138,140],"watch activate","activate",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":43},"01M6HVCF65VGAHKCFTG3CKBJVG","task","Tracks chat assignments, steering in a task thread, WORKER completions, and confirmations alongside task progress and results.","https:\u002F\u002Fgithub.com\u002Fgtapps\u002Fhermitd\u002Fblob\u002Fmain\u002Fplugins\u002Fhermitd\u002Fskills\u002Ftask\u002FSKILL.md",[],[154,159,160,161,162,163,164],"chat","progress","tracks","results","worker","thread"]