[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M756PSKPR0865CDVRNMEH15F":3,"skill-same:01M756PSKPR0865CDVRNMEH15F":99},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":13,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M756PSKPR0865CDVRNMEH15F","react-performance-optimization",null,"React performance optimization patterns using memoization, code splitting, and efficient rendering strategies. Use when optimizing slow React applications, reducing bundle size, or improving user experience with large datasets.","dreamofu73\u002FProjectHub","dreamofu73","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22006170?v=4","01M756NYZQJB8XCFMH60TGHAZV","01M756NZ0E8FXMH6YARZCT1JT8",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: react-performance-optimization\ndescription: React performance optimization patterns using memoization, code splitting, and efficient rendering strategies. Use when optimizing slow React applications, reducing bundle size, or improving user experience with large datasets.\nkeywords:\n  - React optimization\n  - React performance\n  - React.memo\n  - bundle size\n  - code splitting\n  - lazy loading\n  - re-render\n  - useCallback\n  - useMemo\n  - virtualization\nfile_patterns:\n  - '**\u002F*.spec.ts'\n  - '**\u002F*.test.ts'\n  - '**\u002F*.test.tsx'\n  - '**\u002F*.ts'\n  - '**\u002F*.tsx'\n  - '**\u002Fpackage.json'\n  - '**\u002Ftests\u002F**\u002F*.ts'\n  - '**\u002Ftests\u002F**\u002F*.tsx'\n  - '**\u002Ftsconfig.json'\nconfidence: 0.76\n---\n\n# React Performance Optimization\n\nExpert guidance for optimizing React application performance through memoization, code splitting, virtualization, and efficient rendering strategies.\n\n## When to Use This Skill\n\n- Optimizing slow-rendering React components\n- Reducing bundle size for faster initial load times\n- Improving responsiveness for large lists or data tables\n- Preventing unnecessary re-renders in complex component trees\n- Optimizing state management to reduce render cascades\n- Improving perceived performance with code splitting\n- Debugging performance issues with React DevTools Profiler\n\n## Core Concepts\n\n### React Rendering Optimization\nReact re-renders components when props or state change. Unnecessary re-renders waste CPU cycles and degrade user experience. Key optimization techniques:\n- **Memoization**: Cache component renders and computed values\n- **Code splitting**: Load code on demand for faster initial loads\n- **Virtualization**: Render only visible list items\n- **State optimization**: Structure state to minimize render cascades\n\n### When to Optimize\n1. **Profile first**: Use React DevTools Profiler to identify actual bottlenecks\n2. **Measure impact**: Verify optimization improves performance\n3. **Avoid premature optimization**: Don't optimize fast components\n\n## Quick Reference\n\nLoad detailed patterns and examples as needed:\n\n| Topic | Reference File |\n| --- | --- |\n| React.memo, useMemo, useCallback patterns | `skills\u002Freact-performance-optimization\u002Freferences\u002Fmemoization.md` |\n| Code splitting with lazy\u002FSuspense, bundle optimization | `skills\u002Freact-performance-optimization\u002Freferences\u002Fcode-splitting.md` |\n| Virtualization for large lists (react-window) | `skills\u002Freact-performance-optimization\u002Freferences\u002Fvirtualization.md` |\n| State management strategies, context splitting | `skills\u002Freact-performance-optimization\u002Freferences\u002Fstate-management.md` |\n| useTransition, useDeferredValue (React 18+) | `skills\u002Freact-performance-optimization\u002Freferences\u002Fconcurrent-features.md` |\n| React DevTools Profiler, performance monitoring | `skills\u002Freact-performance-optimization\u002Freferences\u002Fprofiling-debugging.md` |\n| Common pitfalls and anti-patterns | `skills\u002Freact-performance-optimization\u002Freferences\u002Fcommon-pitfalls.md` |\n\n## Optimization Workflow\n\n### 1. Identify Bottlenecks\n```bash\n# Open React DevTools Profiler\n# Record interaction → Analyze flame graph → Find slow components\n```\n\n**Look for:**\n- Components with yellow\u002Fred bars (slow renders)\n- Unnecessary renders (same props\u002Fstate)\n- Expensive computations on every render\n\n### 2. Apply Targeted Optimizations\n\n**For unnecessary re-renders:**\n- Wrap component with `React.memo`\n- Use `useCallback` for stable function references\n- Check for inline objects\u002Farrays in props\n\n**For expensive computations:**\n- Use `useMemo` to cache results\n- Move calculations outside render when possible\n\n**For large lists:**\n- Implement virtualization with react-window\n- Ensure proper unique keys (not index)\n\n**For slow initial load:**\n- Add code splitting with `React.lazy`\n- Analyze bundle size with webpack-bundle-analyzer\n- Use dynamic imports for heavy dependencies\n\n### 3. Verify Improvements\n```bash\n# Record new Profiler session\n# Compare before\u002Fafter metrics\n# Ensure optimization actually helped\n```\n\n## Common Patterns\n\n### Memoize Expensive Components\n```jsx\nimport { memo } from 'react';\n\nconst ExpensiveList = memo(({ items, onItemClick }) => {\n  return items.map(item => (\n    \u003CItem key={item.id} data={item} onClick={onItemClick} \u002F>\n  ));\n});\n```\n\n### Cache Computed Values\n```jsx\nimport { useMemo } from 'react';\n\nfunction DataTable({ items, filters }) {\n  const filteredItems = useMemo(() => {\n    return items.filter(item => filters.includes(item.category));\n  }, [items, filters]);\n\n  return \u003CTable data={filteredItems} \u002F>;\n}\n```\n\n### Stable Function References\n```jsx\nimport { useCallback } from 'react';\n\nfunction Parent() {\n  const handleClick = useCallback((id) => {\n    console.log('Clicked:', id);\n  }, []);\n\n  return \u003CMemoizedChild onClick={handleClick} \u002F>;\n}\n```\n\n### Code Split Routes\n```jsx\nimport { lazy, Suspense } from 'react';\n\nconst Dashboard = lazy(() => import('.\u002FDashboard'));\nconst Reports = lazy(() => import('.\u002FReports'));\n\nfunction App() {\n  return (\n    \u003CSuspense fallback={\u003CLoading \u002F>}>\n      \u003CRoutes>\n        \u003CRoute path=\"\u002F\" element={\u003CDashboard \u002F>} \u002F>\n        \u003CRoute path=\"\u002Freports\" element={\u003CReports \u002F>} \u002F>\n      \u003C\u002FRoutes>\n    \u003C\u002FSuspense>\n  );\n}\n```\n\n### Virtualize Large Lists\n```jsx\nimport { FixedSizeList } from 'react-window';\n\nfunction VirtualList({ items }) {\n  return (\n    \u003CFixedSizeList\n      height={600}\n      itemCount={items.length}\n      itemSize={80}\n      width=\"100%\"\n    >\n      {({ index, style }) => (\n        \u003Cdiv style={style}>{items[index].name}\u003C\u002Fdiv>\n      )}\n    \u003C\u002FFixedSizeList>\n  );\n}\n```\n\n## Common Mistakes\n\n1. **Over-memoization**: Don't memoize simple, fast components (adds overhead)\n2. **Inline objects\u002Farrays**: New references break memoization (`config={{ theme: 'dark' }}`)\n3. **Missing dependencies**: Stale closures in useCallback\u002FuseMemo\n4. **Index as key**: Breaks reconciliation when list order changes\n5. **Single large context**: Causes widespread re-renders on any update\n6. **No profiling**: Optimizing without measuring wastes time\n\n## Performance Checklist\n\nBefore optimizing:\n- [ ] Profile with React DevTools to identify bottlenecks\n- [ ] Measure baseline performance metrics\n\nOptimization targets:\n- [ ] Memoize expensive components with stable props\n- [ ] Cache computed values with useMemo (if actually expensive)\n- [ ] Use useCallback for functions passed to memoized children\n- [ ] Implement code splitting for routes and heavy components\n- [ ] Virtualize lists with >100 items\n- [ ] Provide stable keys for list items (unique IDs, not index)\n- [ ] Split state by update frequency\n- [ ] Use concurrent features (useTransition, useDeferredValue) for responsiveness\n\nAfter optimizing:\n- [ ] Profile again to verify improvements\n- [ ] Check bundle size reduction (if applicable)\n- [ ] Ensure no regressions in functionality\n\n## Resources\n\n- **React Docs - Performance**: https:\u002F\u002Freact.dev\u002Flearn\u002Frender-and-commit\n- **React DevTools**: Browser extension for profiling\n- **react-window**: https:\u002F\u002Fgithub.com\u002Fbvaughn\u002Freact-window\n- **Bundle analyzers**: webpack-bundle-analyzer, rollup-plugin-visualizer\n- **Lighthouse**: Chrome DevTools performance audit\n","# React Performance Optimization\n\nExpert guidance for optimizing React application performance through memoization, code splitting, virtualization, and efficient rendering strategies.\n\n## When to Use This Skill\n\n- Optimizing slow-rendering React components\n- Reducing bundle size for faster initial load times\n- Improving responsiveness for large lists or data tables\n- Preventing unnecessary re-renders in complex component trees\n- Optimizing state management to reduce render cascades\n- Improving perceived performance with code splitting\n- Debugging performance issues with React DevTools Profiler\n\n## Core Concepts\n\n### React Rendering Optimization\nReact re-renders components when props or state change. Unnecessary re-renders waste CPU cycles and degrade user experience. Key optimization techniques:\n- **Memoization**: Cache component renders and computed values\n- **Code splitting**: Load code on demand for faster initial loads\n- **Virtualization**: Render only visible list items\n- **State optimization**: Structure state to minimize render cascades\n\n### When to Optimize\n1. **Profile first**: Use React DevTools Profiler to identify actual bottlenecks\n2. **Measure impact**: Verify optimization improves performance\n3. **Avoid premature optimization**: Don't optimize fast components\n\n## Quick Reference\n\nLoad detailed patterns and examples as needed:\n\n| Topic | Reference File |\n| --- | --- |\n| React.memo, useMemo, useCallback patterns | `skills\u002Freact-performance-optimization\u002Freferences\u002Fmemoization.md` |\n| Code splitting with lazy\u002FSuspense, bundle optimization | `skills\u002Freact-performance-optimization\u002Freferences\u002Fcode-splitting.md` |\n| Virtualization for large lists (react-window) | `skills\u002Freact-performance-optimization\u002Freferences\u002Fvirtualization.md` |\n| State management strategies, context splitting | `skills\u002Freact-performance-optimization\u002Freferences\u002Fstate-management.md` |\n| useTransition, useDeferredValue (React 18+) | `skills\u002Freact-performance-optimization\u002Freferences\u002Fconcurrent-features.md` |\n| React DevTools Profiler, performance monitoring | `skills\u002Freact-performance-optimization\u002Freferences\u002Fprofiling-debugging.md` |\n| Common pitfalls and anti-patterns | `skills\u002Freact-performance-optimization\u002Freferences\u002Fcommon-pitfalls.md` |\n\n## Optimization Workflow\n\n### 1. Identify Bottlenecks\n```bash\n# Open React DevTools Profiler\n# Record interaction → Analyze flame graph → Find slow components\n```\n\n**Look for:**\n- Components with yellow\u002Fred bars (slow renders)\n- Unnecessary renders (same props\u002Fstate)\n- Expensive computations on every render\n\n### 2. Apply Targeted Optimizations\n\n**For unnecessary re-renders:**\n- Wrap component with `React.memo`\n- Use `useCallback` for stable function references\n- Check for inline objects\u002Farrays in props\n\n**For expensive computations:**\n- Use `useMemo` to cache results\n- Move calculations outside render when possible\n\n**For large lists:**\n- Implement virtualization with react-window\n- Ensure proper unique keys (not index)\n\n**For slow initial load:**\n- Add code splitting with `React.lazy`\n- Analyze bundle size with webpack-bundle-analyzer\n- Use dynamic imports for heavy dependencies\n\n### 3. Verify Improvements\n```bash\n# Record new Profiler session\n# Compare before\u002Fafter metrics\n# Ensure optimization actually helped\n```\n\n## Common Patterns\n\n### Memoize Expensive Components\n```jsx\nimport { memo } from 'react';\n\nconst ExpensiveList = memo(({ items, onItemClick }) => {\n  return items.map(item => (\n    \u003CItem key={item.id} data={item} onClick={onItemClick} \u002F>\n  ));\n});\n```\n\n### Cache Computed Values\n```jsx\nimport { useMemo } from 'react';\n\nfunction DataTable({ items, filters }) {\n  const filteredItems = useMemo(() => {\n    return items.filter(item => filters.includes(item.category));\n  }, [items, filters]);\n\n  return \u003CTable data={filteredItems} \u002F>;\n}\n```\n\n### Stable Function References\n```jsx\nimport { useCallback } from 'react';\n\nfunction Parent() {\n  const handleClick = useCallback((id) => {\n    console.log('Clicked:', id);\n  }, []);\n\n  return \u003CMemoizedChild onClick={handleClick} \u002F>;\n}\n```\n\n### Code Split Routes\n```jsx\nimport { lazy, Suspense } from 'react';\n\nconst Dashboard = lazy(() => import('.\u002FDashboard'));\nconst Reports = lazy(() => import('.\u002FReports'));\n\nfunction App() {\n  return (\n    \u003CSuspense fallback={\u003CLoading \u002F>}>\n      \u003CRoutes>\n        \u003CRoute path=\"\u002F\" element={\u003CDashboard \u002F>} \u002F>\n        \u003CRoute path=\"\u002Freports\" element={\u003CReports \u002F>} \u002F>\n      \u003C\u002FRoutes>\n    \u003C\u002FSuspense>\n  );\n}\n```\n\n### Virtualize Large Lists\n```jsx\nimport { FixedSizeList } from 'react-window';\n\nfunction VirtualList({ items }) {\n  return (\n    \u003CFixedSizeList\n      height={600}\n      itemCount={items.length}\n      itemSize={80}\n      width=\"100%\"\n    >\n      {({ index, style }) => (\n        \u003Cdiv style={style}>{items[index].name}\u003C\u002Fdiv>\n      )}\n    \u003C\u002FFixedSizeList>\n  );\n}\n```\n\n## Common Mistakes\n\n1. **Over-memoization**: Don't memoize simple, fast components (adds overhead)\n2. **Inline objects\u002Farrays**: New references break memoization (`config={{ theme: 'dark' }}`)\n3. **Missing dependencies**: Stale closures in useCallback\u002FuseMemo\n4. **Index as key**: Breaks reconciliation when list order changes\n5. **Single large context**: Causes widespread re-renders on any update\n6. **No profiling**: Optimizing without measuring wastes time\n\n## Performance Checklist\n\nBefore optimizing:\n- [ ] Profile with React DevTools to identify bottlenecks\n- [ ] Measure baseline performance metrics\n\nOptimization targets:\n- [ ] Memoize expensive components with stable props\n- [ ] Cache computed values with useMemo (if actually expensive)\n- [ ] Use useCallback for functions passed to memoized children\n- [ ] Implement code splitting for routes and heavy components\n- [ ] Virtualize lists with >100 items\n- [ ] Provide stable keys for list items (unique IDs, not index)\n- [ ] Split state by update frequency\n- [ ] Use concurrent features (useTransition, useDeferredValue) for responsiveness\n\nAfter optimizing:\n- [ ] Profile again to verify improvements\n- [ ] Check bundle size reduction (if applicable)\n- [ ] Ensure no regressions in functionality\n\n## Resources\n\n- **React Docs - Performance**: https:\u002F\u002Freact.dev\u002Flearn\u002Frender-and-commit\n- **React DevTools**: Browser extension for profiling\n- **react-window**: https:\u002F\u002Fgithub.com\u002Fbvaughn\u002Freact-window\n- **Bundle analyzers**: webpack-bundle-analyzer, rollup-plugin-visualizer\n- **Lighthouse**: Chrome DevTools performance audit\n",{"name":5,"keywords":23,"confidence":34,"description":7,"file_patterns":35},[24,25,26,27,28,29,30,31,32,33],"React optimization","React performance","React.memo","bundle size","code splitting","lazy loading","re-render","useCallback","useMemo","virtualization",0.76,[36,37,38,39,40,41,42,43,44],"**\u002F*.spec.ts","**\u002F*.test.ts","**\u002F*.test.tsx","**\u002F*.ts","**\u002F*.tsx","**\u002Fpackage.json","**\u002Ftests\u002F**\u002F*.ts","**\u002Ftests\u002F**\u002F*.tsx","**\u002Ftsconfig.json","main","19fad977bc7e54cdf1efc7ba174c9a8c4ddfb00e",".agents\u002Fskills\u002Freact-performance-optimization","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub","https:\u002F\u002Fgithub.com\u002Fdreamofu73","2026-08-24 09:09:02",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add dreamofu73\u002FProjectHub --skill react-performance-optimization",{"tool":57,"command":58},"bunx","bunx skills add dreamofu73\u002FProjectHub --skill react-performance-optimization",{"tool":60,"command":61},"pnpm","pnpm dlx skills add dreamofu73\u002FProjectHub --skill react-performance-optimization","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002FSKILL.md",true,[65,71,75,79,83,87,91,95],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fcode-splitting.md","REFERENCE","参考文档",2843,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Freferences\u002Fcode-splitting.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fcommon-pitfalls.md",8091,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Freferences\u002Fcommon-pitfalls.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fconcurrent-features.md",3372,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Freferences\u002Fconcurrent-features.md",{"path":80,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fmemoization.md",3763,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Freferences\u002Fmemoization.md",{"path":84,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fprofiling-debugging.md",5313,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Freferences\u002Fprofiling-debugging.md",{"path":88,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fstate-management.md",3851,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Freferences\u002Fstate-management.md",{"path":92,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fvirtualization.md",2571,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Freferences\u002Fvirtualization.md",{"path":96,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":97,"sourceHtmlUrl":98},"validation\u002Frubric.yaml",1960,"https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-performance-optimization\u002Fvalidation\u002Frubric.yaml",[100,107,114,121,128,136],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":18},"01M756QWSRAE73DE51ZH3YNC6S","claude-rule-web","Claude rules for web","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fweb\u002FSKILL.md",[],[],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":18},"01M756QRYZ0ZJFA7631HNXDREV","vite","Vite build tool configuration, plugin API, SSR, and Vite 8 Rolldown migration. Use when working with Vite projects, vite.config.ts, Vite plugins, or building libraries\u002FSSR apps with Vite.","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvite\u002FSKILL.md",[],[],{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":18},"01M756QKD46R8ZAA3ZDWSEKSVQ","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-react-best-practices\u002FSKILL.md",[],[],{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":18},"01M756QGGR0KNZ7YCDRAXGHBQ3","claude-rule-typescript","Claude rules for typescript","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftypescript\u002FSKILL.md",[],[],{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":132,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":18},"01M756QD0CFNDJBCQ5ZS6YWD75","tsdown","Bundle TypeScript and JavaScript libraries with blazing-fast speed powered by Rolldown. Use when building libraries, generating type declarations, bundling for multiple formats, or migrating from tsup.","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftsdown\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftsdown\u002FSKILL.md",[],[],{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":18},"01M756Q6WRNT2E8GBPW6E89G3D","security-review","Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment\u002Fsensitive features. Provides comprehensive security checklist and patterns.","https:\u002F\u002Fgithub.com\u002Fdreamofu73\u002FProjectHub\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsecurity-review\u002FSKILL.md",[],[]]