[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EHRTYH155A00CFSXSV5VGF":3,"skill-same:01M6EHRTYH155A00CFSXSV5VGF":87},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6EHRTYH155A00CFSXSV5VGF","snapdom",null,"snapDOM is a fast, accurate DOM-to-image capture tool that converts HTML elements into scalable SVG images. Use for capturing HTML elements, converting DOM to images (SVG, PNG, JPG, WebP), preserving styles, fonts, and pseudo-elements.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F2025emma\u002Fsnapdom\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"image","fast","tool","png","jpg","webp","capture","use","html","images","elements","SVG","styles","Scalable","2026-11-10 10:12:30",false,"---\nname: snapdom\ndescription: snapDOM is a fast, accurate DOM-to-image capture tool that converts HTML elements into scalable SVG images. Use for capturing HTML elements, converting DOM to images (SVG, PNG, JPG, WebP), preserving styles, fonts, and pseudo-elements.\n---\n\n# SnapDOM Skill\n\nFast, dependency-free DOM-to-image capture library for converting HTML elements into scalable SVG or raster image formats.\n\n## When to Use This Skill\n\nUse SnapDOM when you need to:\n- Convert HTML elements to images (SVG, PNG, JPG, WebP)\n- Capture styled DOM with pseudo-elements and shadows\n- Export elements with embedded fonts and icons\n- Create screenshots with custom dimensions or scaling\n- Handle CORS-blocked resources using proxy fallback\n- Implement custom rendering pipelines with plugins\n- Optimize performance on large or complex elements\n\n## Key Features\n\n### Universal Export Options\n- **SVG** - Scalable vector format, embeds all styles\n- **PNG, JPG, WebP** - Raster formats with configurable quality\n- **Canvas** - Get raw Canvas element for further processing\n- **Blob** - Raw binary data for custom handling\n\n### Performance\n- Ultra-fast capture (1.6ms for small elements, ~171ms for 4000×2000)\n- **No dependencies** - Uses standard Web APIs only\n- Outperforms html2canvas by 10-40x on complex elements\n\n### Style Support\n- Embedded fonts (including icon fonts)\n- CSS pseudo-elements (::before, ::after)\n- CSS counters\n- CSS line-clamp\n- Transform and shadow effects\n- Shadow DOM content\n\n### Advanced Capabilities\n- Same-origin iframe support\n- CORS proxy fallback for blocked assets\n- Plugin system for custom transformations\n- Straighten transforms (remove rotate\u002Ftranslate)\n- Selective element exclusion\n- Tight bounding box calculation\n\n## Installation\n\n### NPM\u002FYarn\n```bash\nnpm install @zumer\u002Fsnapdom\n# or\nyarn add @zumer\u002Fsnapdom\n```\n\n### CDN (ES Module)\n```html\n\u003Cscript type=\"module\">\n  import { snapdom } from \"https:\u002F\u002Funpkg.com\u002F@zumer\u002Fsnapdom\u002Fdist\u002Fsnapdom.mjs\";\n\u003C\u002Fscript>\n```\n\n### CDN (UMD)\n```html\n\u003Cscript src=\"https:\u002F\u002Funpkg.com\u002F@zumer\u002Fsnapdom\u002Fdist\u002Fsnapdom.umd.js\">\u003C\u002Fscript>\n```\n\n## Quick Start Examples\n\n### Basic Reusable Capture\n```javascript\n\u002F\u002F Create reusable capture object\nconst result = await snapdom(document.querySelector('#target'));\n\n\u002F\u002F Export to different formats\nconst png = await result.toPng();\nconst jpg = await result.toJpg();\nconst svg = await result.toSvg();\nconst canvas = await result.toCanvas();\nconst blob = await result.toBlob();\n\n\u002F\u002F Use the result\ndocument.body.appendChild(png);\n```\n\n### One-Step Export\n```javascript\n\u002F\u002F Direct export without intermediate object\nconst png = await snapdom.toPng(document.querySelector('#target'));\nconst svg = await snapdom.toSvg(element);\n```\n\n### Download Element\n```javascript\n\u002F\u002F Automatically download as file\nawait snapdom.download(element, 'screenshot.png');\nawait snapdom.download(element, 'image.svg');\n```\n\n### With Options\n```javascript\nconst result = await snapdom(element, {\n  scale: 2,                    \u002F\u002F 2x resolution\n  width: 800,                  \u002F\u002F Custom width\n  height: 600,                 \u002F\u002F Custom height\n  embedFonts: true,            \u002F\u002F Include @font-face\n  exclude: '.no-capture',      \u002F\u002F Hide elements\n  useProxy: true,              \u002F\u002F Enable CORS proxy\n  straighten: true,            \u002F\u002F Remove transforms\n  noShadows: false             \u002F\u002F Keep shadows\n});\n\nconst png = await result.toPng({ quality: 0.95 });\n```\n\n## Essential Options Reference\n\n| Option | Type | Purpose |\n|--------|------|---------|\n| `scale` | Number | Scale output (e.g., 2 for 2x resolution) |\n| `width` | Number | Custom output width in pixels |\n| `height` | Number | Custom output height in pixels |\n| `embedFonts` | Boolean | Include non-icon @font-face rules |\n| `useProxy` | String\\|Boolean | Enable CORS proxy (URL or true for default) |\n| `exclude` | String | CSS selector for elements to hide |\n| `straighten` | Boolean | Remove translate\u002Frotate transforms |\n| `noShadows` | Boolean | Strip shadow effects |\n\n## Common Patterns\n\n### Responsive Screenshots\n```javascript\n\u002F\u002F Capture at different scales\nconst mobile = await snapdom.toPng(element, { scale: 1 });\nconst tablet = await snapdom.toPng(element, { scale: 1.5 });\nconst desktop = await snapdom.toPng(element, { scale: 2 });\n```\n\n### Exclude Elements\n```javascript\n\u002F\u002F Hide specific elements from capture\nconst png = await snapdom.toPng(element, {\n  exclude: '.controls, .watermark, [data-no-capture]'\n});\n```\n\n### Fixed Dimensions\n```javascript\n\u002F\u002F Capture with specific size\nconst result = await snapdom(element, {\n  width: 1200,\n  height: 630  \u002F\u002F Standard social media size\n});\n```\n\n### CORS Handling\n```javascript\n\u002F\u002F Fallback for CORS-blocked resources\nconst png = await snapdom.toPng(element, {\n  useProxy: 'https:\u002F\u002Fcors.example.com\u002F?' \u002F\u002F Custom proxy\n});\n```\n\n### Plugin System (Beta)\n```javascript\n\u002F\u002F Extend with custom exporters\nsnapdom.plugins([pluginFactory, { colorOverlay: true }]);\n\n\u002F\u002F Hook into lifecycle\ndefineExports(context) {\n  return {\n    pdf: async (ctx, opts) => { \u002F* generate PDF *\u002F }\n  };\n}\n\n\u002F\u002F Lifecycle hooks available:\n\u002F\u002F beforeSnap → beforeClone → afterClone →\n\u002F\u002F beforeRender → beforeExport → afterExport\n```\n\n## Performance Comparison\n\nSnapDOM significantly outperforms html2canvas:\n\n| Scenario | SnapDOM | html2canvas | Improvement |\n|----------|---------|-------------|-------------|\n| Small (200×100) | 1.6ms | 68ms | 42x faster |\n| Medium (800×600) | 12ms | 280ms | 23x faster |\n| Large (4000×2000) | 171ms | 1,800ms | 10x faster |\n\n## Development\n\n### Setup\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fzumerlab\u002Fsnapdom.git\ncd snapdom\nnpm install\n```\n\n### Build\n```bash\nnpm run compile\n```\n\n### Testing\n```bash\nnpm test\n```\n\n## Browser Support\n\n- Chrome\u002FEdge 90+\n- Firefox 88+\n- Safari 14+\n- Mobile browsers (iOS Safari 14+, Chrome Mobile)\n\n## Resources\n\n### Documentation\n- **Official Website:** https:\u002F\u002Fsnapdom.dev\u002F\n- **GitHub Repository:** https:\u002F\u002Fgithub.com\u002Fzumerlab\u002Fsnapdom\n- **NPM Package:** https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@zumer\u002Fsnapdom\n- **License:** MIT\n\n### scripts\u002F\nAdd helper scripts here for automation, e.g.:\n- `batch-screenshot.js` - Capture multiple elements\n- `pdf-export.js` - Convert snapshots to PDF\n- `compare-outputs.js` - Compare SVG vs PNG quality\n\n### assets\u002F\nAdd templates and examples:\n- HTML templates for common capture scenarios\n- CSS frameworks pre-configured with snapdom\n- Boilerplate projects integrating snapdom\n\n## Related Tools\n\n- **html2canvas** - Alternative DOM capture (slower but more compatible)\n- **Orbit CSS Toolkit** - Companion toolkit by Zumerlab (https:\u002F\u002Fgithub.com\u002Fzumerlab\u002Forbit)\n\n## Tips & Best Practices\n\n1. **Performance**: Use `scale` instead of `width`\u002F`height` for better performance\n2. **Fonts**: Set `embedFonts: true` to ensure custom fonts appear correctly\n3. **CORS Issues**: Use `useProxy: true` if images fail to load\n4. **Large Elements**: Break into smaller chunks for complex pages\n5. **Quality**: For PNG\u002FJPG, use `quality: 0.95` for best quality\n6. **SVG Vectors**: Prefer SVG export for charts and graphics\n\n## Troubleshooting\n\n### Elements Not Rendering\n- Check if element has sufficient height\u002Fwidth\n- Verify CSS is fully loaded before capture\n- Try `straighten: false` if transforms are causing issues\n\n### Missing Fonts\n- Set `embedFonts: true`\n- Ensure fonts are loaded before calling snapdom\n- Check browser console for font loading errors\n\n### CORS Issues\n- Enable `useProxy: true`\n- Use custom proxy URL if default fails\n- Check if resources are from same origin\n\n### Performance Issues\n- Reduce `scale` value\n- Use `noShadows: true` to skip shadow rendering\n- Consider splitting large captures into smaller sections\n","# SnapDOM Skill\n\nFast, dependency-free DOM-to-image capture library for converting HTML elements into scalable SVG or raster image formats.\n\n## When to Use This Skill\n\nUse SnapDOM when you need to:\n- Convert HTML elements to images (SVG, PNG, JPG, WebP)\n- Capture styled DOM with pseudo-elements and shadows\n- Export elements with embedded fonts and icons\n- Create screenshots with custom dimensions or scaling\n- Handle CORS-blocked resources using proxy fallback\n- Implement custom rendering pipelines with plugins\n- Optimize performance on large or complex elements\n\n## Key Features\n\n### Universal Export Options\n- **SVG** - Scalable vector format, embeds all styles\n- **PNG, JPG, WebP** - Raster formats with configurable quality\n- **Canvas** - Get raw Canvas element for further processing\n- **Blob** - Raw binary data for custom handling\n\n### Performance\n- Ultra-fast capture (1.6ms for small elements, ~171ms for 4000×2000)\n- **No dependencies** - Uses standard Web APIs only\n- Outperforms html2canvas by 10-40x on complex elements\n\n### Style Support\n- Embedded fonts (including icon fonts)\n- CSS pseudo-elements (::before, ::after)\n- CSS counters\n- CSS line-clamp\n- Transform and shadow effects\n- Shadow DOM content\n\n### Advanced Capabilities\n- Same-origin iframe support\n- CORS proxy fallback for blocked assets\n- Plugin system for custom transformations\n- Straighten transforms (remove rotate\u002Ftranslate)\n- Selective element exclusion\n- Tight bounding box calculation\n\n## Installation\n\n### NPM\u002FYarn\n```bash\nnpm install @zumer\u002Fsnapdom\n# or\nyarn add @zumer\u002Fsnapdom\n```\n\n### CDN (ES Module)\n```html\n\u003Cscript type=\"module\">\n  import { snapdom } from \"https:\u002F\u002Funpkg.com\u002F@zumer\u002Fsnapdom\u002Fdist\u002Fsnapdom.mjs\";\n\u003C\u002Fscript>\n```\n\n### CDN (UMD)\n```html\n\u003Cscript src=\"https:\u002F\u002Funpkg.com\u002F@zumer\u002Fsnapdom\u002Fdist\u002Fsnapdom.umd.js\">\u003C\u002Fscript>\n```\n\n## Quick Start Examples\n\n### Basic Reusable Capture\n```javascript\n\u002F\u002F Create reusable capture object\nconst result = await snapdom(document.querySelector('#target'));\n\n\u002F\u002F Export to different formats\nconst png = await result.toPng();\nconst jpg = await result.toJpg();\nconst svg = await result.toSvg();\nconst canvas = await result.toCanvas();\nconst blob = await result.toBlob();\n\n\u002F\u002F Use the result\ndocument.body.appendChild(png);\n```\n\n### One-Step Export\n```javascript\n\u002F\u002F Direct export without intermediate object\nconst png = await snapdom.toPng(document.querySelector('#target'));\nconst svg = await snapdom.toSvg(element);\n```\n\n### Download Element\n```javascript\n\u002F\u002F Automatically download as file\nawait snapdom.download(element, 'screenshot.png');\nawait snapdom.download(element, 'image.svg');\n```\n\n### With Options\n```javascript\nconst result = await snapdom(element, {\n  scale: 2,                    \u002F\u002F 2x resolution\n  width: 800,                  \u002F\u002F Custom width\n  height: 600,                 \u002F\u002F Custom height\n  embedFonts: true,            \u002F\u002F Include @font-face\n  exclude: '.no-capture',      \u002F\u002F Hide elements\n  useProxy: true,              \u002F\u002F Enable CORS proxy\n  straighten: true,            \u002F\u002F Remove transforms\n  noShadows: false             \u002F\u002F Keep shadows\n});\n\nconst png = await result.toPng({ quality: 0.95 });\n```\n\n## Essential Options Reference\n\n| Option | Type | Purpose |\n|--------|------|---------|\n| `scale` | Number | Scale output (e.g., 2 for 2x resolution) |\n| `width` | Number | Custom output width in pixels |\n| `height` | Number | Custom output height in pixels |\n| `embedFonts` | Boolean | Include non-icon @font-face rules |\n| `useProxy` | String\\|Boolean | Enable CORS proxy (URL or true for default) |\n| `exclude` | String | CSS selector for elements to hide |\n| `straighten` | Boolean | Remove translate\u002Frotate transforms |\n| `noShadows` | Boolean | Strip shadow effects |\n\n## Common Patterns\n\n### Responsive Screenshots\n```javascript\n\u002F\u002F Capture at different scales\nconst mobile = await snapdom.toPng(element, { scale: 1 });\nconst tablet = await snapdom.toPng(element, { scale: 1.5 });\nconst desktop = await snapdom.toPng(element, { scale: 2 });\n```\n\n### Exclude Elements\n```javascript\n\u002F\u002F Hide specific elements from capture\nconst png = await snapdom.toPng(element, {\n  exclude: '.controls, .watermark, [data-no-capture]'\n});\n```\n\n### Fixed Dimensions\n```javascript\n\u002F\u002F Capture with specific size\nconst result = await snapdom(element, {\n  width: 1200,\n  height: 630  \u002F\u002F Standard social media size\n});\n```\n\n### CORS Handling\n```javascript\n\u002F\u002F Fallback for CORS-blocked resources\nconst png = await snapdom.toPng(element, {\n  useProxy: 'https:\u002F\u002Fcors.example.com\u002F?' \u002F\u002F Custom proxy\n});\n```\n\n### Plugin System (Beta)\n```javascript\n\u002F\u002F Extend with custom exporters\nsnapdom.plugins([pluginFactory, { colorOverlay: true }]);\n\n\u002F\u002F Hook into lifecycle\ndefineExports(context) {\n  return {\n    pdf: async (ctx, opts) => { \u002F* generate PDF *\u002F }\n  };\n}\n\n\u002F\u002F Lifecycle hooks available:\n\u002F\u002F beforeSnap → beforeClone → afterClone →\n\u002F\u002F beforeRender → beforeExport → afterExport\n```\n\n## Performance Comparison\n\nSnapDOM significantly outperforms html2canvas:\n\n| Scenario | SnapDOM | html2canvas | Improvement |\n|----------|---------|-------------|-------------|\n| Small (200×100) | 1.6ms | 68ms | 42x faster |\n| Medium (800×600) | 12ms | 280ms | 23x faster |\n| Large (4000×2000) | 171ms | 1,800ms | 10x faster |\n\n## Development\n\n### Setup\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fzumerlab\u002Fsnapdom.git\ncd snapdom\nnpm install\n```\n\n### Build\n```bash\nnpm run compile\n```\n\n### Testing\n```bash\nnpm test\n```\n\n## Browser Support\n\n- Chrome\u002FEdge 90+\n- Firefox 88+\n- Safari 14+\n- Mobile browsers (iOS Safari 14+, Chrome Mobile)\n\n## Resources\n\n### Documentation\n- **Official Website:** https:\u002F\u002Fsnapdom.dev\u002F\n- **GitHub Repository:** https:\u002F\u002Fgithub.com\u002Fzumerlab\u002Fsnapdom\n- **NPM Package:** https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@zumer\u002Fsnapdom\n- **License:** MIT\n\n### scripts\u002F\nAdd helper scripts here for automation, e.g.:\n- `batch-screenshot.js` - Capture multiple elements\n- `pdf-export.js` - Convert snapshots to PDF\n- `compare-outputs.js` - Compare SVG vs PNG quality\n\n### assets\u002F\nAdd templates and examples:\n- HTML templates for common capture scenarios\n- CSS frameworks pre-configured with snapdom\n- Boilerplate projects integrating snapdom\n\n## Related Tools\n\n- **html2canvas** - Alternative DOM capture (slower but more compatible)\n- **Orbit CSS Toolkit** - Companion toolkit by Zumerlab (https:\u002F\u002Fgithub.com\u002Fzumerlab\u002Forbit)\n\n## Tips & Best Practices\n\n1. **Performance**: Use `scale` instead of `width`\u002F`height` for better performance\n2. **Fonts**: Set `embedFonts: true` to ensure custom fonts appear correctly\n3. **CORS Issues**: Use `useProxy: true` if images fail to load\n4. **Large Elements**: Break into smaller chunks for complex pages\n5. **Quality**: For PNG\u002FJPG, use `quality: 0.95` for best quality\n6. **SVG Vectors**: Prefer SVG export for charts and graphics\n\n## Troubleshooting\n\n### Elements Not Rendering\n- Check if element has sufficient height\u002Fwidth\n- Verify CSS is fully loaded before capture\n- Try `straighten: false` if transforms are causing issues\n\n### Missing Fonts\n- Set `embedFonts: true`\n- Ensure fonts are loaded before calling snapdom\n- Check browser console for font loading errors\n\n### CORS Issues\n- Enable `useProxy: true`\n- Use custom proxy URL if default fails\n- Check if resources are from same origin\n\n### Performance Issues\n- Reduce `scale` value\n- Use `noShadows: true` to skip shadow rendering\n- Consider splitting large captures into smaller sections\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002F2025emma\u002Fsnapdom",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill snapdom",{"tool":58,"command":59},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill snapdom",{"tool":61,"command":62},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill snapdom","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F2025emma\u002Fsnapdom\u002FSKILL.md",true,[66,72,75,79,83],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"codex\u002Fprompt.md","REFERENCE","参考文档",19,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fcrates\u002Fautospec-cli\u002Ftests\u002Ffixtures\u002Fvalidation-cutover\u002Fautonomous-mode\u002Fskills\u002Fautospec-listen\u002Fcodex\u002Fprompt.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":74},"opencode\u002Fagent.md","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fcrates\u002Fautospec-cli\u002Ftests\u002Ffixtures\u002Fvalidation-cutover\u002Fautonomous-mode\u002Fskills\u002Fautospec-listen\u002Fopencode\u002Fagent.md",{"path":76,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Findex.md",110,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F2025emma\u002Fsnapdom\u002Freferences\u002Findex.md",{"path":80,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fother.md",903,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F2025emma\u002Fsnapdom\u002Freferences\u002Fother.md",{"path":84,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":85,"sourceHtmlUrl":86},"skill-report.json",17147,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F2025emma\u002Fsnapdom\u002Fskill-report.json",[88,100,110,119,125,132],{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":96,"publishedAt":38},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[97,98,99],"model","model hierarchy","model hierarchy skill",{"skillNo":101,"name":102,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":106,"publishedAt":38},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[105],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},[107,108,109],"MCP","zoom","zoom mcp",{"skillNo":111,"name":112,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":38},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[116,117,118,108],"sdk","zoom apps sdk","apps",{"skillNo":120,"name":121,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":38},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[121],{"skillNo":126,"name":127,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":131,"publishedAt":38},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[130],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},[127],{"skillNo":133,"name":134,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":38},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[134]]