[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HQP8Z9Z12V37NET7667HRX":3,"skill-same:01M6HQP8Z9Z12V37NET7667HRX":90},{"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":28,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":6,"updatedAt":65,"install":66,"resources":79},"01M6HQP8Z9Z12V37NET7667HRX","deck3d-from-pptx",null,"Turn an existing .pptx into a styled deck3d 3D presentation: import, reference renders, then nine steps (fidelity … transitions), each authoring 2-4 variants, showing a contact sheet, asking the user, recording the pick, then build + compare. Use on \"make a 3D deck from this pptx\", \"convert my PowerPoint to deck3d\", \"match the original slides in 3D\".","BlackBeltTechnology\u002Fpi-agent-dashboard","BlackBeltTechnology","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8101592?v=4","01M6HQDX7QAJA0QP4NYRYBMJ8A","BlackBelt Technology","01M6HQDXCC7719N9YDMQVH9JS6",348,"MIT","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fdeck3d\u002F.pi\u002Fskills\u002Fdeck3d-from-pptx\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"deck3d","deck3d from pptx","pptx","authoring","asking the user","variants","Existing","my","recording","presentation","make","compare","import","transitions","sheet","build","deck","use","pick","convert","slides","3D","powerpoint","2026-11-10 10:12:30",false,"---\nname: deck3d-from-pptx\ndescription: 'Turn an existing .pptx into a styled deck3d 3D presentation: import, reference renders, then nine steps (fidelity … transitions), each authoring 2-4 variants, showing a contact sheet, asking the user, recording the pick, then build + compare. Use on \"make a 3D deck from this pptx\", \"convert my PowerPoint to deck3d\", \"match the original slides in 3D\".'\n---\n\n# deck3d-from-pptx\n\nTake a real `.pptx` and rebuild it as a deck3d presentation whose slides **match the\noriginal when the camera stops** and move through 3D space between slides. Every\ncreative decision is **the user's**: you generate variants, show them, ask, and record\nthe answer in `style.json`. The deck3d rules of the [`deck3d`](..\u002Fdeck3d\u002FSKILL.md) tune\nloop still apply: never edit `deck.html`, never edit derived IR fields (only\n`overrides`), no randomness, timers or network in local effects, and finish with\n`deck3d check deck.html --style` clean — or every remaining warning explained (a derived\n`credits` slide counts as explained).\n\nDetail per step (what to read, how to author variants, which samples, the question):\n[`reference\u002Fsteps.md`](reference\u002Fsteps.md).\n\n## 0. Import and reference renders (always first)\n\n```\ndeck3d pptx import talk.pptx -o talk [--ref exports\u002F]\n```\n\nwrites `talk\u002Fpptx\u002Flayout.json` (1920-unit slide space, items with stable ids\n`sNN-iMMM`), `talk\u002Fpptx\u002Fmedia\u002F`, a baseline `deck.md` and `deck.json` whose\n`overrides.assets` pin the layout and every media file. Unsupported constructs (charts,\nSmartArt, tables, EMF\u002FWMF, WordArt, gradient fills…) become visible **fallback** items —\na crop of the reference render, else an outlined placeholder — each with one warning.\n\n**Reference renders come first.** Ask the user (`ask_user`) for a PNG export of the deck\n(PowerPoint: *File → Export → PNG, all slides*; Keynote and `Slide1.PNG` names work) and\npass the folder as `--ref`. Skip the question only when LibreOffice (`soffice`) and\n`pdftoppm` are on PATH. **If the user declines**, say so once, and from then on every step\nreports *snapshot review* (`deck3d snapshot`, eyeballing, `check`) **instead of**\n`compare` scores — never pretend a score exists.\n\nThen build the baseline: `cd talk && deck3d build deck.md -o deck.html` (a native deck3d\nslide per pptx slide). Re-importing later keeps your tuning: `deck3d pptx import\ntalk.pptx -o talk --force` matches slides by content, backs up `deck.json.bak`, and\n`deck3d variants replay` re-applies every recorded pick.\n\n## The nine steps (fixed order)\n\n| # | step id | question |\n|---|---|---|\n| 1 | `fidelity` | exact 2D layer · 3D panel · native deck3d |\n| 2 | `placement` | glass panel · free-floating · frame in space |\n| 3 | `frame` | master chrome and its transition animation |\n| 4 | `brand-art` | logos, wordmarks, headline in 3D |\n| 5 | `icons` | pictograms as 3D objects, optionally on cards |\n| 6 | `hero` | hero illustrations rebuilt as 3D scenes |\n| 7 | `worlds` | per-slide background worlds from slide text, plus haze |\n| 8 | `media` | images replaced by video |\n| 9 | `transitions` | transition and camera-path variety |\n\n**Native path.** If the user picks `native` at `fidelity`, **skip steps 2, 3 and 5**\n(placement, frame, icons) — no `slide-layer`, `frame-chrome` or `icon3d` effect may appear\nin `deck.json`. Then: brand art goes beside the native title; hero scenes and worlds become\nslide backgrounds; media becomes a video screen; transitions are unchanged. The `worlds`\nstep gives **every** slide a non-default background, so a native deck also clears\n`check --style`.\n\n## Every step: variants → sheet → ask → record → verify\n\n1. **Author** the step into `style.json` (`version: 1`, ordered `steps[]`): `id`, `title`,\n   `question`, `slides` (sample slide ids that cover the step's affected kinds), `round`,\n   and **2–4 variants** `{ name, label, overrides }` built from the imported layout and the\n   slide text. A fragment is in the `overrides` grammar and **arrays replace**, so each\n   fragment must **carry forward the effects of earlier steps** on the same scope.\n   `deck3d validate deck.json` checks it.\n2. `deck3d variants render --step \u003Cid>` → `variants\u002F\u003Cid>\u002Fr\u003Cround>\u002Fcontact.png` (reference\n   column, one labelled column per variant). `deck.json` is not touched.\n3. Open `contact.png` on the canvas **and** put the live link in the question:\n   `deck3d serve deck.md` then `http:\u002F\u002F127.0.0.1:\u003Cport>\u002F?variant=\u003Cstep>:\u003Cname>` (`V` cycles\n   the step's variants; Save\u002FApply are disabled while a variant is shown).\n4. **Ask** with `ask_user` — a single choice listing the variants by label, free text\n   allowed. **Do not pick for the user** while the question tool is available.\n5. Variant answer → `deck3d variants pick \u003Cstep> \u003Cname>` (add `--drop \u003Cid>` \u002F\n   `--replace-step \u003Cstep>` only when the user means to remove an effect; the ownership\n   guard refuses silent drops). Free-text answer → `deck3d variants note \u003Cstep> --note\n   \"\u003Ctheir words>\"`, then author a **new round** from the note and repeat from 1.\n6. `deck3d build deck.md -o deck.html`, then `deck3d compare deck.html` and report the\n   per-slide scores (or the snapshot review when there are no reference renders).\n\n**Headless mode** is entered only when the run prompt says so explicitly (never\ninferred from a missing UI): pick the **first variant in array order** with\n`deck3d variants pick \u003Cstep> \u003Cfirst> --note auto`.\n\n## Creative assets: scaffold, preview, never invent in core\n\nFor `hero` and `worlds`, scaffold per-deck **local effects** (`deck3d fx scaffold \u003Cname>\n--for \u003CslideId>`) whose content comes from the slide's text and pictures — each variant a\ndifferent take on the **same content** (a literal scene, a metaphor, a minimal motif).\nPreview each (`deck3d fx preview local:\u003Cname>`) before offering it. Traced art and icons:\n`deck3d art trace|icon|cutout`; pin the outputs as assets (`overrides.assets`).\n\n## Pitfalls — check after each step\n\n- **Floor z-fighting**: objects resting on the floor are lifted above it (a `lift` \u002F y\n  offset), never left coplanar with it.\n- **Halos**: text halos use **normal blending** on light themes (additive glows wash out).\n- **Chrome**: master chrome uses the persistent `frame-chrome` effect at deck scope,\n  not per-slide overlays.\n- **Wrap drift**: font-metric differences wrap text differently. For **every multi-line text\n  box**, compare against the reference and fix with `widen` (or a `font-\u003Cname>` asset); a\n  closing line wrapping onto two lines while the reference has one → set `widen` for that\n  item, re-run `compare`. `compare` lists `font-fallback \u003Cname>` for every missing font.\n- **Scores**: the deck's output tone mapping dims pure white to about 221, so a faithful\n  match scores about 0.9 (default threshold 0.85), not 0.99 — judge by the margin and by eye.\n- **In-place file replacement**: after replacing a file in place that `serve` may miss,\n  **rebuild manually** (`deck3d build deck.md -o deck.html`).\n- **Verification**: verify at the user's **actual viewport** (`--viewport WxH`) and also\n  capture mid-transition frames with **`compare --transition`**.\n\n## Delivery\n\nRender the final deliverable with `deck3d render deck.json -o deck.html --embed-video`\nwhenever **any slide uses a video screen**, so the single file plays offline. A `file:\u002F\u002F`\ndeck without embedding cannot play its clips (the browser refuses them as a texture\nsource) — say so if the user wants to send the file.\n\n## Command cheat sheet\n\n| need | command |\n|---|---|\n| import | `deck3d pptx import talk.pptx -o talk [--ref dir] [--force]` |\n| sheet | `deck3d variants render --step \u003Cid> [--viewport WxH] [--ref dir]` |\n| decide | `deck3d variants pick \u003Cstep> \u003Cname> [--note t] [--drop id] [--replace-step s]` · `deck3d variants note \u003Cstep> --note t` |\n| re-apply | `deck3d variants replay` |\n| verify | `deck3d compare deck.html [--strict] [--transition] [--viewport WxH]` |\n| art | `deck3d art trace \u003Cimg> --palette #a,#b` · `art icon \u003Csvg>` · `art cutout \u003Cimg> --bg #hex --split` |\n| live | `deck3d serve deck.md` (`?variant=\u003Cstep>:\u003Cname>`, `V`) |\n","# deck3d-from-pptx\n\nTake a real `.pptx` and rebuild it as a deck3d presentation whose slides **match the\noriginal when the camera stops** and move through 3D space between slides. Every\ncreative decision is **the user's**: you generate variants, show them, ask, and record\nthe answer in `style.json`. The deck3d rules of the [`deck3d`](..\u002Fdeck3d\u002FSKILL.md) tune\nloop still apply: never edit `deck.html`, never edit derived IR fields (only\n`overrides`), no randomness, timers or network in local effects, and finish with\n`deck3d check deck.html --style` clean — or every remaining warning explained (a derived\n`credits` slide counts as explained).\n\nDetail per step (what to read, how to author variants, which samples, the question):\n[`reference\u002Fsteps.md`](reference\u002Fsteps.md).\n\n## 0. Import and reference renders (always first)\n\n```\ndeck3d pptx import talk.pptx -o talk [--ref exports\u002F]\n```\n\nwrites `talk\u002Fpptx\u002Flayout.json` (1920-unit slide space, items with stable ids\n`sNN-iMMM`), `talk\u002Fpptx\u002Fmedia\u002F`, a baseline `deck.md` and `deck.json` whose\n`overrides.assets` pin the layout and every media file. Unsupported constructs (charts,\nSmartArt, tables, EMF\u002FWMF, WordArt, gradient fills…) become visible **fallback** items —\na crop of the reference render, else an outlined placeholder — each with one warning.\n\n**Reference renders come first.** Ask the user (`ask_user`) for a PNG export of the deck\n(PowerPoint: *File → Export → PNG, all slides*; Keynote and `Slide1.PNG` names work) and\npass the folder as `--ref`. Skip the question only when LibreOffice (`soffice`) and\n`pdftoppm` are on PATH. **If the user declines**, say so once, and from then on every step\nreports *snapshot review* (`deck3d snapshot`, eyeballing, `check`) **instead of**\n`compare` scores — never pretend a score exists.\n\nThen build the baseline: `cd talk && deck3d build deck.md -o deck.html` (a native deck3d\nslide per pptx slide). Re-importing later keeps your tuning: `deck3d pptx import\ntalk.pptx -o talk --force` matches slides by content, backs up `deck.json.bak`, and\n`deck3d variants replay` re-applies every recorded pick.\n\n## The nine steps (fixed order)\n\n| # | step id | question |\n|---|---|---|\n| 1 | `fidelity` | exact 2D layer · 3D panel · native deck3d |\n| 2 | `placement` | glass panel · free-floating · frame in space |\n| 3 | `frame` | master chrome and its transition animation |\n| 4 | `brand-art` | logos, wordmarks, headline in 3D |\n| 5 | `icons` | pictograms as 3D objects, optionally on cards |\n| 6 | `hero` | hero illustrations rebuilt as 3D scenes |\n| 7 | `worlds` | per-slide background worlds from slide text, plus haze |\n| 8 | `media` | images replaced by video |\n| 9 | `transitions` | transition and camera-path variety |\n\n**Native path.** If the user picks `native` at `fidelity`, **skip steps 2, 3 and 5**\n(placement, frame, icons) — no `slide-layer`, `frame-chrome` or `icon3d` effect may appear\nin `deck.json`. Then: brand art goes beside the native title; hero scenes and worlds become\nslide backgrounds; media becomes a video screen; transitions are unchanged. The `worlds`\nstep gives **every** slide a non-default background, so a native deck also clears\n`check --style`.\n\n## Every step: variants → sheet → ask → record → verify\n\n1. **Author** the step into `style.json` (`version: 1`, ordered `steps[]`): `id`, `title`,\n   `question`, `slides` (sample slide ids that cover the step's affected kinds), `round`,\n   and **2–4 variants** `{ name, label, overrides }` built from the imported layout and the\n   slide text. A fragment is in the `overrides` grammar and **arrays replace**, so each\n   fragment must **carry forward the effects of earlier steps** on the same scope.\n   `deck3d validate deck.json` checks it.\n2. `deck3d variants render --step \u003Cid>` → `variants\u002F\u003Cid>\u002Fr\u003Cround>\u002Fcontact.png` (reference\n   column, one labelled column per variant). `deck.json` is not touched.\n3. Open `contact.png` on the canvas **and** put the live link in the question:\n   `deck3d serve deck.md` then `http:\u002F\u002F127.0.0.1:\u003Cport>\u002F?variant=\u003Cstep>:\u003Cname>` (`V` cycles\n   the step's variants; Save\u002FApply are disabled while a variant is shown).\n4. **Ask** with `ask_user` — a single choice listing the variants by label, free text\n   allowed. **Do not pick for the user** while the question tool is available.\n5. Variant answer → `deck3d variants pick \u003Cstep> \u003Cname>` (add `--drop \u003Cid>` \u002F\n   `--replace-step \u003Cstep>` only when the user means to remove an effect; the ownership\n   guard refuses silent drops). Free-text answer → `deck3d variants note \u003Cstep> --note\n   \"\u003Ctheir words>\"`, then author a **new round** from the note and repeat from 1.\n6. `deck3d build deck.md -o deck.html`, then `deck3d compare deck.html` and report the\n   per-slide scores (or the snapshot review when there are no reference renders).\n\n**Headless mode** is entered only when the run prompt says so explicitly (never\ninferred from a missing UI): pick the **first variant in array order** with\n`deck3d variants pick \u003Cstep> \u003Cfirst> --note auto`.\n\n## Creative assets: scaffold, preview, never invent in core\n\nFor `hero` and `worlds`, scaffold per-deck **local effects** (`deck3d fx scaffold \u003Cname>\n--for \u003CslideId>`) whose content comes from the slide's text and pictures — each variant a\ndifferent take on the **same content** (a literal scene, a metaphor, a minimal motif).\nPreview each (`deck3d fx preview local:\u003Cname>`) before offering it. Traced art and icons:\n`deck3d art trace|icon|cutout`; pin the outputs as assets (`overrides.assets`).\n\n## Pitfalls — check after each step\n\n- **Floor z-fighting**: objects resting on the floor are lifted above it (a `lift` \u002F y\n  offset), never left coplanar with it.\n- **Halos**: text halos use **normal blending** on light themes (additive glows wash out).\n- **Chrome**: master chrome uses the persistent `frame-chrome` effect at deck scope,\n  not per-slide overlays.\n- **Wrap drift**: font-metric differences wrap text differently. For **every multi-line text\n  box**, compare against the reference and fix with `widen` (or a `font-\u003Cname>` asset); a\n  closing line wrapping onto two lines while the reference has one → set `widen` for that\n  item, re-run `compare`. `compare` lists `font-fallback \u003Cname>` for every missing font.\n- **Scores**: the deck's output tone mapping dims pure white to about 221, so a faithful\n  match scores about 0.9 (default threshold 0.85), not 0.99 — judge by the margin and by eye.\n- **In-place file replacement**: after replacing a file in place that `serve` may miss,\n  **rebuild manually** (`deck3d build deck.md -o deck.html`).\n- **Verification**: verify at the user's **actual viewport** (`--viewport WxH`) and also\n  capture mid-transition frames with **`compare --transition`**.\n\n## Delivery\n\nRender the final deliverable with `deck3d render deck.json -o deck.html --embed-video`\nwhenever **any slide uses a video screen**, so the single file plays offline. A `file:\u002F\u002F`\ndeck without embedding cannot play its clips (the browser refuses them as a texture\nsource) — say so if the user wants to send the file.\n\n## Command cheat sheet\n\n| need | command |\n|---|---|\n| import | `deck3d pptx import talk.pptx -o talk [--ref dir] [--force]` |\n| sheet | `deck3d variants render --step \u003Cid> [--viewport WxH] [--ref dir]` |\n| decide | `deck3d variants pick \u003Cstep> \u003Cname> [--note t] [--drop id] [--replace-step s]` · `deck3d variants note \u003Cstep> --note t` |\n| re-apply | `deck3d variants replay` |\n| verify | `deck3d compare deck.html [--strict] [--transition] [--viewport WxH]` |\n| art | `deck3d art trace \u003Cimg> --palette #a,#b` · `art icon \u003Csvg>` · `art cutout \u003Cimg> --bg #hex --split` |\n| live | `deck3d serve deck.md` (`?variant=\u003Cstep>:\u003Cname>`, `V`) |\n",{"name":5,"description":7},"develop","fb9a5af356f540de4839ef851ebbe14bcce64c0f","packages\u002Fdeck3d\u002F.pi\u002Fskills\u002Fdeck3d-from-pptx",55,"https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard","https:\u002F\u002Fpi-dashboard.dev\u002F","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology","https:\u002F\u002Fwww.blackbelt.hu","2026-11-11 22:13:06",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add BlackBeltTechnology\u002Fpi-agent-dashboard --skill deck3d-from-pptx",{"tool":72,"command":73},"bunx","bunx skills add BlackBeltTechnology\u002Fpi-agent-dashboard --skill deck3d-from-pptx",{"tool":75,"command":76},"pnpm","pnpm dlx skills add BlackBeltTechnology\u002Fpi-agent-dashboard --skill deck3d-from-pptx","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fdeck3d\u002F.pi\u002Fskills\u002Fdeck3d-from-pptx\u002FSKILL.md",true,[80,86],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"AGENTS.md","REFERENCE","参考文档",747,"https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fdeck3d\u002F.pi\u002Fskills\u002Fdeck3d-from-pptx\u002FAGENTS.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"reference\u002Fsteps.md",4247,"https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fdeck3d\u002F.pi\u002Fskills\u002Fdeck3d-from-pptx\u002Freference\u002Fsteps.md",[91,121,150,173,197,220],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":100,"publishedAt":52},"01M6HQYQ5B82AM5T9Y299S9CFY","youtube-srt","Download YouTube subtitles (SRT + timestamped TXT) for a channel, playlist or video via yt-dlp, no media download; optionally mine them into a categorized catalog (e.g. AI models by function, open weights, local runnability, hardware tier). Use on \"download the srt of this video\", \"transcripts of channel X for the last N months\", \"catalog the models AI Search talked about\", \"update docs\u002Fmodels\".","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fvideo-transcription\u002F.pi\u002Fskills\u002Fyoutube-srt\u002FSKILL.md",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[101,102,103,104,105,106,107,108,109,110,111,46,112,113,114,115,116,117,118,119,120],"youtube","srt","youtube srt","update","search","subtitles","dlp","Video","Media","open","catalog","update docs","yt-dlp","local","mine","via","ai models","last","for","media download",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":131,"publishedAt":52},"01M6HQYJBKSXR55T5RSYNJQG4D","video-transcription","Transcribe video and audio files to SRT subtitles with speaker diarization using the Soniox (default) or AssemblyAI API. Use when the user wants to transcribe meetings, videos, or audio files. Supports MKV, MP4, MOV, M4A, MP3. Triggers on \"\u002Ftranscribe\", \"transcribe my meetings\", \"transcribe videos in ~\u002FMovies\", or any request to convert audio\u002Fvideo to text.","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fvideo-transcription\u002F.pi\u002Fskills\u002Fvideo-transcription\u002FSKILL.md",[127,130],{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":98,"categoryName":99,"taxonomyType":21,"taxonomyTypeDesc":22},[108,132,133,134,106,135,136,48,137,138,139,46,140,141,142,143,144,145,146,102,36,147,148,149],"transcription","video transcription","transcribe","api","Audio","mp4","text","meetings","files","default","mp3","triggers","with","videos","assemblyai","srt subtitles","request","when",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":52},"01M6HQYECMVDC5TDHHW22VC5RX","speaker-id","Name anonymous diarized SRT speakers from a persistent local voiceprint library and repair speaker drift; local, CPU-only, no API key. Triggers \"who is speaker 2\", \"put names on the transcript\", \"label the meeting SRT\", \"the diarization split one person into three\", \"enroll my voice\". Backed by the pi-voiceid CLI.","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fvideo-transcription\u002F.pi\u002Fskills\u002Fspeaker-id\u002FSKILL.md",[],[157,158,159,160,135,161,162,163,164,165,166,114,143,167,168,169,170,102,171,172],"id","speaker id","cli","transcript","voice","pi","only","three","drift","repair","name","CPU","meeting","anonymous","split","person",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":182,"publishedAt":52},"01M6HQYAZWDXE9QJEG592E5PXK","veo-showreel-production-kit","Turn a video timeline + voiceover into a reproducible, sliceable Veo 3.1 prompt package with a consistency anchor and AI storyboard sketches.","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fvideo-production\u002F.pi\u002Fskills\u002Fveo-showreel-production-kit\u002FSKILL.md",[179],{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[183,184,185,186,187,188,189,108,190,191,192,193,144,194,195,196],"Production","veo","kit","veo showreel production kit","package","Reproducible","timeline","prompt","voiceover","storyboard","anchor","consistency","veo 3","2026",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":205,"publishedAt":52},"01M6HQY6TJ0X1ADDKYPMVJY6NV","veo-generator","Render a scripted video project into mp4 clips with the Google Veo 3.1 API. Reads a project's shot package (shots\u002F*.md), one clip per camera cut, reusing each shot's prompt and sketch — world anchor only with `--with-reference`, seed unless `--no-seed`. Use on \"render the Veo video for \u003Cproject>\", \"generate the videos from the shot scripts\", \"make the clips with Veo\".","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fvideo-production\u002F.pi\u002Fskills\u002Fveo-generator\u002FSKILL.md",[203,204],{"categoryNo":98,"categoryName":99,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},[184,206,207,208,209,187,135,108,137,190,46,210,163,211,212,213,214,215,193,216,217,39,218,144,219,119,195],"generator","veo generator","google","generate","clip","sketch","camera","world","seed","project","cut","scripts","render","google veo",{"skillNo":221,"name":222,"nameZh":6,"description":223,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":224,"categories":225,"keywords":226,"publishedAt":52},"01M6HQY1K2NZJ3B2YHSJJPPVAF","hyperframes-showreel","Turn real screen and site footage into a rhythmic showreel rendered with HyperFrames: sampling, edit script, redacted clips, a generated composition, Veo only as additive FX, music edit + camera punches, delivery render and export QA. Use on \"make a showreel from these recordings\", \"build the HyperFrames video\", \"assemble the footage edit\", \"render and QA the showreel\".","https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fvideo-production\u002F.pi\u002Fskills\u002Fhyperframes-showreel\u002FSKILL.md",[],[227,228,229,108,230,231,232,46,233,234,235,163,44,236,237,238,239,218,144,240],"hyperframes","hyperframes showreel","qa","Composition","edit","generated","assemble","export","sampling","delivery","as","fx","screen","script"]