[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J33GWH33RFF4DA3TWHBNCS":3,"skill-same:01M6J33GWH33RFF4DA3TWHBNCS":101},{"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":69,"commitSha":70,"skillDirectory":71,"forksCount":72,"repositoryHtmlUrl":73,"repositoryHomepageUrl":74,"ownerHtmlUrl":75,"ownerBlogUrl":6,"ownerDescription":76,"updatedAt":77,"install":78,"resources":90},"01M6J33GWH33RFF4DA3TWHBNCS","html-ppt-presenter-mode-reveal",null,"Create presenter-mode HTML decks with speaker notes, timer, next-slide preview, theme switching, and keyboard controls.","onfire7777\u002Funiversal-ai-skills-library","onfire7777","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F240866566?v=4","01M6HZJCF2QEW8DY7HE1JDKGK2","Jake B","01M6HZJCKK8SEXKN76V9SGKZ12",17,"MIT","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fhtml-ppt-presenter-mode-reveal\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","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],"html ppt presenter mode reveal","mode","html","pptx","preview","true","with","theme","controls","keyboard","false","switching","next","timer","presenter-mode","deck","view","create","notes","github","2026-11-10 10:12:30",false,"---\nname: html-ppt-presenter-mode-reveal\ndescription: Create presenter-mode HTML decks with speaker notes, timer, next-slide preview, theme switching, and keyboard controls.\ntriggers:\n  - \"presenter mode\"\n  - \"演讲者模式\"\n  - \"逐字稿\"\n  - \"speaker notes\"\n  - \"提词器\"\n  - \"presenter view\"\n  - \"演讲\"\nod:\n  mode: deck\n  scenario: engineering\n  featured: 26\n  upstream: \"https:\u002F\u002Fgithub.com\u002Flewislulu\u002Fhtml-ppt-skill\"\n  preview:\n    type: html\n    entry: index.html\n  design_system:\n    requires: false\n  speaker_notes: true\n  animations: true\n  example_prompt: \"用 html-ppt-presenter-mode 模板做一份带逐字稿的演讲 PPT。先确认：演讲主题、时长（每页 2-3 分钟）、目标听众。然后帮我每页写 150-300 字的口语化逐字稿（不是讲稿，是提示信号），按 S 能打开 presenter 弹窗。\"\n---\n# HTML PPT · Presenter Mode (演讲者模式)\n\nA focused entry point into the [`html-ppt`](..\u002Fhtml-ppt\u002FSKILL.md) master skill that lands the user directly on the **`presenter-mode-reveal`** full-deck template.\n\n## When this card is picked\n\nThe Examples gallery wires \"Use this prompt\" to the example_prompt above. When you accept that prompt, this card is the right pick if the user wants exactly the visual identity of `presenter-mode-reveal` (see the upstream [full-decks catalog](..\u002Fhtml-ppt\u002Freferences\u002Ffull-decks.md) for screenshots and rationale).\n\n## How to author the deck\n\n1. **Read the master skill first.** All authoring rules live in\n   [`skills\u002Fhtml-ppt\u002FSKILL.md`](..\u002Fhtml-ppt\u002FSKILL.md) — content\u002Faudience checklist,\n   token rules, layout reuse, presenter mode, the keyboard runtime, and the\n   \"never put presenter-only text on the slide\" rule.\n2. **Start from the matching template folder:**\n   `skills\u002Fhtml-ppt\u002Ftemplates\u002Ffull-decks\u002Fpresenter-mode-reveal\u002F` — copy `index.html` and\n   `style.css` into the project, keep the `.tpl-presenter-mode-reveal` body class.\n3. **Bring the shared runtime with the template.** The upstream\n   `index.html` links the shared CSS\u002FJS via `..\u002F..\u002F..\u002Fassets\u002F...` because it\n   sits three folders deep inside `skills\u002Fhtml-ppt\u002Ftemplates\u002Ffull-decks\u002F`.\n   Once you copy `index.html` into the project, those parent-relative URLs\n   no longer resolve and `base.css`, `animations.css`, and `runtime.js`\n   will 404 — meaning the deck never activates and slide navigation is\n   dead. Pick one of these two recipes per project:\n   - **Recipe A — copy + rewrite (preferred):** copy\n     `skills\u002Fhtml-ppt\u002Fassets\u002Ffonts.css`, `skills\u002Fhtml-ppt\u002Fassets\u002Fbase.css`,\n     `skills\u002Fhtml-ppt\u002Fassets\u002Fanimations\u002Fanimations.css`, and\n     `skills\u002Fhtml-ppt\u002Fassets\u002Fruntime.js` into a project-local\n     `assets\u002F` (with `assets\u002Fanimations\u002Fanimations.css`), then rewrite the\n     four `\u003Clink>`\u002F`\u003Cscript>` tags in `index.html` from\n     `..\u002F..\u002F..\u002Fassets\u002F...` to the matching project-local paths\n     (`assets\u002Ffonts.css`, `assets\u002Fbase.css`,\n     `assets\u002Fanimations\u002Fanimations.css`, `assets\u002Fruntime.js`).\n   - **Recipe B — inline:** read the same four files and replace each\n     `\u003Clink rel=\"stylesheet\" href=\"..\u002F..\u002F..\u002Fassets\u002F...\">` with a\n     `\u003Cstyle>...\u003C\u002Fstyle>` containing the file's contents, and the\n     `\u003Cscript src=\"..\u002F..\u002F..\u002Fassets\u002Fruntime.js\">` with a\n     `\u003Cscript>...\u003C\u002Fscript>` containing `runtime.js`. Yields a single\n     self-contained `index.html`.\n   Either way, do not ship the upstream `..\u002F..\u002F..\u002Fassets\u002F...` URLs\n   verbatim into a project artifact — they only work in-tree.\n4. **Pick a theme.** Default tokens look fine; if the user wants a different\n   feel, swap in any of the 36 themes from `skills\u002Fhtml-ppt\u002Fassets\u002Fthemes\u002F*.css`\n   via `\u003Clink id=\"theme-link\">` and let `T` cycle.\n5. **Replace demo content, not classes.** The `.tpl-presenter-mode-reveal` scoped CSS only\n   recognises the structural classes shipped in the template — keep them.\n6. **Speaker notes go inside `\u003Caside class=\"notes\">` or `\u003Cdiv class=\"notes\">`** — never as visible text on the slide.\n\n## Attribution\n\nVisual system, layouts, themes and the runtime keyboard model come from\nthe upstream MIT-licensed [`lewislulu\u002Fhtml-ppt-skill`](https:\u002F\u002Fgithub.com\u002Flewislulu\u002Fhtml-ppt-skill). The\nLICENSE file ships at `skills\u002Fhtml-ppt\u002FLICENSE`; please keep it in place when\nredistributing.\n\n","# HTML PPT · Presenter Mode (演讲者模式)\n\nA focused entry point into the [`html-ppt`](..\u002Fhtml-ppt\u002FSKILL.md) master skill that lands the user directly on the **`presenter-mode-reveal`** full-deck template.\n\n## When this card is picked\n\nThe Examples gallery wires \"Use this prompt\" to the example_prompt above. When you accept that prompt, this card is the right pick if the user wants exactly the visual identity of `presenter-mode-reveal` (see the upstream [full-decks catalog](..\u002Fhtml-ppt\u002Freferences\u002Ffull-decks.md) for screenshots and rationale).\n\n## How to author the deck\n\n1. **Read the master skill first.** All authoring rules live in\n   [`skills\u002Fhtml-ppt\u002FSKILL.md`](..\u002Fhtml-ppt\u002FSKILL.md) — content\u002Faudience checklist,\n   token rules, layout reuse, presenter mode, the keyboard runtime, and the\n   \"never put presenter-only text on the slide\" rule.\n2. **Start from the matching template folder:**\n   `skills\u002Fhtml-ppt\u002Ftemplates\u002Ffull-decks\u002Fpresenter-mode-reveal\u002F` — copy `index.html` and\n   `style.css` into the project, keep the `.tpl-presenter-mode-reveal` body class.\n3. **Bring the shared runtime with the template.** The upstream\n   `index.html` links the shared CSS\u002FJS via `..\u002F..\u002F..\u002Fassets\u002F...` because it\n   sits three folders deep inside `skills\u002Fhtml-ppt\u002Ftemplates\u002Ffull-decks\u002F`.\n   Once you copy `index.html` into the project, those parent-relative URLs\n   no longer resolve and `base.css`, `animations.css`, and `runtime.js`\n   will 404 — meaning the deck never activates and slide navigation is\n   dead. Pick one of these two recipes per project:\n   - **Recipe A — copy + rewrite (preferred):** copy\n     `skills\u002Fhtml-ppt\u002Fassets\u002Ffonts.css`, `skills\u002Fhtml-ppt\u002Fassets\u002Fbase.css`,\n     `skills\u002Fhtml-ppt\u002Fassets\u002Fanimations\u002Fanimations.css`, and\n     `skills\u002Fhtml-ppt\u002Fassets\u002Fruntime.js` into a project-local\n     `assets\u002F` (with `assets\u002Fanimations\u002Fanimations.css`), then rewrite the\n     four `\u003Clink>`\u002F`\u003Cscript>` tags in `index.html` from\n     `..\u002F..\u002F..\u002Fassets\u002F...` to the matching project-local paths\n     (`assets\u002Ffonts.css`, `assets\u002Fbase.css`,\n     `assets\u002Fanimations\u002Fanimations.css`, `assets\u002Fruntime.js`).\n   - **Recipe B — inline:** read the same four files and replace each\n     `\u003Clink rel=\"stylesheet\" href=\"..\u002F..\u002F..\u002Fassets\u002F...\">` with a\n     `\u003Cstyle>...\u003C\u002Fstyle>` containing the file's contents, and the\n     `\u003Cscript src=\"..\u002F..\u002F..\u002Fassets\u002Fruntime.js\">` with a\n     `\u003Cscript>...\u003C\u002Fscript>` containing `runtime.js`. Yields a single\n     self-contained `index.html`.\n   Either way, do not ship the upstream `..\u002F..\u002F..\u002Fassets\u002F...` URLs\n   verbatim into a project artifact — they only work in-tree.\n4. **Pick a theme.** Default tokens look fine; if the user wants a different\n   feel, swap in any of the 36 themes from `skills\u002Fhtml-ppt\u002Fassets\u002Fthemes\u002F*.css`\n   via `\u003Clink id=\"theme-link\">` and let `T` cycle.\n5. **Replace demo content, not classes.** The `.tpl-presenter-mode-reveal` scoped CSS only\n   recognises the structural classes shipped in the template — keep them.\n6. **Speaker notes go inside `\u003Caside class=\"notes\">` or `\u003Cdiv class=\"notes\">`** — never as visible text on the slide.\n\n## Attribution\n\nVisual system, layouts, themes and the runtime keyboard model come from\nthe upstream MIT-licensed [`lewislulu\u002Fhtml-ppt-skill`](https:\u002F\u002Fgithub.com\u002Flewislulu\u002Fhtml-ppt-skill). The\nLICENSE file ships at `skills\u002Fhtml-ppt\u002FLICENSE`; please keep it in place when\nredistributing.\n\n",{"od":52,"name":5,"triggers":61,"description":7},{"mode":42,"preview":53,"featured":55,"scenario":56,"upstream":57,"animations":58,"design_system":59,"speaker_notes":58,"example_prompt":60},{"type":29,"entry":54},"index.html",26,"engineering","https:\u002F\u002Fgithub.com\u002Flewislulu\u002Fhtml-ppt-skill",true,{"requires":48},"用 html-ppt-presenter-mode 模板做一份带逐字稿的演讲 PPT。先确认：演讲主题、时长（每页 2-3 分钟）、目标听众。然后帮我每页写 150-300 字的口语化逐字稿（不是讲稿，是提示信号），按 S 能打开 presenter 弹窗。",[62,63,64,65,66,67,68],"presenter mode","演讲者模式","逐字稿","speaker notes","提词器","presenter view","演讲","main","2a76bf42ce5c860adf8d0f3fcf3f6804109ac65b","skills\u002Fhtml-ppt-presenter-mode-reveal",0,"https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fwiki","https:\u002F\u002Fgithub.com\u002Fonfire7777","trying to create something actually useful","2026-09-11 13:25:26",{"source":8,"skillName":5,"commands":79,"prompt":89,"zipAvailable":58},[80,83,86],{"tool":81,"command":82},"npx","npx skills add onfire7777\u002Funiversal-ai-skills-library --skill html-ppt-presenter-mode-reveal",{"tool":84,"command":85},"bunx","bunx skills add onfire7777\u002Funiversal-ai-skills-library --skill html-ppt-presenter-mode-reveal",{"tool":87,"command":88},"pnpm","pnpm dlx skills add onfire7777\u002Funiversal-ai-skills-library --skill html-ppt-presenter-mode-reveal","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fhtml-ppt-presenter-mode-reveal\u002FSKILL.md",[91,97],{"path":92,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":95,"sourceHtmlUrl":96},".openskills.json","REFERENCE","参考文档",234,"https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fhtml-ppt-presenter-mode-reveal\u002F.openskills.json",{"path":98,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":99,"sourceHtmlUrl":100},"example.html",37604,"https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fhtml-ppt-presenter-mode-reveal\u002Fexample.html",[102,130,139,149,168,184],{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":117,"publishedAt":47},"01M6J7MPK8ZE9VQJR4KK6ZMZJQ","zyte-api-automation","Automate Zyte API tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzyte-api-automation\u002FSKILL.md",[108,111,112],{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[118,119,120,121,122,123,124,125,126,127,128,129],"automation","api","zyte api automation","for","MCP","via","composio","automate","first","Tools","search","tasks",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":47},"01M6J7MK45K2ZZ0EWTP1N6SZ7F","zylvie-automation","Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzylvie-automation\u002FSKILL.md",[136],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[118,138,122,129,121,123,124,125,126,127,128],"zylvie automation",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":47},"01M6J7MGDCVZ3YCXGEAPR5V3MS","zoominfo-automation","Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoominfo-automation\u002FSKILL.md",[145],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[147,148,118,125,124,127,123,129,121,128,122,126],"zoominfo","zoominfo automation",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":47},"01M6J7MDK48N09B7C6H9TCPY9A","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoom-out\u002FSKILL.md",[155],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[157,158,159,160,161,162,33,163,164,165,166,167,32],"zoom out","zoom","perspective","code","re","you","understand","it","use","context","how",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":175,"publishedAt":47},"01M6J7MAD47Q9A55AK3EXS914H","zoho-mail-automation","Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoho-mail-automation\u002FSKILL.md",[174],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[176,177,178,179,118,180,128,129,122,127,181,121,123,182,124,183,125,126],"mail","zoho mail automation","zoho","zoho mail","email","labels","mailbox","management",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":194,"publishedAt":47},"01M6J7M76HTWPP8TRWWCDS42NB","zoho-invoice-automation","Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoho-invoice-automation\u002FSKILL.md",[190,191],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":192,"categoryName":193,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000040","财务",[195,118,178,196,122,123,121,197,198,199,124,200,201,125,126,127,128,129],"invoice","zoho invoice automation","invoices","expenses","clients","payment","tracking"]