[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-Significant-Gravitas-AutoGPT-.claude-skills-vercel-react-best-practices":3},{"error":4,"detail":5,"metadata":212,"markdownContent":214,"rawMarkdown":209},false,{"repo_full_name":6,"owner":7,"repo_name":8,"repo_forks":9,"skill_path":10,"repo_stars":11,"name":12,"category_id":13,"description":14,"file_tree":15,"skill_md_content":209,"skill_id":210,"skill_key":211},"Significant-Gravitas/AutoGPT","Significant-Gravitas","AutoGPT",46235,".claude/skills/vercel-react-best-practices",182590,"vercel-react-best-practices",1,"React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.",[16,21,25],{"name":17,"path":18,"size":19,"type":20},"AGENTS.md",".claude/skills/vercel-react-best-practices/AGENTS.md",60535,"file",{"name":22,"path":23,"size":24,"type":20},"SKILL.md",".claude/skills/vercel-react-best-practices/SKILL.md",5316,{"name":26,"path":27,"type":28,"children":29},"rules",".claude/skills/vercel-react-best-practices/rules","folder",[30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205],{"name":31,"path":32,"size":33,"type":20},"advanced-event-handler-refs.md",".claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md",1478,{"name":35,"path":36,"size":37,"type":20},"advanced-use-latest.md",".claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md",1191,{"name":39,"path":40,"size":41,"type":20},"async-api-routes.md",".claude/skills/vercel-react-best-practices/rules/async-api-routes.md",1125,{"name":43,"path":44,"size":45,"type":20},"async-defer-await.md",".claude/skills/vercel-react-best-practices/rules/async-defer-await.md",2028,{"name":47,"path":48,"size":49,"type":20},"async-dependencies.md",".claude/skills/vercel-react-best-practices/rules/async-dependencies.md",942,{"name":51,"path":52,"size":53,"type":20},"async-parallel.md",".claude/skills/vercel-react-best-practices/rules/async-parallel.md",654,{"name":55,"path":56,"size":57,"type":20},"async-suspense-boundaries.md",".claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md",2510,{"name":59,"path":60,"size":61,"type":20},"bundle-barrel-imports.md",".claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md",2370,{"name":63,"path":64,"size":65,"type":20},"bundle-conditional.md",".claude/skills/vercel-react-best-practices/rules/bundle-conditional.md",866,{"name":67,"path":68,"size":69,"type":20},"bundle-defer-third-party.md",".claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md",920,{"name":71,"path":72,"size":73,"type":20},"bundle-dynamic-imports.md",".claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md",791,{"name":75,"path":76,"size":77,"type":20},"bundle-preload.md",".claude/skills/vercel-react-best-practices/rules/bundle-preload.md",1149,{"name":79,"path":80,"size":81,"type":20},"client-event-listeners.md",".claude/skills/vercel-react-best-practices/rules/client-event-listeners.md",1969,{"name":83,"path":84,"size":85,"type":20},"client-swr-dedup.md",".claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md",1159,{"name":87,"path":88,"size":89,"type":20},"js-batch-dom-css.md",".claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md",1902,{"name":91,"path":92,"size":93,"type":20},"js-cache-function-results.md",".claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md",1949,{"name":95,"path":96,"size":97,"type":20},"js-cache-property-access.md",".claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md",532,{"name":99,"path":100,"size":101,"type":20},"js-cache-storage.md",".claude/skills/vercel-react-best-practices/rules/js-cache-storage.md",1651,{"name":103,"path":104,"size":105,"type":20},"js-combine-iterations.md",".claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md",753,{"name":107,"path":108,"size":109,"type":20},"js-early-exit.md",".claude/skills/vercel-react-best-practices/rules/js-early-exit.md",1133,{"name":111,"path":112,"size":113,"type":20},"js-hoist-regexp.md",".claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md",1028,{"name":115,"path":116,"size":117,"type":20},"js-index-maps.md",".claude/skills/vercel-react-best-practices/rules/js-index-maps.md",837,{"name":119,"path":120,"size":121,"type":20},"js-length-check-first.md",".claude/skills/vercel-react-best-practices/rules/js-length-check-first.md",1752,{"name":123,"path":124,"size":125,"type":20},"js-min-max-loop.md",".claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md",2105,{"name":127,"path":128,"size":97,"type":20},"js-set-map-lookups.md",".claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md",{"name":130,"path":131,"size":132,"type":20},"js-tosorted-immutable.md",".claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md",1782,{"name":134,"path":135,"size":136,"type":20},"rendering-activity.md",".claude/skills/vercel-react-best-practices/rules/rendering-activity.md",564,{"name":138,"path":139,"size":140,"type":20},"rendering-animate-svg-wrapper.md",".claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md",1185,{"name":142,"path":143,"size":144,"type":20},"rendering-conditional-render.md",".claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md",980,{"name":146,"path":147,"size":148,"type":20},"rendering-content-visibility.md",".claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md",815,{"name":150,"path":151,"size":152,"type":20},"rendering-hoist-jsx.md",".claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md",1039,{"name":154,"path":155,"size":156,"type":20},"rendering-hydration-no-flicker.md",".claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md",2308,{"name":158,"path":159,"size":160,"type":20},"rendering-svg-precision.md",".claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md",588,{"name":162,"path":163,"size":164,"type":20},"rerender-defer-reads.md",".claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md",973,{"name":166,"path":167,"size":168,"type":20},"rerender-dependencies.md",".claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md",824,{"name":170,"path":171,"size":172,"type":20},"rerender-derived-state.md",".claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md",724,{"name":174,"path":175,"size":176,"type":20},"rerender-functional-setstate.md",".claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md",2968,{"name":178,"path":179,"size":180,"type":20},"rerender-lazy-state-init.md",".claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md",2016,{"name":182,"path":183,"size":184,"type":20},"rerender-memo.md",".claude/skills/vercel-react-best-practices/rules/rerender-memo.md",1148,{"name":186,"path":187,"size":188,"type":20},"rerender-transitions.md",".claude/skills/vercel-react-best-practices/rules/rerender-transitions.md",1055,{"name":190,"path":191,"size":192,"type":20},"server-after-nonblocking.md",".claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md",2012,{"name":194,"path":195,"size":196,"type":20},"server-cache-lru.md",".claude/skills/vercel-react-best-practices/rules/server-cache-lru.md",1353,{"name":198,"path":199,"size":200,"type":20},"server-cache-react.md",".claude/skills/vercel-react-best-practices/rules/server-cache-react.md",681,{"name":202,"path":203,"size":204,"type":20},"server-parallel-fetching.md",".claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md",1515,{"name":206,"path":207,"size":208,"type":20},"server-serialization.md",".claude/skills/vercel-react-best-practices/rules/server-serialization.md",996,"---\nname: vercel-react-best-practices\ndescription: React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.\nlicense: MIT\nmetadata:\n  author: vercel\n  version: \"1.0.0\"\n---\n\n# Vercel React Best Practices\n\nComprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.\n\n## When to Apply\n\nReference these guidelines when:\n- Writing new React components or Next.js pages\n- Implementing data fetching (client or server-side)\n- Reviewing code for performance issues\n- Refactoring existing React/Next.js code\n- Optimizing bundle size or load times\n\n## Rule Categories by Priority\n\n| Priority | Category | Impact | Prefix |\n|----------|----------|--------|--------|\n| 1 | Eliminating Waterfalls | CRITICAL | `async-` |\n| 2 | Bundle Size Optimization | CRITICAL | `bundle-` |\n| 3 | Server-Side Performance | HIGH | `server-` |\n| 4 | Client-Side Data Fetching | MEDIUM-HIGH | `client-` |\n| 5 | Re-render Optimization | MEDIUM | `rerender-` |\n| 6 | Rendering Performance | MEDIUM | `rendering-` |\n| 7 | JavaScript Performance | LOW-MEDIUM | `js-` |\n| 8 | Advanced Patterns | LOW | `advanced-` |\n\n## Quick Reference\n\n### 1. Eliminating Waterfalls (CRITICAL)\n\n- `async-defer-await` - Move await into branches where actually used\n- `async-parallel` - Use Promise.all() for independent operations\n- `async-dependencies` - Use better-all for partial dependencies\n- `async-api-routes` - Start promises early, await late in API routes\n- `async-suspense-boundaries` - Use Suspense to stream content\n\n### 2. Bundle Size Optimization (CRITICAL)\n\n- `bundle-barrel-imports` - Import directly, avoid barrel files\n- `bundle-dynamic-imports` - Use next/dynamic for heavy components\n- `bundle-defer-third-party` - Load analytics/logging after hydration\n- `bundle-conditional` - Load modules only when feature is activated\n- `bundle-preload` - Preload on hover/focus for perceived speed\n\n### 3. Server-Side Performance (HIGH)\n\n- `server-cache-react` - Use React.cache() for per-request deduplication\n- `server-cache-lru` - Use LRU cache for cross-request caching\n- `server-serialization` - Minimize data passed to client components\n- `server-parallel-fetching` - Restructure components to parallelize fetches\n- `server-after-nonblocking` - Use after() for non-blocking operations\n\n### 4. Client-Side Data Fetching (MEDIUM-HIGH)\n\n- `client-swr-dedup` - Use SWR for automatic request deduplication\n- `client-event-listeners` - Deduplicate global event listeners\n\n### 5. Re-render Optimization (MEDIUM)\n\n- `rerender-defer-reads` - Don't subscribe to state only used in callbacks\n- `rerender-memo` - Extract expensive work into memoized components\n- `rerender-dependencies` - Use primitive dependencies in effects\n- `rerender-derived-state` - Subscribe to derived booleans, not raw values\n- `rerender-functional-setstate` - Use functional setState for stable callbacks\n- `rerender-lazy-state-init` - Pass function to useState for expensive values\n- `rerender-transitions` - Use startTransition for non-urgent updates\n\n### 6. Rendering Performance (MEDIUM)\n\n- `rendering-animate-svg-wrapper` - Animate div wrapper, not SVG element\n- `rendering-content-visibility` - Use content-visibility for long lists\n- `rendering-hoist-jsx` - Extract static JSX outside components\n- `rendering-svg-precision` - Reduce SVG coordinate precision\n- `rendering-hydration-no-flicker` - Use inline script for client-only data\n- `rendering-activity` - Use Activity component for show/hide\n- `rendering-conditional-render` - Use ternary, not && for conditionals\n\n### 7. JavaScript Performance (LOW-MEDIUM)\n\n- `js-batch-dom-css` - Group CSS changes via classes or cssText\n- `js-index-maps` - Build Map for repeated lookups\n- `js-cache-property-access` - Cache object properties in loops\n- `js-cache-function-results` - Cache function results in module-level Map\n- `js-cache-storage` - Cache localStorage/sessionStorage reads\n- `js-combine-iterations` - Combine multiple filter/map into one loop\n- `js-length-check-first` - Check array length before expensive comparison\n- `js-early-exit` - Return early from functions\n- `js-hoist-regexp` - Hoist RegExp creation outside loops\n- `js-min-max-loop` - Use loop for min/max instead of sort\n- `js-set-map-lookups` - Use Set/Map for O(1) lookups\n- `js-tosorted-immutable` - Use toSorted() for immutability\n\n### 8. Advanced Patterns (LOW)\n\n- `advanced-event-handler-refs` - Store event handlers in refs\n- `advanced-use-latest` - useLatest for stable callback refs\n\n## How to Use\n\nRead individual rule files for detailed explanations and code examples:\n\n```\nrules/async-parallel.md\nrules/bundle-barrel-imports.md\nrules/_sections.md\n```\n\nEach rule file contains:\n- Brief explanation of why it matters\n- Incorrect code example with explanation\n- Correct code example with explanation\n- Additional context and references\n\n## Full Compiled Document\n\nFor the complete guide with all rules expanded: `AGENTS.md`\n","9f16f585-1d88-5bdd-82a6-b69e00f47da2","Significant-Gravitas-AutoGPT-.claude-skills-vercel-react-best-practices",{"name":12,"description":14,"license":213},"MIT","\u003Ch1>Vercel React Best Practices\u003C/h1>\n\u003Cp>Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.\u003C/p>\n\u003Ch2>When to Apply\u003C/h2>\n\u003Cp>Reference these guidelines when:\u003C/p>\n\u003Cul>\n\u003Cli>Writing new React components or Next.js pages\u003C/li>\n\u003Cli>Implementing data fetching (client or server-side)\u003C/li>\n\u003Cli>Reviewing code for performance issues\u003C/li>\n\u003Cli>Refactoring existing React/Next.js code\u003C/li>\n\u003Cli>Optimizing bundle size or load times\u003C/li>\n\u003C/ul>\n\u003Ch2>Rule Categories by Priority\u003C/h2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Priority\u003C/th>\n\u003Cth>Category\u003C/th>\n\u003Cth>Impact\u003C/th>\n\u003Cth>Prefix\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>1\u003C/td>\n\u003Ctd>Eliminating Waterfalls\u003C/td>\n\u003Ctd>CRITICAL\u003C/td>\n\u003Ctd>\u003Ccode>async-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>2\u003C/td>\n\u003Ctd>Bundle Size Optimization\u003C/td>\n\u003Ctd>CRITICAL\u003C/td>\n\u003Ctd>\u003Ccode>bundle-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>3\u003C/td>\n\u003Ctd>Server-Side Performance\u003C/td>\n\u003Ctd>HIGH\u003C/td>\n\u003Ctd>\u003Ccode>server-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>4\u003C/td>\n\u003Ctd>Client-Side Data Fetching\u003C/td>\n\u003Ctd>MEDIUM-HIGH\u003C/td>\n\u003Ctd>\u003Ccode>client-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>5\u003C/td>\n\u003Ctd>Re-render Optimization\u003C/td>\n\u003Ctd>MEDIUM\u003C/td>\n\u003Ctd>\u003Ccode>rerender-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>6\u003C/td>\n\u003Ctd>Rendering Performance\u003C/td>\n\u003Ctd>MEDIUM\u003C/td>\n\u003Ctd>\u003Ccode>rendering-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>7\u003C/td>\n\u003Ctd>JavaScript Performance\u003C/td>\n\u003Ctd>LOW-MEDIUM\u003C/td>\n\u003Ctd>\u003Ccode>js-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>8\u003C/td>\n\u003Ctd>Advanced Patterns\u003C/td>\n\u003Ctd>LOW\u003C/td>\n\u003Ctd>\u003Ccode>advanced-\u003C/code>\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Ch2>Quick Reference\u003C/h2>\n\u003Ch3>1. Eliminating Waterfalls (CRITICAL)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>async-defer-await\u003C/code> - Move await into branches where actually used\u003C/li>\n\u003Cli>\u003Ccode>async-parallel\u003C/code> - Use Promise.all() for independent operations\u003C/li>\n\u003Cli>\u003Ccode>async-dependencies\u003C/code> - Use better-all for partial dependencies\u003C/li>\n\u003Cli>\u003Ccode>async-api-routes\u003C/code> - Start promises early, await late in API routes\u003C/li>\n\u003Cli>\u003Ccode>async-suspense-boundaries\u003C/code> - Use Suspense to stream content\u003C/li>\n\u003C/ul>\n\u003Ch3>2. Bundle Size Optimization (CRITICAL)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>bundle-barrel-imports\u003C/code> - Import directly, avoid barrel files\u003C/li>\n\u003Cli>\u003Ccode>bundle-dynamic-imports\u003C/code> - Use next/dynamic for heavy components\u003C/li>\n\u003Cli>\u003Ccode>bundle-defer-third-party\u003C/code> - Load analytics/logging after hydration\u003C/li>\n\u003Cli>\u003Ccode>bundle-conditional\u003C/code> - Load modules only when feature is activated\u003C/li>\n\u003Cli>\u003Ccode>bundle-preload\u003C/code> - Preload on hover/focus for perceived speed\u003C/li>\n\u003C/ul>\n\u003Ch3>3. Server-Side Performance (HIGH)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>server-cache-react\u003C/code> - Use React.cache() for per-request deduplication\u003C/li>\n\u003Cli>\u003Ccode>server-cache-lru\u003C/code> - Use LRU cache for cross-request caching\u003C/li>\n\u003Cli>\u003Ccode>server-serialization\u003C/code> - Minimize data passed to client components\u003C/li>\n\u003Cli>\u003Ccode>server-parallel-fetching\u003C/code> - Restructure components to parallelize fetches\u003C/li>\n\u003Cli>\u003Ccode>server-after-nonblocking\u003C/code> - Use after() for non-blocking operations\u003C/li>\n\u003C/ul>\n\u003Ch3>4. Client-Side Data Fetching (MEDIUM-HIGH)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>client-swr-dedup\u003C/code> - Use SWR for automatic request deduplication\u003C/li>\n\u003Cli>\u003Ccode>client-event-listeners\u003C/code> - Deduplicate global event listeners\u003C/li>\n\u003C/ul>\n\u003Ch3>5. Re-render Optimization (MEDIUM)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>rerender-defer-reads\u003C/code> - Don&#39;t subscribe to state only used in callbacks\u003C/li>\n\u003Cli>\u003Ccode>rerender-memo\u003C/code> - Extract expensive work into memoized components\u003C/li>\n\u003Cli>\u003Ccode>rerender-dependencies\u003C/code> - Use primitive dependencies in effects\u003C/li>\n\u003Cli>\u003Ccode>rerender-derived-state\u003C/code> - Subscribe to derived booleans, not raw values\u003C/li>\n\u003Cli>\u003Ccode>rerender-functional-setstate\u003C/code> - Use functional setState for stable callbacks\u003C/li>\n\u003Cli>\u003Ccode>rerender-lazy-state-init\u003C/code> - Pass function to useState for expensive values\u003C/li>\n\u003Cli>\u003Ccode>rerender-transitions\u003C/code> - Use startTransition for non-urgent updates\u003C/li>\n\u003C/ul>\n\u003Ch3>6. Rendering Performance (MEDIUM)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>rendering-animate-svg-wrapper\u003C/code> - Animate div wrapper, not SVG element\u003C/li>\n\u003Cli>\u003Ccode>rendering-content-visibility\u003C/code> - Use content-visibility for long lists\u003C/li>\n\u003Cli>\u003Ccode>rendering-hoist-jsx\u003C/code> - Extract static JSX outside components\u003C/li>\n\u003Cli>\u003Ccode>rendering-svg-precision\u003C/code> - Reduce SVG coordinate precision\u003C/li>\n\u003Cli>\u003Ccode>rendering-hydration-no-flicker\u003C/code> - Use inline script for client-only data\u003C/li>\n\u003Cli>\u003Ccode>rendering-activity\u003C/code> - Use Activity component for show/hide\u003C/li>\n\u003Cli>\u003Ccode>rendering-conditional-render\u003C/code> - Use ternary, not &amp;&amp; for conditionals\u003C/li>\n\u003C/ul>\n\u003Ch3>7. JavaScript Performance (LOW-MEDIUM)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>js-batch-dom-css\u003C/code> - Group CSS changes via classes or cssText\u003C/li>\n\u003Cli>\u003Ccode>js-index-maps\u003C/code> - Build Map for repeated lookups\u003C/li>\n\u003Cli>\u003Ccode>js-cache-property-access\u003C/code> - Cache object properties in loops\u003C/li>\n\u003Cli>\u003Ccode>js-cache-function-results\u003C/code> - Cache function results in module-level Map\u003C/li>\n\u003Cli>\u003Ccode>js-cache-storage\u003C/code> - Cache localStorage/sessionStorage reads\u003C/li>\n\u003Cli>\u003Ccode>js-combine-iterations\u003C/code> - Combine multiple filter/map into one loop\u003C/li>\n\u003Cli>\u003Ccode>js-length-check-first\u003C/code> - Check array length before expensive comparison\u003C/li>\n\u003Cli>\u003Ccode>js-early-exit\u003C/code> - Return early from functions\u003C/li>\n\u003Cli>\u003Ccode>js-hoist-regexp\u003C/code> - Hoist RegExp creation outside loops\u003C/li>\n\u003Cli>\u003Ccode>js-min-max-loop\u003C/code> - Use loop for min/max instead of sort\u003C/li>\n\u003Cli>\u003Ccode>js-set-map-lookups\u003C/code> - Use Set/Map for O(1) lookups\u003C/li>\n\u003Cli>\u003Ccode>js-tosorted-immutable\u003C/code> - Use toSorted() for immutability\u003C/li>\n\u003C/ul>\n\u003Ch3>8. Advanced Patterns (LOW)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Ccode>advanced-event-handler-refs\u003C/code> - Store event handlers in refs\u003C/li>\n\u003Cli>\u003Ccode>advanced-use-latest\u003C/code> - useLatest for stable callback refs\u003C/li>\n\u003C/ul>\n\u003Ch2>How to Use\u003C/h2>\n\u003Cp>Read individual rule files for detailed explanations and code examples:\u003C/p>\n\u003Cdiv class=\"md-code-block\">\u003Cpre>\u003Ccode class=\"hljs language-plaintext\">rules/async-parallel.md\nrules/bundle-barrel-imports.md\nrules/_sections.md\u003C/code>\u003C/pre>\u003C/div>\u003Cp>Each rule file contains:\u003C/p>\n\u003Cul>\n\u003Cli>Brief explanation of why it matters\u003C/li>\n\u003Cli>Incorrect code example with explanation\u003C/li>\n\u003Cli>Correct code example with explanation\u003C/li>\n\u003Cli>Additional context and references\u003C/li>\n\u003C/ul>\n\u003Ch2>Full Compiled Document\u003C/h2>\n\u003Cp>For the complete guide with all rules expanded: \u003Ccode>AGENTS.md\u003C/code>\u003C/p>\n"]