[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F0VM16VZJNB9SPN4B8QMBV":3,"skill-same:01M6F0VM16VZJNB9SPN4B8QMBV":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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":60,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6F0VM16VZJNB9SPN4B8QMBV","performance-optimization",null,"Optimize application performance for speed, efficiency, and scalability. Use when improving page load times, reducing bundle size, optimizing database queries, or fixing performance bottlenecks. Handles React optimization, lazy loading, caching, code splitting, and profiling.","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\u002Fsupercent-io\u002Fperformance-optimization\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"performance","Optimization","performance optimization","loading","gemini","database queries","speed","efficiency","caching","scalability","optimize","queries","use","page","bundle size","database","chatgpt","code","react","web","2026-11-10 10:12:30",false,"---\nname: performance-optimization\ndescription: Optimize application performance for speed, efficiency, and scalability. Use when improving page load times, reducing bundle size, optimizing database queries, or fixing performance bottlenecks. Handles React optimization, lazy loading, caching, code splitting, and profiling.\nmetadata:\n  tags: performance, optimization, React, lazy-loading, caching, profiling, web-vitals\n  platforms: Claude, ChatGPT, Gemini\n---\n\n\n# Performance Optimization\n\n\n## When to use this skill\n\n- **Slow page loads**: low Lighthouse score\n- **Slow rendering**: delayed user interactions\n- **Large bundle size**: increased download time\n- **Slow queries**: database bottlenecks\n\n## Instructions\n\n### Step 1: Measure performance\n\n**Lighthouse (Chrome DevTools)**:\n```bash\n# CLI\nnpm install -g lighthouse\nlighthouse https:\u002F\u002Fexample.com --view\n\n# Automate in CI\nlighthouse https:\u002F\u002Fexample.com --output=json --output-path=.\u002Freport.json\n```\n\n**Measure Web Vitals** (React):\n```typescript\nimport { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals';\n\nfunction sendToAnalytics(metric: any) {\n  \u002F\u002F Send to Google Analytics, Datadog, etc.\n  console.log(metric);\n}\n\ngetCLS(sendToAnalytics);\ngetFID(sendToAnalytics);\ngetFCP(sendToAnalytics);\ngetLCP(sendToAnalytics);\ngetTTFB(sendToAnalytics);\n```\n\n### Step 2: Optimize React\n\n**React.memo (prevent unnecessary re-renders)**:\n```tsx\n\u002F\u002F ❌ Bad: child re-renders whenever the parent re-renders\nfunction ExpensiveComponent({ data }: { data: Data }) {\n  return \u003Cdiv>{\u002F* complex rendering *\u002F}\u003C\u002Fdiv>;\n}\n\n\u002F\u002F ✅ Good: re-render only when props change\nconst ExpensiveComponent = React.memo(({ data }: { data: Data }) => {\n  return \u003Cdiv>{\u002F* complex rendering *\u002F}\u003C\u002Fdiv>;\n});\n```\n\n**useMemo & useCallback**:\n```tsx\nfunction ProductList({ products, category }: Props) {\n  \u002F\u002F ✅ Memoize filtered results\n  const filteredProducts = useMemo(() => {\n    return products.filter(p => p.category === category);\n  }, [products, category]);\n\n  \u002F\u002F ✅ Memoize callback\n  const handleAddToCart = useCallback((id: string) => {\n    addToCart(id);\n  }, []);\n\n  return (\n    \u003Cdiv>\n      {filteredProducts.map(product => (\n        \u003CProductCard key={product.id} product={product} onAdd={handleAddToCart} \u002F>\n      ))}\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n**Lazy Loading & Code Splitting**:\n```tsx\nimport { lazy, Suspense } from 'react';\n\n\u002F\u002F ✅ Route-based code splitting\nconst Dashboard = lazy(() => import('.\u002Fpages\u002FDashboard'));\nconst Profile = lazy(() => import('.\u002Fpages\u002FProfile'));\nconst Settings = lazy(() => import('.\u002Fpages\u002FSettings'));\n\nfunction App() {\n  return (\n    \u003CSuspense fallback={\u003Cdiv>Loading...\u003C\u002Fdiv>}>\n      \u003CRoutes>\n        \u003CRoute path=\"\u002Fdashboard\" element={\u003CDashboard \u002F>} \u002F>\n        \u003CRoute path=\"\u002Fprofile\" element={\u003CProfile \u002F>} \u002F>\n        \u003CRoute path=\"\u002Fsettings\" element={\u003CSettings \u002F>} \u002F>\n      \u003C\u002FRoutes>\n    \u003C\u002FSuspense>\n  );\n}\n\n\u002F\u002F ✅ Component-based lazy loading\nconst HeavyChart = lazy(() => import('.\u002Fcomponents\u002FHeavyChart'));\n\nfunction Dashboard() {\n  return (\n    \u003Cdiv>\n      \u003Ch1>Dashboard\u003C\u002Fh1>\n      \u003CSuspense fallback={\u003CSkeleton \u002F>}>\n        \u003CHeavyChart data={data} \u002F>\n      \u003C\u002FSuspense>\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n### Step 3: Optimize bundle size\n\n**Webpack Bundle Analyzer**:\n```bash\nnpm install --save-dev webpack-bundle-analyzer\n\n# package.json\n{\n  \"scripts\": {\n    \"analyze\": \"webpack-bundle-analyzer build\u002Fstats.json\"\n  }\n}\n```\n\n**Tree Shaking (remove unused code)**:\n```typescript\n\u002F\u002F ❌ Bad: import entire library\nimport _ from 'lodash';\n\n\u002F\u002F ✅ Good: import only what you need\nimport debounce from 'lodash\u002Fdebounce';\n```\n\n**Dynamic Imports**:\n```typescript\n\u002F\u002F ✅ Load only when needed\nbutton.addEventListener('click', async () => {\n  const { default: Chart } = await import('chart.js');\n  new Chart(ctx, config);\n});\n```\n\n### Step 4: Optimize images\n\n**Next.js Image component**:\n```tsx\nimport Image from 'next\u002Fimage';\n\nfunction ProductImage() {\n  return (\n    \u003CImage\n      src=\"\u002Fproduct.jpg\"\n      alt=\"Product\"\n      width={500}\n      height={500}\n      priority  \u002F\u002F for the LCP image\n      placeholder=\"blur\"  \u002F\u002F blur placeholder\n      sizes=\"(max-width: 768px) 100vw, 50vw\"\n    \u002F>\n  );\n}\n```\n\n**Use WebP format**:\n```html\n\u003Cpicture>\n  \u003Csource srcset=\"image.webp\" type=\"image\u002Fwebp\">\n  \u003Csource srcset=\"image.jpg\" type=\"image\u002Fjpeg\">\n  \u003Cimg src=\"image.jpg\" alt=\"Fallback\">\n\u003C\u002Fpicture>\n```\n\n### Step 5: Optimize database queries\n\n**Fix the N+1 query problem**:\n```typescript\n\u002F\u002F ❌ Bad: N+1 queries\nconst posts = await db.post.findMany();\nfor (const post of posts) {\n  const author = await db.user.findUnique({ where: { id: post.authorId } });\n  \u002F\u002F 101 queries (1 + 100)\n}\n\n\u002F\u002F ✅ Good: JOIN or include\nconst posts = await db.post.findMany({\n  include: {\n    author: true\n  }\n});\n\u002F\u002F 1 query\n```\n\n**Add indexes**:\n```sql\n-- Identify slow queries\nEXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';\n\n-- Add index\nCREATE INDEX idx_users_email ON users(email);\n\n-- Composite index\nCREATE INDEX idx_orders_user_date ON orders(user_id, created_at);\n```\n\n**Caching (Redis)**:\n```typescript\nasync function getUserProfile(userId: string) {\n  \u002F\u002F 1. Check cache\n  const cached = await redis.get(`user:${userId}`);\n  if (cached) {\n    return JSON.parse(cached);\n  }\n\n  \u002F\u002F 2. Query DB\n  const user = await db.user.findUnique({ where: { id: userId } });\n\n  \u002F\u002F 3. Store in cache (1 hour)\n  await redis.setex(`user:${userId}`, 3600, JSON.stringify(user));\n\n  return user;\n}\n```\n\n## Output format\n\n### Performance optimization checklist\n\n```markdown\n## Frontend\n- [ ] Prevent unnecessary re-renders with React.memo\n- [ ] Use useMemo\u002FuseCallback appropriately\n- [ ] Lazy loading & Code splitting\n- [ ] Optimize images (WebP, lazy loading)\n- [ ] Analyze and reduce bundle size\n\n## Backend\n- [ ] Remove N+1 queries\n- [ ] Add database indexes\n- [ ] Redis caching\n- [ ] Compress API responses (gzip)\n- [ ] Use a CDN\n\n## Measurement\n- [ ] Lighthouse score 90+\n- [ ] LCP \u003C 2.5s\n- [ ] FID \u003C 100ms\n- [ ] CLS \u003C 0.1\n```\n\n## Constraints\n\n### Required rules (MUST)\n\n1. **Measure first**: profile, don't guess\n2. **Incremental improvements**: optimize one thing at a time\n3. **Performance monitoring**: track continuously\n\n### Prohibited items (MUST NOT)\n\n1. **Premature optimization**: don't optimize when there is no bottleneck\n2. **Sacrificing readability**: don't make code complex for performance\n\n## Best practices\n\n1. **80\u002F20 rule**: 80% improvement with 20% effort\n2. **User-centered**: focus on improving real user experience\n3. **Automation**: performance regression tests in CI\n\n## References\n\n- [web.dev\u002Fvitals](https:\u002F\u002Fweb.dev\u002Fvitals\u002F)\n- [React Optimization](https:\u002F\u002Freact.dev\u002Flearn\u002Frender-and-commit#optimizing-performance)\n- [Webpack Bundle Analyzer](https:\u002F\u002Fgithub.com\u002Fwebpack-contrib\u002Fwebpack-bundle-analyzer)\n\n## Metadata\n\n### Version\n- **Current version**: 1.0.0\n- **Last updated**: 2025-01-01\n- **Compatible platforms**: Claude, ChatGPT, Gemini\n\n### Related skills\n- [database-schema-design](..\u002Fdatabase-schema-design\u002FSKILL.md)\n- [ui-components](..\u002Fui-component-patterns\u002FSKILL.md)\n\n### Tags\n`#performance` `#optimization` `#React` `#caching` `#lazy-loading` `#web-vitals` `#code-quality`\n\n## Examples\n\n### Example 1: Basic usage\n\u003C!-- Add example content here -->\n\n### Example 2: Advanced usage\n\u003C!-- Add advanced example content here -->\n","# Performance Optimization\n\n\n## When to use this skill\n\n- **Slow page loads**: low Lighthouse score\n- **Slow rendering**: delayed user interactions\n- **Large bundle size**: increased download time\n- **Slow queries**: database bottlenecks\n\n## Instructions\n\n### Step 1: Measure performance\n\n**Lighthouse (Chrome DevTools)**:\n```bash\n# CLI\nnpm install -g lighthouse\nlighthouse https:\u002F\u002Fexample.com --view\n\n# Automate in CI\nlighthouse https:\u002F\u002Fexample.com --output=json --output-path=.\u002Freport.json\n```\n\n**Measure Web Vitals** (React):\n```typescript\nimport { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals';\n\nfunction sendToAnalytics(metric: any) {\n  \u002F\u002F Send to Google Analytics, Datadog, etc.\n  console.log(metric);\n}\n\ngetCLS(sendToAnalytics);\ngetFID(sendToAnalytics);\ngetFCP(sendToAnalytics);\ngetLCP(sendToAnalytics);\ngetTTFB(sendToAnalytics);\n```\n\n### Step 2: Optimize React\n\n**React.memo (prevent unnecessary re-renders)**:\n```tsx\n\u002F\u002F ❌ Bad: child re-renders whenever the parent re-renders\nfunction ExpensiveComponent({ data }: { data: Data }) {\n  return \u003Cdiv>{\u002F* complex rendering *\u002F}\u003C\u002Fdiv>;\n}\n\n\u002F\u002F ✅ Good: re-render only when props change\nconst ExpensiveComponent = React.memo(({ data }: { data: Data }) => {\n  return \u003Cdiv>{\u002F* complex rendering *\u002F}\u003C\u002Fdiv>;\n});\n```\n\n**useMemo & useCallback**:\n```tsx\nfunction ProductList({ products, category }: Props) {\n  \u002F\u002F ✅ Memoize filtered results\n  const filteredProducts = useMemo(() => {\n    return products.filter(p => p.category === category);\n  }, [products, category]);\n\n  \u002F\u002F ✅ Memoize callback\n  const handleAddToCart = useCallback((id: string) => {\n    addToCart(id);\n  }, []);\n\n  return (\n    \u003Cdiv>\n      {filteredProducts.map(product => (\n        \u003CProductCard key={product.id} product={product} onAdd={handleAddToCart} \u002F>\n      ))}\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n**Lazy Loading & Code Splitting**:\n```tsx\nimport { lazy, Suspense } from 'react';\n\n\u002F\u002F ✅ Route-based code splitting\nconst Dashboard = lazy(() => import('.\u002Fpages\u002FDashboard'));\nconst Profile = lazy(() => import('.\u002Fpages\u002FProfile'));\nconst Settings = lazy(() => import('.\u002Fpages\u002FSettings'));\n\nfunction App() {\n  return (\n    \u003CSuspense fallback={\u003Cdiv>Loading...\u003C\u002Fdiv>}>\n      \u003CRoutes>\n        \u003CRoute path=\"\u002Fdashboard\" element={\u003CDashboard \u002F>} \u002F>\n        \u003CRoute path=\"\u002Fprofile\" element={\u003CProfile \u002F>} \u002F>\n        \u003CRoute path=\"\u002Fsettings\" element={\u003CSettings \u002F>} \u002F>\n      \u003C\u002FRoutes>\n    \u003C\u002FSuspense>\n  );\n}\n\n\u002F\u002F ✅ Component-based lazy loading\nconst HeavyChart = lazy(() => import('.\u002Fcomponents\u002FHeavyChart'));\n\nfunction Dashboard() {\n  return (\n    \u003Cdiv>\n      \u003Ch1>Dashboard\u003C\u002Fh1>\n      \u003CSuspense fallback={\u003CSkeleton \u002F>}>\n        \u003CHeavyChart data={data} \u002F>\n      \u003C\u002FSuspense>\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n### Step 3: Optimize bundle size\n\n**Webpack Bundle Analyzer**:\n```bash\nnpm install --save-dev webpack-bundle-analyzer\n\n# package.json\n{\n  \"scripts\": {\n    \"analyze\": \"webpack-bundle-analyzer build\u002Fstats.json\"\n  }\n}\n```\n\n**Tree Shaking (remove unused code)**:\n```typescript\n\u002F\u002F ❌ Bad: import entire library\nimport _ from 'lodash';\n\n\u002F\u002F ✅ Good: import only what you need\nimport debounce from 'lodash\u002Fdebounce';\n```\n\n**Dynamic Imports**:\n```typescript\n\u002F\u002F ✅ Load only when needed\nbutton.addEventListener('click', async () => {\n  const { default: Chart } = await import('chart.js');\n  new Chart(ctx, config);\n});\n```\n\n### Step 4: Optimize images\n\n**Next.js Image component**:\n```tsx\nimport Image from 'next\u002Fimage';\n\nfunction ProductImage() {\n  return (\n    \u003CImage\n      src=\"\u002Fproduct.jpg\"\n      alt=\"Product\"\n      width={500}\n      height={500}\n      priority  \u002F\u002F for the LCP image\n      placeholder=\"blur\"  \u002F\u002F blur placeholder\n      sizes=\"(max-width: 768px) 100vw, 50vw\"\n    \u002F>\n  );\n}\n```\n\n**Use WebP format**:\n```html\n\u003Cpicture>\n  \u003Csource srcset=\"image.webp\" type=\"image\u002Fwebp\">\n  \u003Csource srcset=\"image.jpg\" type=\"image\u002Fjpeg\">\n  \u003Cimg src=\"image.jpg\" alt=\"Fallback\">\n\u003C\u002Fpicture>\n```\n\n### Step 5: Optimize database queries\n\n**Fix the N+1 query problem**:\n```typescript\n\u002F\u002F ❌ Bad: N+1 queries\nconst posts = await db.post.findMany();\nfor (const post of posts) {\n  const author = await db.user.findUnique({ where: { id: post.authorId } });\n  \u002F\u002F 101 queries (1 + 100)\n}\n\n\u002F\u002F ✅ Good: JOIN or include\nconst posts = await db.post.findMany({\n  include: {\n    author: true\n  }\n});\n\u002F\u002F 1 query\n```\n\n**Add indexes**:\n```sql\n-- Identify slow queries\nEXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';\n\n-- Add index\nCREATE INDEX idx_users_email ON users(email);\n\n-- Composite index\nCREATE INDEX idx_orders_user_date ON orders(user_id, created_at);\n```\n\n**Caching (Redis)**:\n```typescript\nasync function getUserProfile(userId: string) {\n  \u002F\u002F 1. Check cache\n  const cached = await redis.get(`user:${userId}`);\n  if (cached) {\n    return JSON.parse(cached);\n  }\n\n  \u002F\u002F 2. Query DB\n  const user = await db.user.findUnique({ where: { id: userId } });\n\n  \u002F\u002F 3. Store in cache (1 hour)\n  await redis.setex(`user:${userId}`, 3600, JSON.stringify(user));\n\n  return user;\n}\n```\n\n## Output format\n\n### Performance optimization checklist\n\n```markdown\n## Frontend\n- [ ] Prevent unnecessary re-renders with React.memo\n- [ ] Use useMemo\u002FuseCallback appropriately\n- [ ] Lazy loading & Code splitting\n- [ ] Optimize images (WebP, lazy loading)\n- [ ] Analyze and reduce bundle size\n\n## Backend\n- [ ] Remove N+1 queries\n- [ ] Add database indexes\n- [ ] Redis caching\n- [ ] Compress API responses (gzip)\n- [ ] Use a CDN\n\n## Measurement\n- [ ] Lighthouse score 90+\n- [ ] LCP \u003C 2.5s\n- [ ] FID \u003C 100ms\n- [ ] CLS \u003C 0.1\n```\n\n## Constraints\n\n### Required rules (MUST)\n\n1. **Measure first**: profile, don't guess\n2. **Incremental improvements**: optimize one thing at a time\n3. **Performance monitoring**: track continuously\n\n### Prohibited items (MUST NOT)\n\n1. **Premature optimization**: don't optimize when there is no bottleneck\n2. **Sacrificing readability**: don't make code complex for performance\n\n## Best practices\n\n1. **80\u002F20 rule**: 80% improvement with 20% effort\n2. **User-centered**: focus on improving real user experience\n3. **Automation**: performance regression tests in CI\n\n## References\n\n- [web.dev\u002Fvitals](https:\u002F\u002Fweb.dev\u002Fvitals\u002F)\n- [React Optimization](https:\u002F\u002Freact.dev\u002Flearn\u002Frender-and-commit#optimizing-performance)\n- [Webpack Bundle Analyzer](https:\u002F\u002Fgithub.com\u002Fwebpack-contrib\u002Fwebpack-bundle-analyzer)\n\n## Metadata\n\n### Version\n- **Current version**: 1.0.0\n- **Last updated**: 2025-01-01\n- **Compatible platforms**: Claude, ChatGPT, Gemini\n\n### Related skills\n- [database-schema-design](..\u002Fdatabase-schema-design\u002FSKILL.md)\n- [ui-components](..\u002Fui-component-patterns\u002FSKILL.md)\n\n### Tags\n`#performance` `#optimization` `#React` `#caching` `#lazy-loading` `#web-vitals` `#code-quality`\n\n## Examples\n\n### Example 1: Basic usage\n\u003C!-- Add example content here -->\n\n### Example 2: Advanced usage\n\u003C!-- Add advanced example content here -->\n",{"name":5,"metadata":52,"description":7},{"tags":53,"platforms":54},"performance, optimization, React, lazy-loading, caching, profiling, web-vitals","Claude, ChatGPT, Gemini","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fperformance-optimization",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":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill performance-optimization",{"tool":70,"command":71},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill performance-optimization",{"tool":73,"command":74},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill performance-optimization","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fperformance-optimization\u002FSKILL.md",true,[78,84],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"skill-report.json","REFERENCE","参考文档",15516,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fperformance-optimization\u002Fskill-report.json",{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"SKILL.toon","OTHER","其他",506,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fperformance-optimization\u002FSKILL.toon",[91,103,113,122,128,135],{"skillNo":92,"name":93,"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":94,"categories":95,"keywords":99,"publishedAt":47},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[100,101,102],"model","model hierarchy","model hierarchy skill",{"skillNo":104,"name":105,"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":106,"categories":107,"keywords":109,"publishedAt":47},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[108],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},[110,111,112],"MCP","zoom","zoom mcp",{"skillNo":114,"name":115,"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":116,"categories":117,"keywords":118,"publishedAt":47},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[119,120,121,111],"sdk","zoom apps sdk","apps",{"skillNo":123,"name":124,"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":125,"categories":126,"keywords":127,"publishedAt":47},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[124],{"skillNo":129,"name":130,"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":131,"categories":132,"keywords":134,"publishedAt":47},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[133],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},[130],{"skillNo":136,"name":137,"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":138,"categories":139,"keywords":140,"publishedAt":47},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[137]]