[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ENGSVJEBKABJQPBH9VH7MD":3,"skill-same:01M6ENGSVJEBKABJQPBH9VH7MD":56},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":42,"install":43,"resources":55},"01M6ENGSVJEBKABJQPBH9VH7MD","optimize",null,"Diagnoses and fixes UI performance across loading speed, rendering, animations, images, and bundle size. Use when the user mentions slow, laggy, janky, performance, bundle size, load time, or wants a faster, smoother experience.","launchpathventures\u002Fditto-os","launchpathventures","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F248658966?v=4","01M6ENF40K8DMPD2Q4YBJX3EWK","01M6ENF4541FAB13MQFNS8RMK8",1,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Foptimize\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28],"performance","ui","bundle size","user","use","images","time","across","speed","bundle","rendering","2026-11-10 10:12:30",false,"---\nname: optimize\ndescription: Diagnoses and fixes UI performance across loading speed, rendering, animations, images, and bundle size. Use when the user mentions slow, laggy, janky, performance, bundle size, load time, or wants a faster, smoother experience.\nuser-invocable: true\nargument-hint: \"[target]\"\n---\n\nIdentify and fix performance issues to create faster, smoother user experiences.\n\n## Assess Performance Issues\n\nUnderstand current performance and identify problems:\n\n1. **Measure current state**:\n   - **Core Web Vitals**: LCP, FID\u002FINP, CLS scores\n   - **Load time**: Time to interactive, first contentful paint\n   - **Bundle size**: JavaScript, CSS, image sizes\n   - **Runtime performance**: Frame rate, memory usage, CPU usage\n   - **Network**: Request count, payload sizes, waterfall\n\n2. **Identify bottlenecks**:\n   - What's slow? (Initial load? Interactions? Animations?)\n   - What's causing it? (Large images? Expensive JavaScript? Layout thrashing?)\n   - How bad is it? (Perceivable? Annoying? Blocking?)\n   - Who's affected? (All users? Mobile only? Slow connections?)\n\n**CRITICAL**: Measure before and after. Premature optimization wastes time. Optimize what actually matters.\n\n## Optimization Strategy\n\nCreate systematic improvement plan:\n\n### Loading Performance\n\n**Optimize Images**:\n- Use modern formats (WebP, AVIF)\n- Proper sizing (don't load 3000px image for 300px display)\n- Lazy loading for below-fold images\n- Responsive images (`srcset`, `picture` element)\n- Compress images (80-85% quality is usually imperceptible)\n- Use CDN for faster delivery\n\n```html\n\u003Cimg \n  src=\"hero.webp\"\n  srcset=\"hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w\"\n  sizes=\"(max-width: 400px) 400px, (max-width: 800px) 800px, 1200px\"\n  loading=\"lazy\"\n  alt=\"Hero image\"\n\u002F>\n```\n\n**Reduce JavaScript Bundle**:\n- Code splitting (route-based, component-based)\n- Tree shaking (remove unused code)\n- Remove unused dependencies\n- Lazy load non-critical code\n- Use dynamic imports for large components\n\n```javascript\n\u002F\u002F Lazy load heavy component\nconst HeavyChart = lazy(() => import('.\u002FHeavyChart'));\n```\n\n**Optimize CSS**:\n- Remove unused CSS\n- Critical CSS inline, rest async\n- Minimize CSS files\n- Use CSS containment for independent regions\n\n**Optimize Fonts**:\n- Use `font-display: swap` or `optional`\n- Subset fonts (only characters you need)\n- Preload critical fonts\n- Use system fonts when appropriate\n- Limit font weights loaded\n\n```css\n@font-face {\n  font-family: 'CustomFont';\n  src: url('\u002Ffonts\u002Fcustom.woff2') format('woff2');\n  font-display: swap; \u002F* Show fallback immediately *\u002F\n  unicode-range: U+0020-007F; \u002F* Basic Latin only *\u002F\n}\n```\n\n**Optimize Loading Strategy**:\n- Critical resources first (async\u002Fdefer non-critical)\n- Preload critical assets\n- Prefetch likely next pages\n- Service worker for offline\u002Fcaching\n- HTTP\u002F2 or HTTP\u002F3 for multiplexing\n\n### Rendering Performance\n\n**Avoid Layout Thrashing**:\n```javascript\n\u002F\u002F ❌ Bad: Alternating reads and writes (causes reflows)\nelements.forEach(el => {\n  const height = el.offsetHeight; \u002F\u002F Read (forces layout)\n  el.style.height = height * 2; \u002F\u002F Write\n});\n\n\u002F\u002F ✅ Good: Batch reads, then batch writes\nconst heights = elements.map(el => el.offsetHeight); \u002F\u002F All reads\nelements.forEach((el, i) => {\n  el.style.height = heights[i] * 2; \u002F\u002F All writes\n});\n```\n\n**Optimize Rendering**:\n- Use CSS `contain` property for independent regions\n- Minimize DOM depth (flatter is faster)\n- Reduce DOM size (fewer elements)\n- Use `content-visibility: auto` for long lists\n- Virtual scrolling for very long lists (react-window, react-virtualized)\n\n**Reduce Paint & Composite**:\n- Use `transform` and `opacity` for animations (GPU-accelerated)\n- Avoid animating layout properties (width, height, top, left)\n- Use `will-change` sparingly for known expensive operations\n- Minimize paint areas (smaller is faster)\n\n### Animation Performance\n\n**GPU Acceleration**:\n```css\n\u002F* ✅ GPU-accelerated (fast) *\u002F\n.animated {\n  transform: translateX(100px);\n  opacity: 0.5;\n}\n\n\u002F* ❌ CPU-bound (slow) *\u002F\n.animated {\n  left: 100px;\n  width: 300px;\n}\n```\n\n**Smooth 60fps**:\n- Target 16ms per frame (60fps)\n- Use `requestAnimationFrame` for JS animations\n- Debounce\u002Fthrottle scroll handlers\n- Use CSS animations when possible\n- Avoid long-running JavaScript during animations\n\n**Intersection Observer**:\n```javascript\n\u002F\u002F Efficiently detect when elements enter viewport\nconst observer = new IntersectionObserver((entries) => {\n  entries.forEach(entry => {\n    if (entry.isIntersecting) {\n      \u002F\u002F Element is visible, lazy load or animate\n    }\n  });\n});\n```\n\n### React\u002FFramework Optimization\n\n**React-specific**:\n- Use `memo()` for expensive components\n- `useMemo()` and `useCallback()` for expensive computations\n- Virtualize long lists\n- Code split routes\n- Avoid inline function creation in render\n- Use React DevTools Profiler\n\n**Framework-agnostic**:\n- Minimize re-renders\n- Debounce expensive operations\n- Memoize computed values\n- Lazy load routes and components\n\n### Network Optimization\n\n**Reduce Requests**:\n- Combine small files\n- Use SVG sprites for icons\n- Inline small critical assets\n- Remove unused third-party scripts\n\n**Optimize APIs**:\n- Use pagination (don't load everything)\n- GraphQL to request only needed fields\n- Response compression (gzip, brotli)\n- HTTP caching headers\n- CDN for static assets\n\n**Optimize for Slow Connections**:\n- Adaptive loading based on connection (navigator.connection)\n- Optimistic UI updates\n- Request prioritization\n- Progressive enhancement\n\n## Core Web Vitals Optimization\n\n### Largest Contentful Paint (LCP \u003C 2.5s)\n- Optimize hero images\n- Inline critical CSS\n- Preload key resources\n- Use CDN\n- Server-side rendering\n\n### First Input Delay (FID \u003C 100ms) \u002F INP (\u003C 200ms)\n- Break up long tasks\n- Defer non-critical JavaScript\n- Use web workers for heavy computation\n- Reduce JavaScript execution time\n\n### Cumulative Layout Shift (CLS \u003C 0.1)\n- Set dimensions on images and videos\n- Don't inject content above existing content\n- Use `aspect-ratio` CSS property\n- Reserve space for ads\u002Fembeds\n- Avoid animations that cause layout shifts\n\n```css\n\u002F* Reserve space for image *\u002F\n.image-container {\n  aspect-ratio: 16 \u002F 9;\n}\n```\n\n## Performance Monitoring\n\n**Tools to use**:\n- Chrome DevTools (Lighthouse, Performance panel)\n- WebPageTest\n- Core Web Vitals (Chrome UX Report)\n- Bundle analyzers (webpack-bundle-analyzer)\n- Performance monitoring (Sentry, DataDog, New Relic)\n\n**Key metrics**:\n- LCP, FID\u002FINP, CLS (Core Web Vitals)\n- Time to Interactive (TTI)\n- First Contentful Paint (FCP)\n- Total Blocking Time (TBT)\n- Bundle size\n- Request count\n\n**IMPORTANT**: Measure on real devices with real network conditions. Desktop Chrome with fast connection isn't representative.\n\n**NEVER**:\n- Optimize without measuring (premature optimization)\n- Sacrifice accessibility for performance\n- Break functionality while optimizing\n- Use `will-change` everywhere (creates new layers, uses memory)\n- Lazy load above-fold content\n- Optimize micro-optimizations while ignoring major issues (optimize the biggest bottleneck first)\n- Forget about mobile performance (often slower devices, slower connections)\n\n## Verify Improvements\n\nTest that optimizations worked:\n\n- **Before\u002Fafter metrics**: Compare Lighthouse scores\n- **Real user monitoring**: Track improvements for real users\n- **Different devices**: Test on low-end Android, not just flagship iPhone\n- **Slow connections**: Throttle to 3G, test experience\n- **No regressions**: Ensure functionality still works\n- **User perception**: Does it *feel* faster?\n\nRemember: Performance is a feature. Fast experiences feel more responsive, more polished, more professional. Optimize systematically, measure ruthlessly, and prioritize user-perceived performance.","Identify and fix performance issues to create faster, smoother user experiences.\n\n## Assess Performance Issues\n\nUnderstand current performance and identify problems:\n\n1. **Measure current state**:\n   - **Core Web Vitals**: LCP, FID\u002FINP, CLS scores\n   - **Load time**: Time to interactive, first contentful paint\n   - **Bundle size**: JavaScript, CSS, image sizes\n   - **Runtime performance**: Frame rate, memory usage, CPU usage\n   - **Network**: Request count, payload sizes, waterfall\n\n2. **Identify bottlenecks**:\n   - What's slow? (Initial load? Interactions? Animations?)\n   - What's causing it? (Large images? Expensive JavaScript? Layout thrashing?)\n   - How bad is it? (Perceivable? Annoying? Blocking?)\n   - Who's affected? (All users? Mobile only? Slow connections?)\n\n**CRITICAL**: Measure before and after. Premature optimization wastes time. Optimize what actually matters.\n\n## Optimization Strategy\n\nCreate systematic improvement plan:\n\n### Loading Performance\n\n**Optimize Images**:\n- Use modern formats (WebP, AVIF)\n- Proper sizing (don't load 3000px image for 300px display)\n- Lazy loading for below-fold images\n- Responsive images (`srcset`, `picture` element)\n- Compress images (80-85% quality is usually imperceptible)\n- Use CDN for faster delivery\n\n```html\n\u003Cimg \n  src=\"hero.webp\"\n  srcset=\"hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w\"\n  sizes=\"(max-width: 400px) 400px, (max-width: 800px) 800px, 1200px\"\n  loading=\"lazy\"\n  alt=\"Hero image\"\n\u002F>\n```\n\n**Reduce JavaScript Bundle**:\n- Code splitting (route-based, component-based)\n- Tree shaking (remove unused code)\n- Remove unused dependencies\n- Lazy load non-critical code\n- Use dynamic imports for large components\n\n```javascript\n\u002F\u002F Lazy load heavy component\nconst HeavyChart = lazy(() => import('.\u002FHeavyChart'));\n```\n\n**Optimize CSS**:\n- Remove unused CSS\n- Critical CSS inline, rest async\n- Minimize CSS files\n- Use CSS containment for independent regions\n\n**Optimize Fonts**:\n- Use `font-display: swap` or `optional`\n- Subset fonts (only characters you need)\n- Preload critical fonts\n- Use system fonts when appropriate\n- Limit font weights loaded\n\n```css\n@font-face {\n  font-family: 'CustomFont';\n  src: url('\u002Ffonts\u002Fcustom.woff2') format('woff2');\n  font-display: swap; \u002F* Show fallback immediately *\u002F\n  unicode-range: U+0020-007F; \u002F* Basic Latin only *\u002F\n}\n```\n\n**Optimize Loading Strategy**:\n- Critical resources first (async\u002Fdefer non-critical)\n- Preload critical assets\n- Prefetch likely next pages\n- Service worker for offline\u002Fcaching\n- HTTP\u002F2 or HTTP\u002F3 for multiplexing\n\n### Rendering Performance\n\n**Avoid Layout Thrashing**:\n```javascript\n\u002F\u002F ❌ Bad: Alternating reads and writes (causes reflows)\nelements.forEach(el => {\n  const height = el.offsetHeight; \u002F\u002F Read (forces layout)\n  el.style.height = height * 2; \u002F\u002F Write\n});\n\n\u002F\u002F ✅ Good: Batch reads, then batch writes\nconst heights = elements.map(el => el.offsetHeight); \u002F\u002F All reads\nelements.forEach((el, i) => {\n  el.style.height = heights[i] * 2; \u002F\u002F All writes\n});\n```\n\n**Optimize Rendering**:\n- Use CSS `contain` property for independent regions\n- Minimize DOM depth (flatter is faster)\n- Reduce DOM size (fewer elements)\n- Use `content-visibility: auto` for long lists\n- Virtual scrolling for very long lists (react-window, react-virtualized)\n\n**Reduce Paint & Composite**:\n- Use `transform` and `opacity` for animations (GPU-accelerated)\n- Avoid animating layout properties (width, height, top, left)\n- Use `will-change` sparingly for known expensive operations\n- Minimize paint areas (smaller is faster)\n\n### Animation Performance\n\n**GPU Acceleration**:\n```css\n\u002F* ✅ GPU-accelerated (fast) *\u002F\n.animated {\n  transform: translateX(100px);\n  opacity: 0.5;\n}\n\n\u002F* ❌ CPU-bound (slow) *\u002F\n.animated {\n  left: 100px;\n  width: 300px;\n}\n```\n\n**Smooth 60fps**:\n- Target 16ms per frame (60fps)\n- Use `requestAnimationFrame` for JS animations\n- Debounce\u002Fthrottle scroll handlers\n- Use CSS animations when possible\n- Avoid long-running JavaScript during animations\n\n**Intersection Observer**:\n```javascript\n\u002F\u002F Efficiently detect when elements enter viewport\nconst observer = new IntersectionObserver((entries) => {\n  entries.forEach(entry => {\n    if (entry.isIntersecting) {\n      \u002F\u002F Element is visible, lazy load or animate\n    }\n  });\n});\n```\n\n### React\u002FFramework Optimization\n\n**React-specific**:\n- Use `memo()` for expensive components\n- `useMemo()` and `useCallback()` for expensive computations\n- Virtualize long lists\n- Code split routes\n- Avoid inline function creation in render\n- Use React DevTools Profiler\n\n**Framework-agnostic**:\n- Minimize re-renders\n- Debounce expensive operations\n- Memoize computed values\n- Lazy load routes and components\n\n### Network Optimization\n\n**Reduce Requests**:\n- Combine small files\n- Use SVG sprites for icons\n- Inline small critical assets\n- Remove unused third-party scripts\n\n**Optimize APIs**:\n- Use pagination (don't load everything)\n- GraphQL to request only needed fields\n- Response compression (gzip, brotli)\n- HTTP caching headers\n- CDN for static assets\n\n**Optimize for Slow Connections**:\n- Adaptive loading based on connection (navigator.connection)\n- Optimistic UI updates\n- Request prioritization\n- Progressive enhancement\n\n## Core Web Vitals Optimization\n\n### Largest Contentful Paint (LCP \u003C 2.5s)\n- Optimize hero images\n- Inline critical CSS\n- Preload key resources\n- Use CDN\n- Server-side rendering\n\n### First Input Delay (FID \u003C 100ms) \u002F INP (\u003C 200ms)\n- Break up long tasks\n- Defer non-critical JavaScript\n- Use web workers for heavy computation\n- Reduce JavaScript execution time\n\n### Cumulative Layout Shift (CLS \u003C 0.1)\n- Set dimensions on images and videos\n- Don't inject content above existing content\n- Use `aspect-ratio` CSS property\n- Reserve space for ads\u002Fembeds\n- Avoid animations that cause layout shifts\n\n```css\n\u002F* Reserve space for image *\u002F\n.image-container {\n  aspect-ratio: 16 \u002F 9;\n}\n```\n\n## Performance Monitoring\n\n**Tools to use**:\n- Chrome DevTools (Lighthouse, Performance panel)\n- WebPageTest\n- Core Web Vitals (Chrome UX Report)\n- Bundle analyzers (webpack-bundle-analyzer)\n- Performance monitoring (Sentry, DataDog, New Relic)\n\n**Key metrics**:\n- LCP, FID\u002FINP, CLS (Core Web Vitals)\n- Time to Interactive (TTI)\n- First Contentful Paint (FCP)\n- Total Blocking Time (TBT)\n- Bundle size\n- Request count\n\n**IMPORTANT**: Measure on real devices with real network conditions. Desktop Chrome with fast connection isn't representative.\n\n**NEVER**:\n- Optimize without measuring (premature optimization)\n- Sacrifice accessibility for performance\n- Break functionality while optimizing\n- Use `will-change` everywhere (creates new layers, uses memory)\n- Lazy load above-fold content\n- Optimize micro-optimizations while ignoring major issues (optimize the biggest bottleneck first)\n- Forget about mobile performance (often slower devices, slower connections)\n\n## Verify Improvements\n\nTest that optimizations worked:\n\n- **Before\u002Fafter metrics**: Compare Lighthouse scores\n- **Real user monitoring**: Track improvements for real users\n- **Different devices**: Test on low-end Android, not just flagship iPhone\n- **Slow connections**: Throttle to 3G, test experience\n- **No regressions**: Ensure functionality still works\n- **User perception**: Does it *feel* faster?\n\nRemember: Performance is a feature. Fast experiences feel more responsive, more polished, more professional. Optimize systematically, measure ruthlessly, and prioritize user-perceived performance.",{"name":5,"description":7,"argument-hint":34,"user-invocable":35},"[target]",true,"main","b033b1a8919dbb7c98e97cf24547a2416f65b53e",".agents\u002Fskills\u002Foptimize",0,"https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os","https:\u002F\u002Fgithub.com\u002Flaunchpathventures","2026-06-08 19:31:48",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":35},[45,48,51],{"tool":46,"command":47},"npx","npx skills add launchpathventures\u002Fditto-os --skill optimize",{"tool":49,"command":50},"bunx","bunx skills add launchpathventures\u002Fditto-os --skill optimize",{"tool":52,"command":53},"pnpm","pnpm dlx skills add launchpathventures\u002Fditto-os --skill optimize","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Foptimize\u002FSKILL.md",[],[57,78,96,117,122,127],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":29},"01M6ENJ12VWSMRZ4MW8550AG69","drain-queue","Cross-brief autopilot — claim the oldest ready brief whose Brief NNN deps are satisfied via atomic push, run \u002Fautobuild on each, stop when the queue is empty, blocked, or hits a failure.","https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdrain-queue\u002FSKILL.md",[],[64,65,66,67,68,69,70,71,72,73,74,75,76,77],"drain queue","queue","push","autobuild","via","autopilot","empty","claim","max","stop","ready","deps","brief","run",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":29},"01M6ENHXG16WJ4PN8CJHZYNT5T","dev-review","Post-coding exhaustive review — catches integration bugs, runtime crashes, performance issues, and convention drift across all changed files","https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdev-review\u002FSKILL.md",[],[85,86,87,18,88,89,90,25,91,92,93,94,95],"dev","review","dev review","issues","post","runtime","drift","files","fix","coding","integration",{"skillNo":97,"name":67,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":29},"01M6ENHSZBZFSB69TSV2TWGRJ1","End-to-end autopilot for a single brief — pre-flight, \u002Fdev-builder, fresh-subagent reviewers, push, open PR, mark **PR:** line on feature branch. Stops at the human merge gate.","https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fautobuild\u002FSKILL.md",[],[67,102,103,76,104,105,106,107,108,69,109,110,111,112,113,114,115,85,116,66],"subagent","merge","open","line","name","merge gate","fresh","end","branch","open pr","feature","human","gate","builder","pr",{"skillNo":118,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":29},"01M6ENHPWYMN66EYQBV56HP9CW","https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.catalyst\u002Fskills\u002Fdrain-queue\u002FSKILL.md",[],[65,64,74,67,68,69,70,71,72,73,75,76,66,77],{"skillNo":123,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":29},"01M6ENHM3W1A0MY44ZD8D4NWVF","https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.catalyst\u002Fskills\u002Fdev-review\u002FSKILL.md",[],[87,85,86,95,88,18,94,89,90,25,91,92,93],{"skillNo":128,"name":67,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":29},"01M6ENHF62C7G6BC4YG44RWFB0","https:\u002F\u002Fgithub.com\u002Flaunchpathventures\u002Fditto-os\u002Fblob\u002Fmain\u002F.catalyst\u002Fskills\u002Fautobuild\u002FSKILL.md",[],[67,114,105,106,108,69,109,112,113,115,110,102,107,104,76,111,66,85,116,103]]