[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J8FV5PPP4B3ZNK4SC1Y2M3":3,"skill-same:01M6J8FV5PPP4B3ZNK4SC1Y2M3":494},{"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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6J8FV5PPP4B3ZNK4SC1Y2M3","media-use",null,"Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS \u002F music \u002F image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut \u002F reframe \u002F transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro\u002Fcamcorder\u002Fprint\u002FASCII, needs privacy, or needs a media reveal.","sgomez-dev\u002Fclaude-skills","sgomez-dev","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F81492002?v=4","01M6J7TFP3PR3PTGBAG3N9Z007","Santiago Gómez de la Torre Romero","01M6J7TFT704JY40NG1YE3V5JQ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"Media","media use","use","across","sfx","vague","background removal","operate","reframe","project","shared","local","image","voiceover","ready","projects","logo","Captions","Audio","generate","2026-11-10 10:12:30",false,"---\nname: media-use\ndescription: Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS \u002F music \u002F image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut \u002F reframe \u002F transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro\u002Fcamcorder\u002Fprint\u002FASCII, needs privacy, or needs a media reveal.\n---\n\n**Plugin installs:** Before setup or freshness commands, follow [plugin execution rules](..\u002Fhyperframes\u002Freferences\u002Fplugin-installation.md) when this skill is inside a HyperFrames plugin. Standalone installs keep the update instructions below.\n\n# media-use\n\nThe media OS for HyperFrames: resolve · generate · operate · remember — every media type, one skill, zero context noise.\n\nFirst run: install and sign in to the `heygen` CLI (the free-usage path), then verify with `npx hyperframes media-use resolve --doctor`. Setup and providers: `references\u002Fsetup-providers.md`.\n\n## Resolve — the one verb\n\n```bash\nnpx hyperframes media-use resolve --type \u003Ctype> --intent \"\u003Cdescription>\" --project \u003Cdir>\n```\n\nReturns one line: `resolved \u003Cid> → \u003Cpath> (\u003Ctype>, \u003Cmetadata>)`. All search noise stays on disk.\n\n| Type    | One-line intent                                                                  |\n| ------- | -------------------------------------------------------------------------------- |\n| `bgm`   | background music (HeyGen catalog, 10k+ tracks)                                   |\n| `sfx`   | sound effects (bundled 19-file library + catalog)                                |\n| `image` | photos, backgrounds (HeyGen asset search, 75k+ vectors)                          |\n| `icon`  | icons, symbols (transparent)                                                     |\n| `logo`  | official brand marks (theSVG → GitHub avatar → favicon; never redrawn)           |\n| `voice` | TTS voiceover (HeyGen free-usage path; optional local Kokoro)                    |\n| `grade` | measured correction candidate; broad polish\u002Fstylization follows Media Treatments |\n| `lut`   | user-provided or explicitly chosen reusable validated `.cube` file               |\n\nBefore resolving fresh, list reusable candidates with `--candidates` and judge fit yourself — reuse rules, all flags, ingest (`--from`), and adopt are in `references\u002Fresolve.md`.\n\n## Treat broad visual feedback as media intent\n\nWhen a user explicitly asks to fix, polish, stylize, obscure, emphasize, or\nreveal photographic media, read `references\u002Fmedia-treatments.md` even if they\ndo not name color grading or an effect. Inspect the real `\u003Cimg>`\u002F`\u003Cvideo>`,\nchoose one primary intent, then use deterministic persistence and verification.\nUse a matching recipe as an optional tested seed, or inspect\n`hyperframes media-treatment --capabilities --json`, then request one relevant\nfamily\u002Feffect with `--capability \u003Cid>` and assemble a custom treatment from\ncanonical controls. Never load `--all` for ordinary authoring. A treatment may\ncompose correction, a preset, finishing, compatible shader effects, supported\nkeyframes, and optional Registry overlays. Add only source-justified bounded\ntuning and compatible parts, never effects merely to make the result look more\nsophisticated. Persist the final combined payload with\n`hyperframes media-treatment`.\n\nUse one progressively escalating workflow. For video, inspect one labeled\nearly\u002Fmiddle\u002Flate contact sheet rather than reading frames separately. Apply one\ncandidate and inspect one after-sheet for ordinary correction or polish.\nEscalate to individual frames or moving draft evidence only when the result is\nambiguous, temporal, stylized, LUT-based, HDR\u002FLOG-sensitive, private, or\nbrand-critical.\n\nFor ordinary correction or polish, persist the final treatment's\npreset\u002Fadjustment JSON.\nDo not generate a `.cube` LUT merely to encode exposure, shadows, contrast, or\nwarmth. Use a LUT only when the user supplies one or the selected treatment\nexplicitly owns one. `resolve --type grade --for ... --analyze` is measurement\nevidence, not permission to replace the chosen treatment with a generated LUT.\nDo not recreate supported vignette, grain, blur, pixelate, color, or treatment\neffects with CSS\u002FSVG overlays; that bypasses Studio controls and the canonical\npreview\u002Frender shader path.\n\n## Be proactive — run a media opportunity pass\n\nThe human usually can't tell which media would lift the piece. You can. When you build or review a composition, do **one** grounded scan and then **ask once** — don't silently add, and don't nag per asset.\n\nSurface an opportunity only when a concrete signal is present:\n\n| Signal detected                                          | Offer                                                                                                  |\n| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |\n| On-screen text \u002F a script with no voiceover              | TTS voiceover (audio engine)                                                                           |\n| Emoji or a `\u003Cdiv>` styled as an icon                     | resolve real `icon`s                                                                                   |\n| Image that is a placeholder, tiny, or upscaled-looking   | a better `image` (and\u002For upscale — see `references\u002Foperations.md`)                                     |\n| Hard scene cuts \u002F transitions with no sound              | transition `sfx`                                                                                       |\n| A piece over ~10s with no music bed                      | `bgm`                                                                                                  |\n| Footage that reads under\u002Fover-exposed or color-cast      | a corrective grade (inspect it with `hyperframes media-treatment --selector '#hero' --analyze --json`) |\n| Photographic media that feels visually flat or off-topic | one specific source-appropriate preset or custom treatment, with the intended target named             |\n| A meaningful media entrance\u002Freveal that feels static     | one supported seek-safe treatment animation; preserve color unless the request also justifies a preset |\n\nRules that keep this a help, not nagware: **grounded, not generic** (no signal → no suggestion); **opinionated + concrete** (propose the specific fix with defaults chosen — the human approves **all \u002F some \u002F none**); **once per project** (one consolidated ask; respect \"leave it\"); **surface, never silently mutate** (color grades especially: propose and preview — a gray-world \"correction\" ruins an intentional sunset or neon look).\n\n## Where to look — read only the file your task needs\n\n| Task                                                                      | Read                             |\n| ------------------------------------------------------------------------- | -------------------------------- |\n| resolve \u002F reuse \u002F adopt \u002F ingest, flags, cascade, inventory               | `references\u002Fresolve.md`          |\n| color grading, LUTs, smart grade (`--for`), grade-compare                 | `references\u002Fgrading.md`          |\n| voiceover \u002F TTS, music, SFX, captions, transcription (audio engine)       | `references\u002Faudio.md`            |\n| cut \u002F reframe \u002F transform existing media, exact error diffusion, HEVC     | `references\u002Foperations.md`       |\n| source-aware creative treatments, realtime effects, overlays, reveals     | `references\u002Fmedia-treatments.md` |\n| install + auth, provider table, RAM ladders, `--local-only`, `--provider` | `references\u002Fsetup-providers.md`  |\n| remembered preferences + frozen recipes (user memory)                     | `references\u002Fmemory.md`           |\n| ownership matrix, usage stats, telemetry, privacy (maintainer-facing)     | `references\u002Fmeta.md`             |\n","**Plugin installs:** Before setup or freshness commands, follow [plugin execution rules](..\u002Fhyperframes\u002Freferences\u002Fplugin-installation.md) when this skill is inside a HyperFrames plugin. Standalone installs keep the update instructions below.\n\n# media-use\n\nThe media OS for HyperFrames: resolve · generate · operate · remember — every media type, one skill, zero context noise.\n\nFirst run: install and sign in to the `heygen` CLI (the free-usage path), then verify with `npx hyperframes media-use resolve --doctor`. Setup and providers: `references\u002Fsetup-providers.md`.\n\n## Resolve — the one verb\n\n```bash\nnpx hyperframes media-use resolve --type \u003Ctype> --intent \"\u003Cdescription>\" --project \u003Cdir>\n```\n\nReturns one line: `resolved \u003Cid> → \u003Cpath> (\u003Ctype>, \u003Cmetadata>)`. All search noise stays on disk.\n\n| Type    | One-line intent                                                                  |\n| ------- | -------------------------------------------------------------------------------- |\n| `bgm`   | background music (HeyGen catalog, 10k+ tracks)                                   |\n| `sfx`   | sound effects (bundled 19-file library + catalog)                                |\n| `image` | photos, backgrounds (HeyGen asset search, 75k+ vectors)                          |\n| `icon`  | icons, symbols (transparent)                                                     |\n| `logo`  | official brand marks (theSVG → GitHub avatar → favicon; never redrawn)           |\n| `voice` | TTS voiceover (HeyGen free-usage path; optional local Kokoro)                    |\n| `grade` | measured correction candidate; broad polish\u002Fstylization follows Media Treatments |\n| `lut`   | user-provided or explicitly chosen reusable validated `.cube` file               |\n\nBefore resolving fresh, list reusable candidates with `--candidates` and judge fit yourself — reuse rules, all flags, ingest (`--from`), and adopt are in `references\u002Fresolve.md`.\n\n## Treat broad visual feedback as media intent\n\nWhen a user explicitly asks to fix, polish, stylize, obscure, emphasize, or\nreveal photographic media, read `references\u002Fmedia-treatments.md` even if they\ndo not name color grading or an effect. Inspect the real `\u003Cimg>`\u002F`\u003Cvideo>`,\nchoose one primary intent, then use deterministic persistence and verification.\nUse a matching recipe as an optional tested seed, or inspect\n`hyperframes media-treatment --capabilities --json`, then request one relevant\nfamily\u002Feffect with `--capability \u003Cid>` and assemble a custom treatment from\ncanonical controls. Never load `--all` for ordinary authoring. A treatment may\ncompose correction, a preset, finishing, compatible shader effects, supported\nkeyframes, and optional Registry overlays. Add only source-justified bounded\ntuning and compatible parts, never effects merely to make the result look more\nsophisticated. Persist the final combined payload with\n`hyperframes media-treatment`.\n\nUse one progressively escalating workflow. For video, inspect one labeled\nearly\u002Fmiddle\u002Flate contact sheet rather than reading frames separately. Apply one\ncandidate and inspect one after-sheet for ordinary correction or polish.\nEscalate to individual frames or moving draft evidence only when the result is\nambiguous, temporal, stylized, LUT-based, HDR\u002FLOG-sensitive, private, or\nbrand-critical.\n\nFor ordinary correction or polish, persist the final treatment's\npreset\u002Fadjustment JSON.\nDo not generate a `.cube` LUT merely to encode exposure, shadows, contrast, or\nwarmth. Use a LUT only when the user supplies one or the selected treatment\nexplicitly owns one. `resolve --type grade --for ... --analyze` is measurement\nevidence, not permission to replace the chosen treatment with a generated LUT.\nDo not recreate supported vignette, grain, blur, pixelate, color, or treatment\neffects with CSS\u002FSVG overlays; that bypasses Studio controls and the canonical\npreview\u002Frender shader path.\n\n## Be proactive — run a media opportunity pass\n\nThe human usually can't tell which media would lift the piece. You can. When you build or review a composition, do **one** grounded scan and then **ask once** — don't silently add, and don't nag per asset.\n\nSurface an opportunity only when a concrete signal is present:\n\n| Signal detected                                          | Offer                                                                                                  |\n| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |\n| On-screen text \u002F a script with no voiceover              | TTS voiceover (audio engine)                                                                           |\n| Emoji or a `\u003Cdiv>` styled as an icon                     | resolve real `icon`s                                                                                   |\n| Image that is a placeholder, tiny, or upscaled-looking   | a better `image` (and\u002For upscale — see `references\u002Foperations.md`)                                     |\n| Hard scene cuts \u002F transitions with no sound              | transition `sfx`                                                                                       |\n| A piece over ~10s with no music bed                      | `bgm`                                                                                                  |\n| Footage that reads under\u002Fover-exposed or color-cast      | a corrective grade (inspect it with `hyperframes media-treatment --selector '#hero' --analyze --json`) |\n| Photographic media that feels visually flat or off-topic | one specific source-appropriate preset or custom treatment, with the intended target named             |\n| A meaningful media entrance\u002Freveal that feels static     | one supported seek-safe treatment animation; preserve color unless the request also justifies a preset |\n\nRules that keep this a help, not nagware: **grounded, not generic** (no signal → no suggestion); **opinionated + concrete** (propose the specific fix with defaults chosen — the human approves **all \u002F some \u002F none**); **once per project** (one consolidated ask; respect \"leave it\"); **surface, never silently mutate** (color grades especially: propose and preview — a gray-world \"correction\" ruins an intentional sunset or neon look).\n\n## Where to look — read only the file your task needs\n\n| Task                                                                      | Read                             |\n| ------------------------------------------------------------------------- | -------------------------------- |\n| resolve \u002F reuse \u002F adopt \u002F ingest, flags, cascade, inventory               | `references\u002Fresolve.md`          |\n| color grading, LUTs, smart grade (`--for`), grade-compare                 | `references\u002Fgrading.md`          |\n| voiceover \u002F TTS, music, SFX, captions, transcription (audio engine)       | `references\u002Faudio.md`            |\n| cut \u002F reframe \u002F transform existing media, exact error diffusion, HEVC     | `references\u002Foperations.md`       |\n| source-aware creative treatments, realtime effects, overlays, reveals     | `references\u002Fmedia-treatments.md` |\n| install + auth, provider table, RAM ladders, `--local-only`, `--provider` | `references\u002Fsetup-providers.md`  |\n| remembered preferences + frozen recipes (user memory)                     | `references\u002Fmemory.md`           |\n| ownership matrix, usage stats, telemetry, privacy (maintainer-facing)     | `references\u002Fmeta.md`             |\n",{"name":5,"description":7},"main","563fd9d0d01a7240bf22073090c9484e9070e8e8","external\u002Fmedia-use",0,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills","https:\u002F\u002Fgithub.com\u002Fsgomez-dev","https:\u002F\u002Fsgomez.dev","\"Volnuratus non victus\"","2026-10-01 18:25:47",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add sgomez-dev\u002Fclaude-skills --skill media-use",{"tool":67,"command":68},"bunx","bunx skills add sgomez-dev\u002Fclaude-skills --skill media-use",{"tool":70,"command":71},"pnpm","pnpm dlx skills add sgomez-dev\u002Fclaude-skills --skill media-use","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002FSKILL.md",true,[75,81,87,91,94,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,167,171,175,179,183,187,191,195,199,203,207,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317,321,325,330,334,338,342,346,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442,446,450,454,458,462,466,470,474,478,482,486,490],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},".gitignore","OTHER","其他",17,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002F.gitignore",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"audio\u002Fassets\u002Fsfx\u002Fchime.mp3","ASSET","资产文件",27309,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fchime.mp3",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"audio\u002Fassets\u002Fsfx\u002Fclick-soft.mp3",11702,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fclick-soft.mp3",{"path":92,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":93},"audio\u002Fassets\u002Fsfx\u002Fclick.mp3","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fclick.mp3",{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"audio\u002Fassets\u002Fsfx\u002FCREDITS.md","REFERENCE","参考文档",1183,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002FCREDITS.md",{"path":101,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":102,"sourceHtmlUrl":103},"audio\u002Fassets\u002Fsfx\u002Ferror.mp3",51827,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Ferror.mp3",{"path":105,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":106,"sourceHtmlUrl":107},"audio\u002Fassets\u002Fsfx\u002Fglitch-1.mp3",84427,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fglitch-1.mp3",{"path":109,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":110,"sourceHtmlUrl":111},"audio\u002Fassets\u002Fsfx\u002Fglitch-2.mp3",112128,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fglitch-2.mp3",{"path":113,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":114,"sourceHtmlUrl":115},"audio\u002Fassets\u002Fsfx\u002Fglitch-3.mp3",99072,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fglitch-3.mp3",{"path":117,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":118,"sourceHtmlUrl":119},"audio\u002Fassets\u002Fsfx\u002Fimpact-bass-1.mp3",67709,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fimpact-bass-1.mp3",{"path":121,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":122,"sourceHtmlUrl":123},"audio\u002Fassets\u002Fsfx\u002Fimpact-bass-2.mp3",82944,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fimpact-bass-2.mp3",{"path":125,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":126,"sourceHtmlUrl":127},"audio\u002Fassets\u002Fsfx\u002Fkey-press.mp3",3909,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fkey-press.mp3",{"path":129,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":130,"sourceHtmlUrl":131},"audio\u002Fassets\u002Fsfx\u002Fmanifest.json",3721,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fmanifest.json",{"path":133,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":134,"sourceHtmlUrl":135},"audio\u002Fassets\u002Fsfx\u002Fnotification.mp3",78576,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fnotification.mp3",{"path":137,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":138,"sourceHtmlUrl":139},"audio\u002Fassets\u002Fsfx\u002Fping.mp3",26400,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fping.mp3",{"path":141,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":142,"sourceHtmlUrl":143},"audio\u002Fassets\u002Fsfx\u002Fpop.mp3",23040,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fpop.mp3",{"path":145,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":146,"sourceHtmlUrl":147},"audio\u002Fassets\u002Fsfx\u002Friser.mp3",321024,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Friser.mp3",{"path":149,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":150,"sourceHtmlUrl":151},"audio\u002Fassets\u002Fsfx\u002Fsparkle.mp3",57678,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fsparkle.mp3",{"path":153,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":154,"sourceHtmlUrl":155},"audio\u002Fassets\u002Fsfx\u002Ftyping.mp3",26852,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Ftyping.mp3",{"path":157,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":158,"sourceHtmlUrl":159},"audio\u002Fassets\u002Fsfx\u002Fwhoosh-cinematic.mp3",177408,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fwhoosh-cinematic.mp3",{"path":161,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":162,"sourceHtmlUrl":163},"audio\u002Fassets\u002Fsfx\u002Fwhoosh-short.mp3",18390,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fwhoosh-short.mp3",{"path":165,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":162,"sourceHtmlUrl":166},"audio\u002Fassets\u002Fsfx\u002Fwhoosh.mp3","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fassets\u002Fsfx\u002Fwhoosh.mp3",{"path":168,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":169,"sourceHtmlUrl":170},"audio\u002Freferences\u002Fbgm.md",7958,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Fbgm.md",{"path":172,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":173,"sourceHtmlUrl":174},"audio\u002Freferences\u002Fcaptions\u002Fauthoring.md",9545,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Fcaptions\u002Fauthoring.md",{"path":176,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":177,"sourceHtmlUrl":178},"audio\u002Freferences\u002Fcaptions\u002Fmotion.md",5656,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Fcaptions\u002Fmotion.md",{"path":180,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":181,"sourceHtmlUrl":182},"audio\u002Freferences\u002Fcaptions\u002Ftranscript-handling.md",5439,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Fcaptions\u002Ftranscript-handling.md",{"path":184,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":185,"sourceHtmlUrl":186},"audio\u002Freferences\u002Fremove-background.md",8472,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Fremove-background.md",{"path":188,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":189,"sourceHtmlUrl":190},"audio\u002Freferences\u002Frequirements.md",4347,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Frequirements.md",{"path":192,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":193,"sourceHtmlUrl":194},"audio\u002Freferences\u002Fsfx.md",3503,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Fsfx.md",{"path":196,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":197,"sourceHtmlUrl":198},"audio\u002Freferences\u002Ftranscribe.md",2783,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Ftranscribe.md",{"path":200,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":201,"sourceHtmlUrl":202},"audio\u002Freferences\u002Ftts-to-captions.md",1755,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Ftts-to-captions.md",{"path":204,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":205,"sourceHtmlUrl":206},"audio\u002Freferences\u002Ftts.md",12748,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Freferences\u002Ftts.md",{"path":208,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":211,"sourceHtmlUrl":212},"audio\u002Fscripts\u002Faudio.mjs","SCRIPT","脚本",13014,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Faudio.mjs",{"path":214,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":215,"sourceHtmlUrl":216},"audio\u002Fscripts\u002Faudio.test.mjs",1900,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Faudio.test.mjs",{"path":218,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":219,"sourceHtmlUrl":220},"audio\u002Fscripts\u002Fgemini-pipeline.test.mjs",4117,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Fgemini-pipeline.test.mjs",{"path":222,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":223,"sourceHtmlUrl":224},"audio\u002Fscripts\u002Fheygen-tts.mjs",4277,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Fheygen-tts.mjs",{"path":226,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":227,"sourceHtmlUrl":228},"audio\u002Fscripts\u002Flib\u002Faudio-meta.mjs",1166,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Faudio-meta.mjs",{"path":230,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":231,"sourceHtmlUrl":232},"audio\u002Fscripts\u002Flib\u002Faudio-meta.test.mjs",4586,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Faudio-meta.test.mjs",{"path":234,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":235,"sourceHtmlUrl":236},"audio\u002Fscripts\u002Flib\u002Fbgm-volume.mjs",236,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fbgm-volume.mjs",{"path":238,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":239,"sourceHtmlUrl":240},"audio\u002Fscripts\u002Flib\u002Fbgm.mjs",11257,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fbgm.mjs",{"path":242,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":243,"sourceHtmlUrl":244},"audio\u002Fscripts\u002Flib\u002Fbgm.test.mjs",1226,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fbgm.test.mjs",{"path":246,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":247,"sourceHtmlUrl":248},"audio\u002Fscripts\u002Flib\u002Fconcurrency.mjs",527,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fconcurrency.mjs",{"path":250,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":251,"sourceHtmlUrl":252},"audio\u002Fscripts\u002Flib\u002Fconcurrency.test.mjs",1654,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fconcurrency.test.mjs",{"path":254,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":255,"sourceHtmlUrl":256},"audio\u002Fscripts\u002Flib\u002Fgemini-auth_test.py",4430,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fgemini-auth_test.py",{"path":258,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":259,"sourceHtmlUrl":260},"audio\u002Fscripts\u002Flib\u002Fgemini-auth.mjs",1610,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fgemini-auth.mjs",{"path":262,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":263,"sourceHtmlUrl":264},"audio\u002Fscripts\u002Flib\u002Fgemini-auth.py",1981,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fgemini-auth.py",{"path":266,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":267,"sourceHtmlUrl":268},"audio\u002Fscripts\u002Flib\u002Fgemini-auth.test.mjs",3097,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fgemini-auth.test.mjs",{"path":270,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":271,"sourceHtmlUrl":272},"audio\u002Fscripts\u002Flib\u002Fgemini-tts.mjs",4711,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fgemini-tts.mjs",{"path":274,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":275,"sourceHtmlUrl":276},"audio\u002Fscripts\u002Flib\u002Fgemini-tts.test.mjs",9018,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fgemini-tts.test.mjs",{"path":278,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":279,"sourceHtmlUrl":280},"audio\u002Fscripts\u002Flib\u002Fheygen.mjs",7148,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fheygen.mjs",{"path":282,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":283,"sourceHtmlUrl":284},"audio\u002Fscripts\u002Flib\u002Fheygen.test.mjs",3559,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fheygen.test.mjs",{"path":286,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":287,"sourceHtmlUrl":288},"audio\u002Fscripts\u002Flib\u002Fpython.mjs",2574,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fpython.mjs",{"path":290,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":291,"sourceHtmlUrl":292},"audio\u002Fscripts\u002Flib\u002Fpython.test.mjs",2642,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fpython.test.mjs",{"path":294,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":295,"sourceHtmlUrl":296},"audio\u002Fscripts\u002Flib\u002Fsfx.mjs",5435,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fsfx.mjs",{"path":298,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":299,"sourceHtmlUrl":300},"audio\u002Fscripts\u002Flib\u002Fsfx.test.mjs",2847,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Fsfx.test.mjs",{"path":302,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":303,"sourceHtmlUrl":304},"audio\u002Fscripts\u002Flib\u002Ftts.mjs",17127,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Ftts.mjs",{"path":306,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":307,"sourceHtmlUrl":308},"audio\u002Fscripts\u002Flib\u002Ftts.spawn.test.mjs",5249,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Ftts.spawn.test.mjs",{"path":310,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":311,"sourceHtmlUrl":312},"audio\u002Fscripts\u002Flib\u002Ftts.test.mjs",6115,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flib\u002Ftts.test.mjs",{"path":314,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":315,"sourceHtmlUrl":316},"audio\u002Fscripts\u002Flyria-recipe.py",5023,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Flyria-recipe.py",{"path":318,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":319,"sourceHtmlUrl":320},"audio\u002Fscripts\u002Fwait-bgm.mjs",5544,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Fwait-bgm.mjs",{"path":322,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":323,"sourceHtmlUrl":324},"audio\u002Fscripts\u002Fwait-bgm.test.mjs",1870,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Faudio\u002Fscripts\u002Fwait-bgm.test.mjs",{"path":326,"resourceType":326,"resourceTypeDesc":327,"sizeBytes":328,"sourceHtmlUrl":329},"LICENSE","许可证",10763,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002FLICENSE",{"path":331,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":332,"sourceHtmlUrl":333},"luts\u002Findex.json",1997,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fluts\u002Findex.json",{"path":335,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":336,"sourceHtmlUrl":337},"luts\u002FREADME.md",1087,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fluts\u002FREADME.md",{"path":339,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":340,"sourceHtmlUrl":341},"references\u002Faudio.md",2234,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Faudio.md",{"path":343,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":344,"sourceHtmlUrl":345},"references\u002Fgrading.md",6722,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Fgrading.md",{"path":347,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":348,"sourceHtmlUrl":349},"references\u002Fmedia-treatment-recipes.md",35868,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Fmedia-treatment-recipes.md",{"path":351,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":352,"sourceHtmlUrl":353},"references\u002Fmedia-treatments.md",13920,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Fmedia-treatments.md",{"path":355,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":356,"sourceHtmlUrl":357},"references\u002Fmemory.md",3328,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Fmemory.md",{"path":359,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":360,"sourceHtmlUrl":361},"references\u002Fmeta.md",6780,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Fmeta.md",{"path":363,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":364,"sourceHtmlUrl":365},"references\u002Foperations.md",14823,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Foperations.md",{"path":367,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":368,"sourceHtmlUrl":369},"references\u002Fresolve.md",9605,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Fresolve.md",{"path":371,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":372,"sourceHtmlUrl":373},"references\u002Fsetup-providers.md",7689,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Fsetup-providers.md",{"path":375,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":376,"sourceHtmlUrl":377},"references\u002Ftelemetry-dashboard.md",4200,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Freferences\u002Ftelemetry-dashboard.md",{"path":379,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":380,"sourceHtmlUrl":381},"scripts\u002Faudio-duck.mjs",4069,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Faudio-duck.mjs",{"path":383,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":384,"sourceHtmlUrl":385},"scripts\u002Fcompatibility.test.mjs",3804,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Fcompatibility.test.mjs",{"path":387,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":388,"sourceHtmlUrl":389},"scripts\u002Fdither.mjs",9969,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Fdither.mjs",{"path":391,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":392,"sourceHtmlUrl":393},"scripts\u002Fdither.test.mjs",4723,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Fdither.test.mjs",{"path":395,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":396,"sourceHtmlUrl":397},"scripts\u002Feval.mjs",14891,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Feval.mjs",{"path":399,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":400,"sourceHtmlUrl":401},"scripts\u002Flib\u002Fconfig-lock.mjs",1520,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fconfig-lock.mjs",{"path":403,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":404,"sourceHtmlUrl":405},"scripts\u002Flib\u002Fcutlist.mjs",6095,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fcutlist.mjs",{"path":407,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":408,"sourceHtmlUrl":409},"scripts\u002Flib\u002Fduck.mjs",3266,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fduck.mjs",{"path":411,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":412,"sourceHtmlUrl":413},"scripts\u002Flib\u002Ferror-diffusion.mjs",6631,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Ferror-diffusion.mjs",{"path":415,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":416,"sourceHtmlUrl":417},"scripts\u002Flib\u002Findex-gen.mjs",1920,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Findex-gen.mjs",{"path":419,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":420,"sourceHtmlUrl":421},"scripts\u002Flib\u002Fmanifest.mjs",7146,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fmanifest.mjs",{"path":423,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":424,"sourceHtmlUrl":425},"scripts\u002Flib\u002Fmedia-fetch.mjs",2838,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fmedia-fetch.mjs",{"path":427,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":428,"sourceHtmlUrl":429},"scripts\u002Flib\u002Fmedia-home.mjs",730,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fmedia-home.mjs",{"path":431,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":432,"sourceHtmlUrl":433},"scripts\u002Flib\u002Fnpx-sync.mjs",2328,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fnpx-sync.mjs",{"path":435,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":436,"sourceHtmlUrl":437},"scripts\u002Flib\u002Fparakeet-words.mjs",1149,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fparakeet-words.mjs",{"path":439,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":440,"sourceHtmlUrl":441},"scripts\u002Flib\u002Fprefs-store.mjs",6617,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fprefs-store.mjs",{"path":443,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":444,"sourceHtmlUrl":445},"scripts\u002Flib\u002Frecipe-store.mjs",13033,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Frecipe-store.mjs",{"path":447,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":448,"sourceHtmlUrl":449},"scripts\u002Flib\u002Ftelemetry.mjs",7107,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Ftelemetry.mjs",{"path":451,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":452,"sourceHtmlUrl":453},"scripts\u002Flib\u002FtranscriptCutFade.mjs",911,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002FtranscriptCutFade.mjs",{"path":455,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":456,"sourceHtmlUrl":457},"scripts\u002Flib\u002Fwords.mjs",764,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Flib\u002Fwords.mjs",{"path":459,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":460,"sourceHtmlUrl":461},"scripts\u002Fprefs.mjs",2407,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Fprefs.mjs",{"path":463,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":464,"sourceHtmlUrl":465},"scripts\u002Frecipe.mjs",4040,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Frecipe.mjs",{"path":467,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":468,"sourceHtmlUrl":469},"scripts\u002Fresolve-plugin.test.mjs",2512,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Fresolve-plugin.test.mjs",{"path":471,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":472,"sourceHtmlUrl":473},"scripts\u002Fresolve.mjs",1305,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Fresolve.mjs",{"path":475,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":476,"sourceHtmlUrl":477},"scripts\u002Ftranscribe.mjs",7510,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Ftranscribe.mjs",{"path":479,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":480,"sourceHtmlUrl":481},"scripts\u002Ftranscribe.test.mjs",4074,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Ftranscribe.test.mjs",{"path":483,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":484,"sourceHtmlUrl":485},"scripts\u002Ftranscript-cut.mjs",9137,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Ftranscript-cut.mjs",{"path":487,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":488,"sourceHtmlUrl":489},"scripts\u002Ftranscript-cut.test.mjs",3703,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002Fscripts\u002Ftranscript-cut.test.mjs",{"path":491,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":492,"sourceHtmlUrl":493},"UPSTREAM.md",777,"https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fmedia-use\u002FUPSTREAM.md",[495,506,514,526,536,545],{"skillNo":496,"name":497,"nameZh":6,"description":498,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":499,"categories":500,"keywords":501,"publishedAt":47},"01M6J8Q0WEP76PV381RJDTRTV4","template","YOUR_DESCRIPTION_HERE (shown in command palette, keep under 80 chars)","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Ftemplate\u002FSKILL.md",[],[497,502,503,504,505],"command palette","command","palette","keep",{"skillNo":507,"name":508,"nameZh":6,"description":509,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":510,"categories":511,"keywords":512,"publishedAt":47},"01M6J8PY4KNE7SQP5BD2X1YMHJ","multi","Line one continues here.   Second sentence.","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fsite\u002Ftests\u002Ffixtures\u002Frepo\u002Fexternal\u002Fmulti\u002FSKILL.md",[],[508,513],"line",{"skillNo":515,"name":516,"nameZh":6,"description":517,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":518,"categories":519,"keywords":520,"publishedAt":47},"01M6J8PVS7AY0AWP36JRQ7T8S6","ffmpeg","FFmpeg recipes for video production.","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fsite\u002Ftests\u002Ffixtures\u002Frepo\u002Fexternal\u002Fffmpeg\u002FSKILL.md",[],[516,521,522,523,524,525],"Production","Video","video production","recipes","for",{"skillNo":527,"name":528,"nameZh":6,"description":529,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":530,"categories":531,"keywords":533,"publishedAt":47},"01M6J8PS6NDT2VY6Y72QW3NGGH","secret-skill","Private, never published.","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fsite\u002Ftests\u002Ffixtures\u002Frepo\u002Fexternal\u002F.local\u002Fsecret-skill\u002FSKILL.md",[532],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[534,535],"secret skill","never",{"skillNo":537,"name":538,"nameZh":6,"description":539,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":540,"categories":541,"keywords":542,"publishedAt":47},"01M6J8PQETD1FW6BWPPSWXFH5N","external-no-license","Has no license.","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fsite\u002Ftests\u002Ffixtures\u002Frepo\u002Fbroken\u002Fexternal-no-license\u002FSKILL.md",[],[543,544],"license","external no license",{"skillNo":546,"name":547,"nameZh":6,"description":548,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":549,"categories":550,"keywords":562,"publishedAt":47},"01M6J8PJ5XGMZZZZGECEDHN13J","write-swift","How to write modern Swift well — modeling with value types, Swift 6 data-race safety and approachable concurrency (@concurrent, main-actor-by-default, actors, task groups), protocols and generics (some vs any), API design, performance and ARC, Swift Testing, macros, and the modern language features agents don't know about yet. Use when writing, reviewing, or migrating Swift, or when a concurrency error, a hang, a data race, a retain cycle, or a performance problem needs fixing.","https:\u002F\u002Fgithub.com\u002Fsgomez-dev\u002Fclaude-skills\u002Fblob\u002Fmain\u002Fexternal\u002Fwrite-swift\u002FSKILL.md",[551,554,557],{"categoryNo":552,"categoryName":553,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":555,"categoryName":556,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":558,"categoryName":559,"taxonomyType":560,"taxonomyTypeDesc":561},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[563,564,565,566,567,568,569,570,571,572,573,574,52,575,576,577,578,579,580,581],"swift","write","write swift","features","retain","testing","types","error","how to","problem","modeling","cycle","default","how","api","concurrency","performance","writing","design"]