Not in the top 1,000 by GitHub stars
PatternsDev/skills
Agent skills for https://patterns.dev
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
javascript/bundle-splitting/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/command-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/compression/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/dynamic-import/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/factory-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/flyweight-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/import-on-interaction/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/import-on-visibility/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/islands-architecture/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/js-performance-patterns/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/loading-sequence/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/mediator-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/mixin-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/module-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/observer-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/prefetch/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/preload/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/prototype-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/provider-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/proxy-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/prpl/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/route-based/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/singleton-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/static-import/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/third-party/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/tree-shaking/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/view-transitions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/virtual-lists/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
javascript/vite-bundle-optimization/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/ai-ui-patterns/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/client-side-rendering/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/compound-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/hoc-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/hooks-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/incremental-static-rendering/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/presentational-container-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/progressive-hydration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/react-2026/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/react-composition-2026/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/react-data-fetching/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/react-render-optimization/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/react-selective-hydration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/react-server-components/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/render-props-pattern/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/server-side-rendering/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/static-rendering/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
react/streaming-ssr/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/async-components/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/components/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/composables/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/container-presentational/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/data-provider/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/dynamic-components/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/provide-inject/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/render-functions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/renderless-components/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/script-setup/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
vue/state-management/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
48bf58a488cd → 48bf58a488cd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 48bf58a488cd
No earlier version was observed for comparison.
Heat
0.4- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- bundle-splitting
javascript/bundle-splitting - command-pattern
javascript/command-pattern - compression
javascript/compression - dynamic-import
javascript/dynamic-import - factory-pattern
javascript/factory-pattern - flyweight-pattern
javascript/flyweight-pattern - import-on-interaction
javascript/import-on-interaction - import-on-visibility
javascript/import-on-visibility - islands-architecture
javascript/islands-architecture - js-performance-patterns
javascript/js-performance-patterns - loading-sequence
javascript/loading-sequence - mediator-pattern
javascript/mediator-pattern - mixin-pattern
javascript/mixin-pattern - module-pattern
javascript/module-pattern - observer-pattern
javascript/observer-pattern - prefetch
javascript/prefetch - preload
javascript/preload - prototype-pattern
javascript/prototype-pattern - provider-pattern
javascript/provider-pattern - proxy-pattern
javascript/proxy-pattern - prpl
javascript/prpl - route-based
javascript/route-based - singleton-pattern
javascript/singleton-pattern - static-import
javascript/static-import - third-party
javascript/third-party - tree-shaking
javascript/tree-shaking - view-transitions
javascript/view-transitions - virtual-lists
javascript/virtual-lists - vite-bundle-optimization
javascript/vite-bundle-optimization - ai-ui-patterns
react/ai-ui-patterns - client-side-rendering
react/client-side-rendering - compound-pattern
react/compound-pattern - hoc-pattern
react/hoc-pattern - hooks-pattern
react/hooks-pattern - incremental-static-rendering
react/incremental-static-rendering - presentational-container-pattern
react/presentational-container-pattern - progressive-hydration
react/progressive-hydration - react-2026
react/react-2026 - react-composition-2026
react/react-composition-2026 - react-data-fetching
react/react-data-fetching - react-render-optimization
react/react-render-optimization - react-selective-hydration
react/react-selective-hydration - react-server-components
react/react-server-components - render-props-pattern
react/render-props-pattern - server-side-rendering
react/server-side-rendering - static-rendering
react/static-rendering - streaming-ssr
react/streaming-ssr - async-components
vue/async-components - components
vue/components - composables
vue/composables - container-presentational
vue/container-presentational - data-provider
vue/data-provider - dynamic-components
vue/dynamic-components - provide-inject
vue/provide-inject - render-functions
vue/render-functions - renderless-components
vue/renderless-components - script-setup
vue/script-setup - state-management
vue/state-management
How it works
bundle-splitting
When your agent uses it
Teaches bundle splitting techniques for web performance. Use when your application has a large JavaScript bundle that affects load times or when you need to reduce FCP/LCP.
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
968 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,623 bytesSKILL.mdcore4,623 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcommand-pattern
When your agent uses it
Teaches the command pattern for decoupling task execution from invocation. Use when you need undo/redo functionality, queued operations, or want to decouple the object that invokes an operation from the one that performs it.
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
1,120 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,980 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcompression
When your agent uses it
Teaches JavaScript compression techniques including Gzip and Brotli. Use when optimizing network transfer times or configuring server-side compression for production builds.
What it loads into context
Frontmatter
98 tokensAlways available to the agent
SKILL.md
4,672 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore22,120 bytesSKILL.mdcore22,120 bytesSKILL.mdcore22,120 bytesSKILL.mdcore22,120 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdynamic-import
When your agent uses it
Teaches dynamic import() for on-demand code loading. Use when you need to reduce initial bundle size by lazily loading modules that aren't required at startup.
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
899 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,101 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfactory-pattern
When your agent uses it
Teaches the factory pattern for flexible object creation. Use when you need to create objects dynamically without using the new keyword or when object creation logic should be centralized.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
812 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore3,674 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubflyweight-pattern
When your agent uses it
Teaches the flyweight pattern for memory optimization. Use when your application creates large numbers of similar objects and memory consumption is a concern.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
1,152 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,882 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubimport-on-interaction
When your agent uses it
Teaches interaction-based lazy loading for non-critical resources. Use when you have heavy components or libraries that are only needed after user interaction like clicks, hovers, or form input.
What it loads into context
Frontmatter
109 tokensAlways available to the agent
SKILL.md
4,081 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore18,814 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubimport-on-visibility
When your agent uses it
Teaches visibility-based lazy loading using Intersection Observer. Use when you have below-the-fold components or images that don't need to load until the user scrolls to them.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
509 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore2,406 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubislands-architecture
When your agent uses it
Teaches the islands architecture pattern for partial hydration. Use when building content-heavy sites where most of the page is static and only small regions need interactivity.
What it loads into context
Frontmatter
103 tokensAlways available to the agent
SKILL.md
2,640 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore12,961 bytesSKILL.mdcore12,961 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubjs-performance-patterns
When your agent uses it
Provides framework-agnostic JavaScript runtime performance patterns. Use when optimizing hot paths, loops, DOM operations, caching, or data structure choices in performance-critical code.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
2,775 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore11,188 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubloading-sequence
When your agent uses it
Teaches resource loading sequence optimization for Core Web Vitals. Use when you need to improve FCP, LCP, or FID by reordering how critical resources are discovered and loaded.
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
4,632 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore21,307 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubmediator-pattern
When your agent uses it
Teaches the mediator pattern for centralized component communication. Use when multiple components need to communicate and direct coupling between them creates complexity or tight dependencies.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
1,025 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,870 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubmixin-pattern
When your agent uses it
Teaches the mixin pattern for sharing functionality without inheritance. Use when you need to add reusable behavior to multiple objects or classes that don't share a common ancestor.
What it loads into context
Frontmatter
90 tokensAlways available to the agent
SKILL.md
1,442 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,060 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubmodule-pattern
When your agent uses it
Teaches the module pattern for code organization and encapsulation. Use when structuring JavaScript into reusable, maintainable pieces with clear public and private boundaries.
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
2,186 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore9,522 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubobserver-pattern
When your agent uses it
Teaches the observer pattern for event-driven communication. Use when you need decoupled publish/subscribe behavior where multiple parts of your system react to state changes or events.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
1,550 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore7,158 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubprefetch
When your agent uses it
Teaches resource prefetching strategies for faster navigation. Use when you can predict which resources the user will need next and want to load them during idle time.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,131 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,985 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubpreload
When your agent uses it
Teaches resource preloading to prioritize critical assets. Use when critical resources like fonts, hero images, or key scripts are discovered late in the loading waterfall.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
2,146 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore9,193 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubprototype-pattern
When your agent uses it
Teaches the prototype pattern for property sharing via the prototype chain. Use when creating many objects of the same type that should share methods or properties efficiently.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,213 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore5,412 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubprovider-pattern
When your agent uses it
Teaches the provider pattern for sharing data across component trees. Use when multiple nested components need access to the same data and prop drilling becomes unwieldy.
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
2,936 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore12,887 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubproxy-pattern
When your agent uses it
Teaches the proxy pattern for intercepting object operations. Use when you need validation, logging, formatting, or access control on property access, assignment, or function invocation.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
1,617 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,979 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubprpl
When your agent uses it
Teaches the PRPL pattern for optimizing initial page load. Use when building Progressive Web Apps or when you need to push critical resources, render the initial route, pre-cache remaining routes, and lazy-load on demand.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
1,509 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore7,685 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubroute-based
When your agent uses it
Teaches route-based code splitting for single-page applications. Use when different routes load distinct feature sets and you want to avoid loading all route code upfront.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
420 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore2,044 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubsingleton-pattern
When your agent uses it
Teaches the singleton pattern for managing a single shared instance. Use when exactly one instance of a class or object is needed to coordinate actions across your application.
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
2,490 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore11,481 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstatic-import
When your agent uses it
Teaches static ES2015 import syntax for module dependencies. Use when you need to import code that is required at load time and benefits from static analysis and tree shaking.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
586 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore2,732 bytesSKILL.mdcore2,732 bytesSKILL.mdcore2,732 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubthird-party
When your agent uses it
Teaches strategies for mitigating third-party script performance impact. Use when third-party scripts like analytics, ads, or widgets are degrading your page load times or Core Web Vitals.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
5,741 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore26,762 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubtree-shaking
When your agent uses it
Teaches tree shaking for dead code elimination in JavaScript bundles. Use when your bundle includes unused exports and you want to reduce the final bundle size during the build step.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
925 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,309 bytesSKILL.mdcore4,309 bytesSKILL.mdcore4,309 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubview-transitions
When your agent uses it
Teaches the View Transitions API for animating DOM changes. Use when you want smooth animated transitions between pages or UI states without manual animation code.
What it loads into context
Frontmatter
102 tokensAlways available to the agent
SKILL.md
3,339 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore15,364 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvirtual-lists
When your agent uses it
Teaches virtual list (windowing) techniques for rendering large datasets. Use when rendering lists or tables with hundreds or thousands of items that cause scroll jank or slow initial render.
What it loads into context
Frontmatter
94 tokensAlways available to the agent
SKILL.md
3,172 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore13,119 bytesSKILL.mdcore13,119 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvite-bundle-optimization
When your agent uses it
Teaches Vite-specific bundle optimization patterns. Use when configuring Vite builds, code splitting, managing dependencies, or troubleshooting slow Vite builds.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
3,930 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore16,358 bytesSKILL.mdcore16,358 bytesSKILL.mdcore16,358 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubai-ui-patterns
When your agent uses it
Teaches design patterns for building AI-powered React interfaces. Use when creating chatbots, intelligent assistants, streaming UIs, or any AI-driven user experience in React.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
4,309 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore18,775 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubclient-side-rendering
When your agent uses it
Teaches client-side rendering (CSR) for React applications. Use when building highly interactive apps where SEO is not a priority and the UI is driven by user actions.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
1,713 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore8,376 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcompound-pattern
When your agent uses it
Teaches the compound component pattern for shared implicit state. Use when building related components like tabs, accordions, or dropdowns that need to coordinate without explicit prop passing.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
2,109 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore8,956 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhoc-pattern
When your agent uses it
Teaches the Higher-Order Component (HOC) pattern for logic reuse. Use when you need to share cross-cutting concerns like authentication, logging, or data fetching across multiple components.
What it loads into context
Frontmatter
97 tokensAlways available to the agent
SKILL.md
2,746 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore12,203 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhooks-pattern
When your agent uses it
Teaches React Hooks for reusing stateful logic across components. Use when extracting shared behavior like form handling, subscriptions, or side effects into reusable custom hooks.
What it loads into context
Frontmatter
105 tokensAlways available to the agent
SKILL.md
4,326 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore20,398 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubincremental-static-rendering
When your agent uses it
Teaches Incremental Static Regeneration (ISR) for updating static content post-build. Use when you have static pages that need periodic updates without a full site rebuild.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
1,437 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,617 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubpresentational-container-pattern
When your agent uses it
Teaches the presentational/container pattern for separating view and logic. Use when you want to isolate data fetching and business logic from UI rendering for better testability and reuse.
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
1,443 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore7,225 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubprogressive-hydration
When your agent uses it
Teaches progressive hydration for prioritized client-side interactivity. Use when server-rendered pages have non-critical sections whose JavaScript can be deferred to improve Time to Interactive.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
1,972 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore9,777 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreact-2026
When your agent uses it
Provides a comprehensive guide to the modern React 2026 stack. Use when starting a new React project or modernizing an existing one with current frameworks, build tools, routing, state management, or AI integration.
What it loads into context
Frontmatter
115 tokensAlways available to the agent
SKILL.md
4,472 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore19,599 bytesSKILL.mdcore19,599 bytesSKILL.mdcore19,599 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreact-composition-2026
When your agent uses it
Teaches modern React composition patterns for 2025/2026. Use when designing component APIs, building shared UI libraries, or refactoring prop-heavy components.
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
3,188 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore13,098 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreact-data-fetching
When your agent uses it
Teaches modern React data fetching patterns with TanStack Query, SWR, and Suspense. Use when implementing caching, deduplication, optimistic updates, or parallel loading in React applications.
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
3,607 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore15,047 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreact-render-optimization
When your agent uses it
Teaches React rendering performance optimization patterns. Use when reducing unnecessary re-renders, optimizing memoization, improving state design, or diagnosing React performance issues.
What it loads into context
Frontmatter
103 tokensAlways available to the agent
SKILL.md
6,854 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore28,291 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreact-selective-hydration
When your agent uses it
Teaches selective hydration combined with streaming SSR in React 18+. Use when you need to prioritize hydrating interactive components while streaming the rest of the page.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
957 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore4,640 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreact-server-components
When your agent uses it
Teaches React Server Components for zero-bundle server rendering. Use when components only need server-side data access and don't require client-side interactivity like state or event handlers.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
2,236 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore10,627 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrender-props-pattern
When your agent uses it
Teaches the render props pattern for flexible component composition. Use when you need to share rendering logic between components by passing a function that returns JSX as a prop.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
2,308 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore10,260 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubserver-side-rendering
When your agent uses it
Teaches server-side rendering (SSR) for React applications. Use when you need faster initial page loads, better SEO, or dynamic per-request HTML generation.
What it loads into context
Frontmatter
90 tokensAlways available to the agent
SKILL.md
1,891 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore8,622 bytesSKILL.mdcore8,622 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstatic-rendering
When your agent uses it
Teaches static rendering (SSG) for build-time HTML generation. Use when your pages don't change per request and can be pre-rendered at build time for maximum cacheability and performance.
What it loads into context
Frontmatter
96 tokensAlways available to the agent
SKILL.md
1,293 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore5,885 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstreaming-ssr
When your agent uses it
Teaches streaming server-side rendering for chunked HTML delivery. Use when you need faster Time to First Byte and First Contentful Paint by streaming HTML as it's generated on the server.
What it loads into context
Frontmatter
95 tokensAlways available to the agent
SKILL.md
1,438 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,630 bytesSKILL.mdcore6,630 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubasync-components
When your agent uses it
Teaches async component loading in Vue for performance optimization. Use when you have heavy components that aren't needed on initial render and can be loaded on demand.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
1,780 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore8,462 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcomponents
When your agent uses it
Teaches Vue component fundamentals including markup, logic, and styles. Use when building or structuring Vue single-file components as the foundational building blocks of your application.
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
1,947 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore8,697 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcomposables
When your agent uses it
Teaches Vue composables for reusable stateful logic with the Composition API. Use when extracting shared reactive state, side effects, or computed logic that multiple components need.
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
2,779 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore13,070 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcontainer-presentational
When your agent uses it
Teaches the container/presentational pattern for Vue components. Use when you want to separate data fetching and business logic from presentation for better testability and reuse.
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
1,583 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore7,382 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdata-provider
When your agent uses it
Teaches the data provider pattern using renderless components and scoped slots. Use when you need to abstract data fetching or state management logic and expose it to child components via slots.
What it loads into context
Frontmatter
86 tokensAlways available to the agent
SKILL.md
1,607 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore7,085 bytesSKILL.mdcore7,085 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdynamic-components
When your agent uses it
Teaches dynamic component switching with Vue's <component> element. Use when you need to render different components conditionally based on runtime state using the is attribute.
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
1,441 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,383 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubprovide-inject
When your agent uses it
Teaches Vue's provide/inject API for dependency injection across components. Use when deeply nested components need access to ancestor data without threading props through intermediate layers.
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
1,329 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,359 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrender-functions
When your agent uses it
Teaches Vue render functions and JSX for programmatic template creation. Use when templates are too limiting and you need the full power of JavaScript to construct component output dynamically.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
1,428 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,659 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrenderless-components
When your agent uses it
Teaches the renderless component pattern for logic-only Vue components. Use when you want to encapsulate behavior without dictating markup, letting consumers control rendering via scoped slots.
What it loads into context
Frontmatter
86 tokensAlways available to the agent
SKILL.md
1,415 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- When NOT to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore6,495 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubscript-setup
When your agent uses it
Teaches Vue's script setup syntax for concise Composition API usage. Use when writing Vue 3 single-file components and you want a more ergonomic, less boilerplate syntax for the Composition API.
What it loads into context
Frontmatter
90 tokensAlways available to the agent
SKILL.md
1,959 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore8,560 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstate-management
When your agent uses it
Teaches Vue state management with stores, Pinia, and the Composition API. Use when you need to share and synchronize state across multiple components beyond what props and events can handle.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
2,249 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Table of Contents
- When to Use
- Instructions
- Details
- Source
Files
SKILL.mdcore9,692 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- bundle-splitting
- command-pattern
- compression
- dynamic-import
- factory-pattern
- flyweight-pattern
- import-on-interaction
- import-on-visibility
- islands-architecture
- js-performance-patterns
- loading-sequence
- mediator-pattern
- mixin-pattern
- module-pattern
- observer-pattern
- prefetch
- preload
- prototype-pattern
- provider-pattern
- proxy-pattern
- prpl
- route-based
- singleton-pattern
- static-import
- third-party
- tree-shaking
- view-transitions
- virtual-lists
- vite-bundle-optimization
- ai-ui-patterns
- client-side-rendering
- compound-pattern
- hoc-pattern
- hooks-pattern
- incremental-static-rendering
- presentational-container-pattern
- progressive-hydration
- react-2026
- react-composition-2026
- react-data-fetching
- react-render-optimization
- react-selective-hydration
- react-server-components
- render-props-pattern
- server-side-rendering
- static-rendering
- streaming-ssr
- async-components
- components
- composables
- container-presentational
- data-provider
- dynamic-components
- provide-inject
- render-functions
- renderless-components
- script-setup
- state-management
Repository facts
- License
- No license detected
- Created
- Mar 24, 2026
- Last pushed
- Apr 15, 2026
- Forks
- 27
- Open issues
- 3
- Project activity
- Slowing
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 17 notes
javascript/bundle-splitting/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/compression/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/compression/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/compression/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/islands-architecture/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/static-import/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/static-import/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/tree-shaking/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/tree-shaking/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/virtual-lists/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/vite-bundle-optimization/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedjavascript/vite-bundle-optimization/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedreact/react-2026/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedreact/react-2026/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedreact/server-side-rendering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedreact/streaming-ssr/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedvue/data-provider/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 365 network referencesin 58 files: third-party/SKILL.md:47 compression/SKILL.md:27 import-on-interaction/SKILL.md:52 and 55 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 4 references to secretsin 2 files: ai-ui-patterns/SKILL.md:72 vite-bundle-optimization/SKILL.md:245
- No requests to vote in Hot
Show all 369 signals by file
javascript/bundle-splitting/SKILL.md
- Network accessline 18
When building a modern web application, bundlers such as [Webpack](https://webpack.js.org/) or [Rollup](https://rollupjs.org/guide/en/) take an application's source code, and bundle this together into one or more bundles. When a user visits - Network accessline 20
JavaScript engines such as [V8](https://v8.dev/docs) are able to parse and compile data that's been requested by the user as it's being loaded. Although modern browsers have evolved to parse and compile the code as quickly and performantly - Network accessline 56
- [patterns.dev/vanilla/bundle-splitting](https://patterns.dev/vanilla/bundle-splitting)
javascript/command-pattern/SKILL.md
- Network accessline 138
- [patterns.dev/vanilla/command-pattern](https://patterns.dev/vanilla/command-pattern) - Network accessline 142
- [Command Design Pattern](https://sourcemaking.com/design_patterns/command) - SourceMaking - Network accessline 143
- [Command Pattern](https://refactoring.guru/design-patterns/command) - Refactoring Guru - Network accessline 144
- [Command Pattern](https://www.carloscaballero.io/design-patterns-command/) - Carlos Caballero
javascript/compression/SKILL.md
- Network accessline 27
JavaScript is the second biggest [contributor to page size](https://almanac.httparchive.org/en/2020/page-weight#fig-2) and the second most [requested web resource](https://almanac.httparchive.org/en/2020/page-weight#fig-4) on the internet a - Network accessline 47
- **Gzip** and **Brotli** are the most common ways to compress JavaScript and are widely supported by modern browsers. - **Brotli** offers a **better compression ratio** at similar compression levels. - **Next.js** provides [Gzip compressio - Network accessline 48
- **Brotli** offers a **better compression ratio** at similar compression levels. - **Next.js** provides [Gzip compression by default](https://nextjs.org/docs/api-reference/next.config.js/compression) but recommends enabling it on an HTTP p - Network accessline 49
- **Next.js** provides [Gzip compression by default](https://nextjs.org/docs/api-reference/next.config.js/compression) but recommends enabling it on an HTTP proxy like Nginx. - Network accessline 50
- If you use **Webpack** to bundle your code, you can use the **[CompressionPlugin](https://github.com/webpack-contrib/compression-webpack-plugin)** for Gzip compression or the [BrotliWebpackPlugin](https://github.com/mynameiswhm/brotli-web - Network accessline 56
Compression reduces the size of documents and files, so they take up less disk space than the originals. Smaller documents consume lower bandwidth and can be transferred over a network quickly. HTTP compression uses this simple concept to c - Network accessline 68
To reduce payload sizes, you can minify JavaScript before compression. [Minification](https://web.dev/reduce-network-payloads-using-text-compression/#minification) complements compression by removing whitespace and any unnecessary code to c - Network accessline 72
Multiple tools are available for [the minification of HTML, CSS, and JS](https://developers.google.com/speed/docs/insights/MinifyResources) resources. [Terser](https://github.com/terser-js/terser) is a popular JavaScript compression tool fo - Network accessline 86
[Gzip](https://datatracker.ietf.org/doc/html/rfc1952) and [Brotli](https://opensource.googleblog.com/2015/09/introducing-brotli-new-compression.html) are the two [most common algorithms](https://almanac.httparchive.org/en/2020/compression#f - Network accessline 90
The Gzip compression format has been around for almost 30 years and is a lossless algorithm based on the [Deflate algorithm](https://www.youtube.com/watch?v=whGwm0Lky2s&t=851s). The deflate algorithm itself uses a combination of the [LZ77 a - Network accessline 94
All major browsers support Gzip. The [Zopfli](https://github.com/google/zopfli) compression algorithm is a slower but improved version of Deflate/Gzip, producing smaller GZip compatible files. It is most suitable for static compression, whe - Network accessline 98
In 2015, Google introduced the [Brotli algorithm](https://opensource.googleblog.com/2015/09/introducing-brotli-new-compression.html) and the [Brotli compressed data format](https://datatracker.ietf.org/doc/html/rfc7932). Like GZip, [Brotli] - Network accessline 100
Brotli is [supported](https://caniuse.com/?search=brotli) by all major servers and browsers today and is becoming increasingly [popular](https://almanac.httparchive.org/en/2020/compression#fig-5). It is also supported and can be easily enab - Network accessline 102
Websites with a large user base, such as [OYO](https://tech.oyorooms.com/how-brotli-compression-gave-us-37-latency-improvement-14d41e50fee4) and [Wix](https://web.dev/wix/#brotli-compression-(vs.-gzip)), have improved their performance cons - Network accessline 116
You can enable static compression as part of the build. If you use Webpack to bundle your code, you can use the [CompressionPlugin](https://github.com/webpack-contrib/compression-webpack-plugin) for Gzip compression or the [BrotliWebpackPlu - Network accessline 128
Next.js provides [Gzip compression by default](https://nextjs.org/docs/api-reference/next.config.js/compression) but recommends enabling it on an HTTP proxy like Nginx. Both Gzip and Brotli are supported on the [Vercel platform](https://ver - Network accessline 130
You can enable dynamic lossless compression on servers (including Node.js) that support different compression algorithms. The browser communicates the compression algorithms it supports through the [Accept-Encoding](https://developer.mozill - Network accessline 132
This indicates that the browser supports Gzip and Brotli. You can enable different types of compression on your server by following instructions for the specific server type. For example, you can find instructions for enabling Brotli on the - Network accessline 134
Brotli is recommended over other compression algorithms because it generates smaller file sizes. You can enable Gzip as a fallback for browsers that don't support Brotli. If successfully configured, the server will return the [Content-Encod - Network accessline 144
To fully grasp the effects of JavaScript compression, you must also consider other aspects of JavaScript optimization, such as [route-based splitting](https://www.patterns.dev/posts/route-based/), [code-splitting](https://webpack.js.org/gui - Network accessline 152
1. **Module**: Modules are discrete chunks of functionality designed to provide solid abstractions and encapsulation. See [Module pattern](https://www.patterns.dev/posts/module-pattern/) for more detail. - Network accessline 153
2. **Bundle**: Group of distinct modules that contain the final versions of source files and have already undergone the loading and compilation process in the bundler. 3. **Bundle splitting**: The process utilized by bundlers to split the a - Network accessline 155
4. **Chunk**: Adopted from Webpack terminology, a chunk is the final output of the bundling and code-splitting process. Webpack can split bundles into chunks based on the [entry](https://webpack.js.org/configuration/entry-context/) configur - Network accessline 163
Every byte of the chunks required by a page needs to be downloaded and parsed/executed by user devices. This is the code that [directly affects](https://v8.dev/blog/cost-of-javascript-2019) the application performance. Since chunks are the - Network accessline 200
A potential solution that addresses these requirements is still in the works. However, Webpack v4's [SplitChunksPlugin](https://webpack.js.org/plugins/split-chunks-plugin/) and a granular chunking strategy can help increase the loading gran - Network accessline 204
Next.js adopted the SplitChunksPlugin and implemented the following [Granular Chunking](https://web.dev/granular-chunking-nextjs/) strategy to generate Webpack chunks that address the granularity trade-off. - Network accessline 213
The granular chunking strategy helped several Next JS apps reduce the total JavaScript used by the site. The granular chunking strategy was also implemented in [Gatsby](https://github.com/gatsbyjs/gatsby/pull/22253) with similar benefits ob - Network accessline 221
- [patterns.dev/vanilla/compression](https://patterns.dev/vanilla/compression)
javascript/dynamic-import/SKILL.md
- Network accessline 54
Server-side rendering doesn't support React Suspense (yet). A good alternative to React Suspense is the [`loadable-components`](https://loadable-components.com/docs/getting-started/) library, which can be used in SSR applications. - Network accessline 62
- [patterns.dev/vanilla/dynamic-import](https://patterns.dev/vanilla/dynamic-import)
javascript/factory-pattern/SKILL.md
javascript/flyweight-pattern/SKILL.md
- Network accessline 118
In JavaScript, we can easily solve this problem through [prototypal inheritance](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain). Nowadays, hardware has GBs of RAM, which makes the flyweight patt - Network accessline 122
- [patterns.dev/vanilla/flyweight-pattern](https://patterns.dev/vanilla/flyweight-pattern) - Network accessline 126
- [Flyweight](https://refactoring.guru/design-patterns/flyweight) - Refactoring Guru - Network accessline 127
- [Flyweight Design Pattern](https://howtodoinjava.com/design-patterns/structural/flyweight-design-pattern) - How To Do In Java
javascript/import-on-interaction/SKILL.md
- Network accessline 52
Loading these resources eagerly (i.e right away) can [block the main thread](https://web.dev/long-tasks-devtools/) if they are costly, pushing out how soon a user can interact with more critical parts of a page. This can impact interaction - Network accessline 54
- When the user clicks to interact with that component for the first time - Scrolls the component into view - or deferring load of that component until the browser is idle (via [requestIdleCallback](https://developer.mozilla.org/en-US/docs/ - Network accessline 56
- or deferring load of that component until the browser is idle (via [requestIdleCallback](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback)). - Network accessline 62
- Lazy (On interaction) - load when the user clicks UI (e.g Show Chat) - Lazy (In viewport) - load when the user scrolls towards the component - [Prefetch](https://web.dev/link-prefetch/) - load prior to needed, but after critical resources - Network accessline 63
- Lazy (In viewport) - load when the user scrolls towards the component - [Prefetch](https://web.dev/link-prefetch/) - load prior to needed, but after critical resources are loaded - [Preload](https://web.dev/preload-critical-assets/) - eag - Network accessline 64
- [Prefetch](https://web.dev/link-prefetch/) - load prior to needed, but after critical resources are loaded - Network accessline 65
- [Preload](https://web.dev/preload-critical-assets/) - eagerly, with a greater level of urgency - Network accessline 73
You might be importing a third-party script and have less control over what it renders or when it loads code. One option for implementing load-on-interaction is straight-forward: use a [facade](https://github.com/patrickhulce/third-party-we - Network accessline 75
When a user clicks on the "preview" (the facade), the code for the resource is loaded. This limits users needing to pay the experience cost for a feature if they're not going to use it. Similarly, facades can [preconnect](https://web.dev/us - Network accessline 79
A good example of a "facade" is the [YouTube Lite Embed](https://github.com/paulirish/lite-youtube-embed) by Paul Irish. This provides a Custom Element which takes a YouTube Video ID and presents a minimal thumbnail and play button. Clickin - Network accessline 89
Calibre app [improved performance of their Intercom-based live chat by 30%](https://calibreapp.com/blog/fast-live-chat) through usage of a similar facade approach. They implemented a "fake" fast loading live chat button using just CSS and H - Network accessline 91
[Postmark](https://wildbit.com/blog/2020/09/30/getting-postmark-lighthouse-performance-score-to-100) noted that their Help chat widget was always eagerly loaded, even though it was only occasionally used by customers. The widget would pull - Network accessline 95
[Ne-digital](https://medium.com/ne-digital/how-to-reduce-next-js-bundle-size-68f7ac70c375) used a React library for animated scrolling back to the top of a page when a user clicks on a "scroll to top" button. Rather than eagerly loading the - Network accessline 110
In JavaScript, [dynamic import()](https://v8.dev/features/dynamic-import) enables lazy-loading modules and returns a promise and can be quite powerful when applied correctly. Below is an example where dynamic import is used in a button even - Network accessline 143
Let's imagine we have a Chat application which has a `<MessageList>`, `<MessageInput>` and an `<EmojiPicker>` component (powered by [emoji-mart](https://bundlephobia.com/result?p=emoji-mart@3.0.0), which is 98KB minified and gzipped). It ca - Network accessline 162
Breaking the loading of this work up is relatively straight-forward with [code-splitting](https://web.dev/reduce-javascript-payloads-with-code-splitting/). The `React.lazy` method makes it easy to code-split a React application on a compone - Network accessline 250
The import-on-interaction pattern should be possible with most frameworks and libraries that support dynamic component loading, including [Angular](https://johnpapa.net/angular-9-lazy-loading-components/). - Network accessline 276
In the framework stack used by these Google teams, we can track clicks early because the first chunk of HTML includes a small event library ([JSAction](https://github.com/google/jsaction)) which tracks all clicks before the framework is boo - Network accessline 295
For a walkthrough of the above example, see [Elevating the Web Platform with the JavaScript Community](https://www.youtube.com/watch?v=-xZHWK-vHbQ). - Network accessline 329
- [patterns.dev/vanilla/import-on-interaction](https://patterns.dev/vanilla/import-on-interaction)
javascript/import-on-visibility/SKILL.md
- Network accessline 20
As we're not requesting all images instantly, we can reduce the initial loading time. We can do the same with components! In order to know whether components are currently in our viewport, we can use the [`IntersectionObserver` API](https:/ - Network accessline 47
- [patterns.dev/vanilla/import-on-visibility](https://patterns.dev/vanilla/import-on-visibility)
javascript/islands-architecture/SKILL.md
- Network accessline 47
The core principle for SSR is that HTML is rendered on the server and shipped with necessary JavaScript to rehydrate it on the client. Rehydration is the process of regenerating the state of UI components on the client-side after the server - Network accessline 49
The term [Islands architecture](https://jasonformat.com/islands-architecture/) was popularized by Katie Sylor-Miller and Jason Miller to describe a paradigm that aims to reduce the volume of JavaScript shipped through "islands" of interacti - Network accessline 67
The Island architecture borrows concepts from different sources and aims to combine them optimally. Template-based static site generators such as [Jekyll](https://jekyllrb.com/) and [Hugo](https://gohugo.io/) support the rendering of static - Network accessline 69
Jason's post suggests the use of [`requestIdleCallback()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback) to implement a scheduling approach for hydrating components. Static isomorphic rendering and scheduling - Network accessline 79
1. **Marko**: [Marko](https://markojs.com/) is an open-source framework [developed](https://tech.ebayinc.com/engineering/the-future-of-marko/) and [maintained](https://tech.ebayinc.com/engineering/ebay-launches-marko-5/) by eBay to improve - Network accessline 81
2. **Astro**: [Astro](https://astro.build/) is a static site builder that can generate lightweight static HTML pages from UI components built in other frameworks such as React, Preact, Svelte, Vue, and others. Components that need client-si - Network accessline 83
3. **Eleventy + Preact:** [Markus Oberlehner](https://markus.oberlehner.net/blog/building-partially-hydrated-progressively-enhanced-static-websites-with-isomorphic-preact-and-eleventy/#lazy-hydration) demonstrates the use of Eleventy, a sta - Network accessline 165
1. The only options available to developers to implement Islands are to use one of the few frameworks available or develop the architecture yourself. Migrating existing sites to Astro or Marko would require additional efforts. 2. Besides Ja - Network accessline 166
2. Besides Jason's initial post, there is little discussion available on the idea. 3. [New frameworks](https://github.com/bensmithett/tropical-utils/tree/main/packages/tropical-islands) claim to support the Islands architecture making it di - Network accessline 167
3. [New frameworks](https://github.com/bensmithett/tropical-utils/tree/main/packages/tropical-islands) claim to support the Islands architecture making it difficult to filter the ones which will work for you. - Network accessline 174
- [patterns.dev/vanilla/islands-architecture](https://patterns.dev/vanilla/islands-architecture) - Network accessline 178
- [Islands Architecture](https://jasonformat.com/islands-architecture/) - Network accessline 179
- [Is 0KB of JavaScript in your future](https://dev.to/this-is-learning/is-0kb-of-javascript-in-your-future-48og) - Network accessline 180
- [Modernizing Etsy's codebase with React](https://changelog.com/jsparty/105)
javascript/js-performance-patterns/SKILL.md
- Network accessline 120
For complex cases, use `requestAnimationFrame` to defer writes to the next frame, or use a library like [fastdom](https://github.com/wilsonpage/fastdom). - Network accessline 424
Patterns from [patterns.dev](https://www.patterns.dev/) — JavaScript performance guidance for the broader web engineering community.
javascript/loading-sequence/SKILL.md
- Network accessline 27
In every successful web page load, some critical components and resources become available at just the right time to give you a smooth loading experience. This ensures users perceive the performance of the application to be excellent. This - Network accessline 45
Key [metrics](https://web.dev/metrics/) such as [First Content Paint](https://web.dev/fcp/), [Largest Contentful Paint](https://web.dev/lcp/), [First Input Delay](https://web.dev/fid/), etc used to measure performance are directly dependent - Network accessline 57
[Web Vitals](https://web.dev/vitals) optimization requires not only a good understanding of what each metrics stands for but also the order in which they occur and how they relate to different critical resources. FCP occurs before LCP which - Network accessline 84
An example of this is the [preload bug](https://bugs.chromium.org/p/chromium/issues/detail?id=788757) on the chromium platform. The [Preload](https://medium.com/reloading/preload-prefetch-and-priorities-in-chrome-776165961bbf) (`<link rel=p - Network accessline 88
The protocol itself does not provide many options or knobs for adjusting the order and priority of resources. Even if better prioritization primitives were to be made available, there are underlying [problems with HTTP2 prioritization](http - Network accessline 118
[Critical CSS](https://web.dev/extract-critical-css/) refers to the minimum CSS required for FCP. It is better to inline such CSS within HTML rather than import it from another CSS file. Only the CSS required for the route should be downloa - Network accessline 130
Like critical CSS, the CSS for [critical fonts](https://web.dev/font-best-practices/) should also be inlined. If inlining is not possible the script should be loaded with a [preconnect](https://web.dev/uses-rel-preconnect/) specified. Delay - Network accessline 132
Inlining fonts can bloat the HTML significantly and delay initiating other critical resource fetches. [Font fallback](https://css-tricks.com/css-basics-fallback-font-stacks-robust-web-typography/) may be used to unblock FCP and make the tex - Network accessline 156
- CSS and Fonts are loaded with the highest priority. This should help us prioritize critical CSS and fonts. - Scripts get different priorities based on where they are in the document and whether they are async, defer, or blocking. Blocking - Network accessline 157
- Scripts get different priorities based on where they are in the document and whether they are async, defer, or blocking. Blocking scripts requested before the first image (or an image early in the document) are given higher priority over - Network accessline 164
With that background, we can now propose a loading sequence that should optimize the loading of both 1P and 3P resources. The proposed sequence uses [Next.js](https://nextjs.org/) Server Side Rendering (SSR) as a reference for optimization. - Network accessline 256
- [patterns.dev/vanilla/loading-sequence](https://patterns.dev/vanilla/loading-sequence)
javascript/mediator-pattern/SKILL.md
- Network accessline 77
[Express.js](https://expressjs.com) is a popular web application server framework. We can add callbacks to certain routes that the user can access. - Network accessline 118
- [patterns.dev/vanilla/mediator-pattern](https://patterns.dev/vanilla/mediator-pattern) - Network accessline 122
- [Docs - Express](https://expressjs.com) - Network accessline 123
- [Mediator Pattern - OO Design](https://www.oodesign.com/mediator-pattern.html)
javascript/mixin-pattern/SKILL.md
- Network accessline 129
An example of a mixin in the real world is visible on the `Window` interface in a browser environment. The `Window` object implements many of its properties from the [`WindowOrWorkerGlobalScope`](https://developer.mozilla.org/en-US/docs/Web - Network accessline 135
Mixins were often used to add functionality to React components before the introduction of ES6 classes. The React team [discourages the use of mixins](https://reactjs.org/blog/2016/07/13/mixins-considered-harmful.html) as it easily adds unn - Network accessline 141
- [patterns.dev/vanilla/mixin-pattern](https://patterns.dev/vanilla/mixin-pattern) - Network accessline 145
- [Functional Mixins](https://medium.com/javascript-scene/functional-mixins-composing-software-ffb66d5e731c) - Eric Elliott - Network accessline 146
- [Mixins](https://javascript.info/mixins) - JavaScript Info
javascript/module-pattern/SKILL.md
- Network accessline 236
With the module pattern, we can encapsulate parts of our code that should not be publicly exposed. This prevents accidental name collision and global scope pollution, which makes working with multiple dependencies and namespaces less risky. - Network accessline 240
- [patterns.dev/vanilla/module-pattern](https://patterns.dev/vanilla/module-pattern)
javascript/observer-pattern/SKILL.md
- Network accessline 202
- [patterns.dev/vanilla/observer-pattern](https://patterns.dev/vanilla/observer-pattern) - Network accessline 206
- [RxJS](https://rxjs-dev.firebaseapp.com) - Network accessline 207
- [JavaScript Design Patterns: The Observer Pattern](https://www.sitepoint.com/javascript-design-patterns-observer-pattern)
javascript/prefetch/SKILL.md
- Network accessline 18
Prefetch (`<link rel="prefetch">`) is a browser optimization which allows us to fetch resources that may be needed for subsequent routes or pages before they are needed. Prefetching can be achieved in a few ways. It can be done declarativel - Network accessline 50
Components or resources that we know are likely to be used at some point in the application can be **prefetched**. We can let Webpack know that certain bundles need to be prefetched, by adding a [magic comment](https://webpack.js.org/api/mo - Network accessline 81
- [patterns.dev/vanilla/prefetch](https://patterns.dev/vanilla/prefetch) - Network accessline 85
- [Preload, prefetch and priorities in Chrome](https://medium.com/reloading/preload-prefetch-and-priorities-in-chrome-776165961bbf) - Network accessline 86
- [Faster navigations with predictive prefetching](https://web.dev/predictive-prefetching/) - Network accessline 87
- [Prefetching heuristics](https://blog.mgechev.com/2021/02/07/prefetching-strategies-heuristics-faster-web-apps/) - Network accessline 88
- [What not to prefetch](https://addyosmani.com/blog/what-not-to-prefetch-prerender/)
javascript/preload/SKILL.md
- Network accessline 26
[Preload](https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content) (`<link rel="preload">`) is a [browser optimization](https://web.dev/uses-rel-preload/) that allows critical resources (that may be discovered late) to be reque - Network accessline 60
When optimizing for metrics like [Time To Interactive](https://web.dev/tti) or [First Input Delay](https://web.dev/fid), preload can be useful to load JavaScript bundles (or chunks) that are necessary for interactivity. Keep in mind that gr - Network accessline 74
> Webpack 4.6.0+ allows preloading of resources by adding `/* webpackPreload: true */` to the import. In order to make preloading work in older versions of webpack, you'll need to add the [`preload-webpack-plugin`](https://github.com/Google - Network accessline 146
Thanks to some [fixes](https://twitter.com/patmeenan/status/1436374668450177026) to preload's [queue-jumping](https://docs.google.com/document/d/1ZEi-XXhpajrnq8oqs5SiW-CXR3jMc20jWIzN5QRy1QA/edit?usp=sharing) behavior in Chrome 95+, the feat - Network accessline 156
Again, use preload sparingly and measure its impact in production. If the preload for your image is earlier in the document than it is, this can help browsers discover it (and order relative to other resources). When used incorrectly, prelo - Network accessline 158
You may also find `<link rel="preload">` to be helpful for cases where you need to fetch scripts [without executing](https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content#scripting_and_preloads) them. - Network accessline 162
- [Preload key scripts required for interactivity](https://web.dev/uses-rel-preload/) - Network accessline 163
- [Preload your Largest Contentful Paint image](https://web.dev/preload-responsive-images/) - Network accessline 164
- [Load fonts while preventing layout shifts](https://web.dev/preload-optional-fonts/) - Network accessline 168
- [patterns.dev/vanilla/preload](https://patterns.dev/vanilla/preload)
javascript/prototype-pattern/SKILL.md
- Network accessline 117
- [patterns.dev/vanilla/prototype-pattern](https://patterns.dev/vanilla/prototype-pattern) - Network accessline 121
- [Object.create - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create) - Network accessline 122
- [Prototype - ECMA](https://www.ecma-international.org/ecma-262/5.1/#sec-4.3.5)
javascript/provider-pattern/SKILL.md
- Network accessline 288
Some libraries provide built-in providers, which values we can use in the consuming components. A good example of this, is [styled-components](https://styled-components.com/docs/advanced). - Network accessline 363
- [patterns.dev/vanilla/provider-pattern](https://patterns.dev/vanilla/provider-pattern) - Network accessline 367
- [Context - React](https://reactjs.org/docs/context.html) - Network accessline 368
- [How To Use React Context Effectively - Kent C. Dodds](https://kentcdodds.com/blog/how-to-use-react-context-effectively)
javascript/proxy-pattern/SKILL.md
- Network accessline 64
The second argument of `Proxy` is an object that represents the _handler_. In the handler object, we can define specific behavior based on the type of interaction. Although there are [many methods](https://developer.mozilla.org/en-US/docs/W - Network accessline 152
- [patterns.dev/vanilla/proxy-pattern](https://patterns.dev/vanilla/proxy-pattern) - Network accessline 156
- [Proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) - MDN - Network accessline 157
- [JavaScript Proxy](https://davidwalsh.name/javascript-proxy) - David Walsh - Network accessline 158
- [Awesome ES2015 Proxy](https://github.com/mikaelbr/awesome-es2015-proxy) - GitHub @mikaelbr - Network accessline 159
- [Thoughts on ES6 Proxies Performance](http://thecodebarbarian.com/thoughts-on-es6-proxies-performance) - Valeri Karpov
javascript/prpl/SKILL.md
- Network accessline 60
Although pushing resources reduces the amount of time to receive additional resources, server push is not HTTP cache aware! The pushed resources won't be available to us the next time we visit the website, and will have to be requested agai - Network accessline 86
- [patterns.dev/vanilla/prpl](https://patterns.dev/vanilla/prpl)
javascript/route-based/SKILL.md
- Network accessline 41
- [patterns.dev/vanilla/route-based](https://patterns.dev/vanilla/route-based)
javascript/singleton-pattern/SKILL.md
- Network accessline 242
- [patterns.dev/vanilla/singleton-pattern](https://patterns.dev/vanilla/singleton-pattern) - Network accessline 246
- [Do React Hooks replace Redux](https://medium.com/javascript-scene/do-react-hooks-replace-redux-210bab340672) - Eric Elliott - Network accessline 247
- [JavaScript Design Patterns: The Singleton](https://www.sitepoint.com/javascript-design-patterns-singleton/) - Samier Saeed - Network accessline 248
- [Singleton](https://refactoring.guru/design-patterns/singleton) - Refactoring Guru
javascript/static-import/SKILL.md
- Network accessline 50
- [patterns.dev/vanilla/static-import](https://patterns.dev/vanilla/static-import)
javascript/third-party/SKILL.md
- Network accessline 47
- A/B testing and personalization scripts - Utility libraries that provide ready-to-use helper functions such as those used for data visualization or animations. - [reCAPTCHA](https://www.google.com/recaptcha/about/) or CAPTCHA for bot dete - Network accessline 49
- [reCAPTCHA](https://www.google.com/recaptcha/about/) or CAPTCHA for bot detection. - Network accessline 51
You can use third-parties to integrate other features that add value to your content or to reduce some drudgery involved in building a site from scratch. As per the Web Almanac report for 2021, more than [94% of the pages](https://almanac.h - Network accessline 56
- They make heavy usage of JavaScript (impacting download and execution time) or are bulky in size because of unoptimized images/videos. - Individual site owners cannot influence the implementation, and their behavior can be unpredictable. - Network accessline 58
- They can block the rendering of other critical resources on the page and affect [Core Web Vitals](https://web.dev/vitals/) (CWV). - Network accessline 66
- The following Lighthouse audits help identify slow third-party scripts that affect CWV: - [Reduce the impact of third-party code](https://web.dev/third-party-summary/) for scripts that block the main thread. - Network accessline 67
- [Reduce the impact of third-party code](https://web.dev/third-party-summary/) for scripts that block the main thread. - Network accessline 68
- [Reduce JavaScript execution time](https://web.dev/bootup-time/) for scripts that take long to execute - Network accessline 69
- [Avoid enormous network payloads](https://web.dev/total-byte-weight/) for large scripts - Network accessline 71
- Use the WebPageTest (WPT) waterfall chart to identify [third-party blocking scripts](https://nooshu.com/blog/2019/10/02/how-to-read-a-wpt-waterfall-chart/#third-party-blocking-javascript) or WPT side-by-side comparison to [measure the imp - Network accessline 73
- Sites like [Bundlephobia](https://bundlephobia.com/) help to assess the cost of adding available npm packages to your bundles. You can also find size and dependencies included in any package using [npm package search](https://www.npmjs.co - Network accessline 91
JavaScript download and execution is synchronous by default and can block the HTML parser and DOM construction on the main thread. Use of [async](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async) or [defer](https: - Network accessline 97
<script src="https://example.com/deferthis.js" defer></script> - Network accessline 98
<script src="https://example.com/asyncthis.js" async></script> - Network accessline 101
One caveat worth mentioning here is that async and defer lower the browser assigned priority of the resources causing it to load significantly later. A new feature for [priority hints](https://web.dev/priority-hints/) can help to work aroun - Network accessline 109
Including a [dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/Performance/dns-prefetch) resource hint corresponding to a domain will perform the DNS lookup early, thus reducing the latency associated with dns lookups. You can pair - Network accessline 112
<head> <link rel="preconnect" href="http://example.com" /> - Network accessline 113
<link rel="preconnect" href="http://example.com" /> - Network accessline 114
<link rel="dns-prefetch" href="http://example.com" /> - Network accessline 118
Benefits of using resource hints are evident in this case study where Andy Davies discusses how using [preconnect helped reduce the loading time](https://andydavies.me/blog/2019/03/22/improving-perceived-performance-with-a-link-rel-equals-p - Network accessline 128
1. The [loading](https://web.dev/iframe-lazy-loading/) attribute can be used with images and iframes commonly used to load third-party embeds like those for YouTube or Google Maps. - Network accessline 129
2. A custom implementation using the [IntersectionObserver API](https://developers.google.com/web/updates/2016/04/intersectionobserver) allows you to detect when the observed element enters or exits the browser's viewport. - Network accessline 130
3. [Lazy-sizes](https://github.com/aFarkas/lazysizes) - a popular JavaScript library that implements lazy-loading for you. - Network accessline 132
A variation of lazy-loading embeds uses a static or dynamic facade displayed to users on page loads. Instead of the map embed, you can use a static image of the actual embed. Solutions include the [Map Static API](https://developers.google. - Network accessline 145
Self-hosting a copy of the scripts on the same origin offers you more control over the loading and caching process used for the scripts. Self-hosting reduces the time required for DNS lookup and allows you to improve the caching strategy fo - Network accessline 147
With self-hosted copies of third-party scripts, you have to ensure that you update your copy regularly based on changes to the original. Without updates, the script may become outdated, missing important fixes or changes corresponding to de - Network accessline 167
Advertising or analytics teams may worry about the impact of deferring scripts on the visibility and advertising revenue of the app. The [Telegraph case study](https://medium.com/the-telegraph-engineering/improving-third-party-web-performan - Network accessline 173
1. Load it only on a few pages with form inputs from the user that may get spammed by a bot. 2. [Lazy load the script](https://dev.to/uf4no/improve-page-performance-lazy-loading-recaptcha-442o) when the user interacts with form elements, fo - Network accessline 174
2. [Lazy load the script](https://dev.to/uf4no/improve-page-performance-lazy-loading-recaptcha-442o) when the user interacts with form elements, for example, on form focus. - Network accessline 179
Large sites often provide [Google Tag Manager](https://marketingplatform.google.com/about/resources/tag-manager-product-overview/) access to marketing teams or agencies. This allows them to add new marketing tags to all pages on the site fo - Network accessline 187
Sites conduct [A/B tests](https://www.optimizely.com/optimization-glossary/ab-testing/) to check which version of the webpage performs better. A/B tests can significantly affect the performance of pages on which they are run, with each test - Network accessline 189
[Site personalization](https://www.dynamicyield.com/lesson/web-personalization/) is a related concept which involves running scripts to provide a tailored experience for different users based on known data. These scripts are again heavy and - Network accessline 191
To optimize third-party A/B testing scripts, you can limit the number of users who receive the script. Google's Optimize allows the configuration of [rules for targeting users](https://support.google.com/optimize/answer/6283420#zippy=%2Cin- - Network accessline 195
These embeds are heavy, and developers must explore lazy-loading or click-to-load patterns to load the embeds to optimize them. Use of solutions like [lite-youtube-embed](https://github.com/paulirish/lite-youtube-embed) is encouraged while - Network accessline 199
Some social media embeds provide an option to lazy-load their scripts (e.g., [data-lazy in Facebook](https://developers.facebook.com/docs/plugins/embedded-posts/) embeds). You can explore this to improve performance. Another alternative is - Network accessline 205
[Partytown created by Builder.io](https://github.com/BuilderIO/partytown) is an experimental library that helps run resource-intensive scripts on a [web worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) instead of th - Network accessline 261
Next.js 11 was released in mid-2021 with components based on the [Conformance](https://web.dev/conformance/) methodology introduced by Google's Aurora team. The [Next.js Script component](https://nextjs.org/docs/basic-features/script) uses - Network accessline 276
<> <Head> <script async src="https://example.com/samplescript.js" /> - Network accessline 277
<Head> <script async src="https://example.com/samplescript.js" /> </Head> - Network accessline 278
<script async src="https://example.com/samplescript.js" /> - Network accessline 291
return ( <> <Script src="https://example.com/samplescript.js" /> - Network accessline 292
<> <Script src="https://example.com/samplescript.js" /> </> - Network accessline 293
<Script src="https://example.com/samplescript.js" /> - Network accessline 308
<> <Script src="https://polyfill.io/v3/polyfill.min.js?features=IntersectionObserverEntry%2CIntersectionObserver" - Network accessline 309
<Script src="https://polyfill.io/v3/polyfill.min.js?features=IntersectionObserverEntry%2CIntersectionObserver" strategy="beforeInteractive" - Network accessline 310
src="https://polyfill.io/v3/polyfill.min.js?features=IntersectionObserverEntry%2CIntersectionObserver" - Network accessline 327
<> <Script src="https://connect.facebook.net/en_US/sdk.js" - Network accessline 328
<Script src="https://connect.facebook.net/en_US/sdk.js" strategy="lazyOnload" - Network accessline 329
src="https://connect.facebook.net/en_US/sdk.js" - Network accessline 383
<> <Script src="https://www.google-analytics.com/analytics.js" - Network accessline 384
<Script src="https://www.google-analytics.com/analytics.js" id="analytics" - Network accessline 385
src="https://www.google-analytics.com/analytics.js" - Network accessline 413
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefo - Network accessline 414
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer', '${GTM_ID}'); - Network accessline 415
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); - Network accessline 438
- [patterns.dev/vanilla/third-party](https://patterns.dev/vanilla/third-party)
javascript/tree-shaking/SKILL.md
- Network accessline 76
The Webpack documentation gives a [clear explanation on tree-shaking](https://webpack.js.org/guides/tree-shaking/#clarifying-tree-shaking-and-sideeffects) and how to avoid breaking it. - Network accessline 80
- [patterns.dev/vanilla/tree-shaking](https://patterns.dev/vanilla/tree-shaking)
javascript/view-transitions/SKILL.md
- Network accessline 44
The [View Transitions API](https://developer.chrome.com/docs/web-platform/view-transitions/) offers a simple way to transition any visual DOM change from one state to the next. This might include small changes such as toggling some content, - Network accessline 109
That's the basics of the API. [Jake Archibald's excellent View Transitions article](https://developer.chrome.com/docs/web-platform/view-transitions) covers the details well. For now, let's see how we might transition full page navigations. - Network accessline 172
**Note:** The [Next.js App Router](https://beta.nextjs.org/docs/app-directory-roadmap) is in beta at the time of writing and best-practices around it and the pages directory may be subject to change. - Network accessline 204
View the [Next.js demonstration](https://frolicking-dusk-29be0a.netlify.app/), the [live Next.js demo](https://photography-view-transitions-nextjs.vercel.app/) and its [source](https://github.com/domchristie/photography-view-transitions-nex - Network accessline 221
To implement this, we'll need to hook into routing events, which will depend on the framework or library you're using. In particular, we'll need to be notified when the user navigates. With Next.js, we can use the [`routeChangeStart` router - Network accessline 227
[Turbo](https://turbo.hotwired.dev/), part of the [Hotwire](https://hotwired.dev/) suite of libraries (not to be confused with [Vercel's Turbo](https://turbo.build/)), offers a rendering approach that progressively enhances multi-page appli - Network accessline 229
[Turn](https://github.com/domchristie/turn) is a library for animating page navigations using Turbo. It supports both animation approaches (although currently view transitions are experimental). Turn adds `turn-before-exit`, `turn-exit`, an - Network accessline 284
- [patterns.dev/vanilla/view-transitions](https://patterns.dev/vanilla/view-transitions)
javascript/virtual-lists/SKILL.md
- Network accessline 28
If you use React and need to **display large lists of data efficiently**, you may be familiar with [react-virtualized](https://bvaughn.github.io/react-virtualized/). It's a windowing library by [Brian Vaughn](https://twitter.com/brian_d_vau - Network accessline 64
[react-window](https://react-window.now.sh/) is a rewrite of react-virtualized by the same author aiming to be **smaller**, faster and more [tree-shakeable](https://developers.google.com/web/fundamentals/performance/optimizing-javascript/tr - Network accessline 72
Lists render a **windowed list (row) of elements** meaning that only the visible rows are displayed to users (e.g [FixedSizeList](https://react-window.now.sh/#/examples/list/fixed-size), [VariableSizeList](https://react-window.now.sh/#/exam - Network accessline 149
You can try out `FixedSizeList` on [CodeSandbox](https://codesandbox.io/s/github/bvaughn/react-window/tree/master/website/sandboxes/fixed-size-list-vertical). - Network accessline 153
Grid renders **tabular data** with virtualization along the vertical and horizontal axes (e.g [FixedSizeGrid](https://react-window.now.sh/#/examples/grid/fixed-size), [VariableSizeGrid](https://react-window.now.sh/#/examples/grid/variable-s - Network accessline 201
You can also try out `FixedSizeGrid` on [CodeSandbox](https://codesandbox.io/s/github/bvaughn/react-window/tree/master/website/sandboxes/fixed-size-grid). - Network accessline 205
[Scott Taylor](https://github.com/staylor) implemented an open-source [Pitchfork music reviews scraper](http://pitchfork.highforthis.com/) [(src)](https://github.com/staylor/pitchfork-scraper) using `react-window` and `FixedSizeGrid`. - Network accessline 207
Pitchfork scraper uses [react-window-infinite-loader](https://github.com/bvaughn/react-window-infinite-loader) ([demo](https://codesandbox.io/s/5wqo7z2np4)) which helps break large data sets down into chunks that can be loaded as they are s - Network accessline 244
You might find the [commit](https://github.com/staylor/pitchfork-scraper/commit/d9bff69e332ad9de8351c67f4848fc7968209eff) porting the app over from `react-virtualized` useful. - Network accessline 273
For even more complex needs, a [The Movie Database](https://www.themoviedb.org/) [demo app](https://tmdb-viewer.surge.sh/) used react-virtualized and Infinite Loader under the hood. [Porting](https://github.com/addyosmani/tmdb-viewer/blob/m - Network accessline 297
react-window does not yet have the complete API surface of react-virtualized, so do check the [comparison docs](https://github.com/bvaughn/react-window#how-is-react-window-different-from-react-virtualized) if considering it. What's missing? - Network accessline 299
- [WindowScroller](https://github.com/bvaughn/react-virtualized/blob/master/docs/WindowScroller.md) - This is a `react-virtualized` component that enables Lists to be scrolled based on the window's scroll positions. There are currently [no - Network accessline 300
- [AutoSizer](https://github.com/bvaughn/react-virtualized/blob/master/docs/AutoSizer.md) - HOC that grows to fit all of the available space, automatically adjusting the width and height of a single child. Brian implemented this as a [stand - Network accessline 301
- [CellMeasurer](https://github.com/bvaughn/react-virtualized/blob/master/docs/CellMeasurer.md) - HOC automatically measuring a cell's content by rendering it in a way that is not visible to the user. Follow [here](https://github.com/bvaugh - Network accessline 307
Some modern browsers now support [CSS content-visibility](https://web.dev/content-visibility/). `content-visibility:auto` allows you to skip rendering & painting offscreen content until needed. If you have a long HTML document with costly r - Network accessline 313
- [patterns.dev/vanilla/virtual-lists](https://patterns.dev/vanilla/virtual-lists) - Network accessline 317
- [Rendering performant lists with react-window](https://alligator.io/react/lists-with-react-window/) - Network accessline 318
- [Creating More Efficient React Views with Windowing](https://www.youtube.com/watch?v=t4tuhg7b50I) - Network accessline 319
- [Rendering lists with react-virtualized](https://css-tricks.com/rendering-lists-using-react-virtualized/) - Network accessline 320
- [Rendering large lists with react-virtualized](https://blog.logrocket.com/rendering-large-lists-with-react-virtualized-82741907a6b3)
javascript/vite-bundle-optimization/SKILL.md
- Access to secretsline 245
[Credential-related source omitted] - Network accessline 412
# .env.production VITE_FEATURE_NEW_DASHBOARD=true VITE_API_URL=https://api.example.com - Network accessline 414
VITE_API_URL=https://api.example.com - Network accessline 477
proxy: { '/api': { target: 'http://localhost:3001', - Network accessline 478
'/api': { target: 'http://localhost:3001', changeOrigin: true, - Network accessline 479
target: 'http://localhost:3001', - Network accessline 481
}, '/auth': { target: 'http://localhost:3001', - Network accessline 482
'/auth': { target: 'http://localhost:3001', changeOrigin: true, - Network accessline 483
target: 'http://localhost:3001', - Network accessline 496
In your app code, use relative paths (`fetch('/api/users')`) — they hit Vite's dev server which proxies to your backend. In production, configure your reverse proxy (Nginx, Caddy) to do the same routing. - Network accessline 612
Patterns from [patterns.dev](https://www.patterns.dev/) — Vite-specific optimization guidance for the broader React web engineering community.
react/ai-ui-patterns/SKILL.md
- Access to secretsline 72
[Credential-related source omitted] - Access to secretsline 85
[Credential-related source omitted] - Access to secretsline 112
[Credential-related source omitted] - Network accessline 133
app.listen(6000, () => console.log('API server listening on http://localhost:6000')); - Network accessline 136
During development, you can configure the Vite dev server to proxy `/api` calls to this backend (e.g. in `vite.config.js`, set `server.proxy['/api'] = 'http://localhost:6000'`). The key is that the React app calls a **relative `/api/chat` e - Network accessline 172
const res = await fetch('/api/chat', { method: 'POST', body: JSON.stringify({ messages }) }); - Network accessline 356
- [patterns.dev/react/ai-ui-patterns](https://patterns.dev/react/ai-ui-patterns) - Network accessline 360
- [Vercel AI SDK Documentation](https://ai-sdk.dev/) - Network accessline 361
- [Vercel Academy: Basic Chatbot](https://vercel.com/academy/ai-sdk/basic-chatbot) - Network accessline 362
- [Vercel Academy: AI Elements](https://vercel.com/academy/ai-sdk/ai-elements) - Network accessline 363
- [Building Chatbot in Next.js using Vercel AI SDK](https://blog.saeloun.com/2023/07/13/building-chatbot-in-next-js-using-vercel-ai-sdk/) - Network accessline 364
- [Build a Docs-Aware Chatbot with React, Vite, Node and OpenAI](https://dev.to/cloudinary/build-a-docs-aware-chatbot-with-react-vite-node-and-openai-plus-fun-dalle-avatars-1chi)
react/client-side-rendering/SKILL.md
- Network accessline 113
- **Code Splitting**: To avoid a large bundle of JavaScript code, you could start splitting your bundles. Code-Splitting is supported by bundlers like [Webpack](https://webpack.js.org/guides/code-splitting/) where it can be used to create m - Network accessline 121
- [patterns.dev/react/client-side-rendering](https://patterns.dev/react/client-side-rendering)
react/compound-pattern/SKILL.md
- Network accessline 58
Using the Compound component pattern with React's [Context API](https://reactjs.org/docs/context.html) is perfect for this example! - Network accessline 208
The compound pattern is great when you're building a component library. You'll often see this pattern when using UI libraries like [Semantic UI](https://react.semantic-ui.com/modules/dropdown/#types-dropdown). - Network accessline 278
- [patterns.dev/react/compound-pattern](https://patterns.dev/react/compound-pattern) - Network accessline 282
- [Render Props - React](https://reactjs.org/docs/render-props.htm) - Network accessline 283
- [React Hooks: Compound Components - Kent C. Dodds](https://kentcdodds.com/blog/compound-components-with-react-hooks)
react/hoc-pattern/SKILL.md
- Network accessline 101
export default withLoader( DogImages, "https://dog.ceo/api/breed/labrador/images/random/6" - Network accessline 102
DogImages, "https://dog.ceo/api/breed/labrador/images/random/6" ); - Network accessline 103
"https://dog.ceo/api/breed/labrador/images/random/6" - Network accessline 119
> A well-known library used for composing HOCs is [recompose](https://github.com/acdlite/recompose). Since HOCs can largely be replaced by React Hooks, the recompose library is no longer maintained. - Network accessline 133
_"In most cases, Hooks will be sufficient and can help reduce nesting in your tree."_ - [React Docs](https://reactjs.org/docs/hooks-faq.html#do-hooks-replace-render-props-and-higher-order-components) - Network accessline 164
Some libraries that relied on the HOC pattern added Hooks support after the release. A good example of this is [Apollo Client](https://www.apollographql.com/docs/react). - Network accessline 219
- [patterns.dev/react/hoc-pattern](https://patterns.dev/react/hoc-pattern) - Network accessline 223
- [Higher-Order Components - React](https://reactjs.org/docs/higher-order-components.html)
react/hooks-pattern/SKILL.md
- Network accessline 27
React 16.8 introduced a new feature called [**Hooks**](https://react.dev/reference/react/hooks). Hooks make it possible to use React state and lifecycle methods, without having to use an ES2015 class component. - Network accessline 256
You may have noticed that all hooks start with `use`. It's important to start your hooks with `use` in order for React to check if it violates the [Rules of Hooks](https://react.dev/reference/rules/rules-of-hooks). - Network accessline 294
- [React Use](https://github.com/streamich/react-use) - Network accessline 295
- [useHooks](https://usehooks.com/) - Network accessline 296
- [Collection of React Hooks](https://nikgraf.github.io/react-hooks/) - Network accessline 439
- [patterns.dev/react/hooks-pattern](https://patterns.dev/react/hooks-pattern)
react/incremental-static-rendering/SKILL.md
- Network accessline 92
To re-render an existing page, a suitable timeout is defined for the page. This will ensure that the page is revalidated whenever the defined timeout period has elapsed. The user will continue to see the previous version of the page, till t - Network accessline 134
- [patterns.dev/react/incremental-static-rendering](https://patterns.dev/react/incremental-static-rendering)
react/presentational-container-pattern/SKILL.md
- Network accessline 77
useEffect(() => { fetch("https://dog.ceo/api/breed/labrador/images/random/6") - Network accessline 78
fetch("https://dog.ceo/api/breed/labrador/images/random/6") - Network accessline 113
- [patterns.dev/react/presentational-container-pattern](https://patterns.dev/react/presentational-container-pattern) - Network accessline 117
- [Presentational and Container Components - Dan Abramov](https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0)
react/progressive-hydration/SKILL.md
- Network accessline 74
- [Server Components](https://github.com/reactjs/rfcs/blob/bf51f8755ddb38d92e23ad415fc4e3c02b95b331/text/0000-server-components.md). This will allow you to refetch components from the server and render them on the client as they stream in i - Network accessline 131
- [patterns.dev/react/progressive-hydration](https://patterns.dev/react/progressive-hydration)
react/react-2026/SKILL.md
- Network accessline 330
- [patterns.dev/react/react-2026](https://patterns.dev/react/react-2026)
react/react-composition-2026/SKILL.md
- Network accessline 508
Patterns from [patterns.dev](https://www.patterns.dev/) — composition guidance for the broader React community.
react/react-data-fetching/SKILL.md
- Network accessline 147
useEffect(() => { setLoading(true) fetch(`/api/users/${userId}`) - Network accessline 148
setLoading(true) fetch(`/api/users/${userId}`) .then(r => r.json()) - Network accessline 149
fetch(`/api/users/${userId}`) - Network accessline 166
const { data: user, isLoading } = useQuery({ queryKey: ['user', userId], queryFn: () => fetch(`/api/users/${userId}`).then(r => r.json()), - Network accessline 167
queryKey: ['user', userId], queryFn: () => fetch(`/api/users/${userId}`).then(r => r.json()), }) - Network accessline 168
queryFn: () => fetch(`/api/users/${userId}`).then(r => r.json()), - Network accessline 373
const { mutate: toggleLike } = useMutation({ mutationFn: () => fetch(`/api/posts/${postId}/like`, { method: 'POST' }), - Network accessline 374
mutationFn: () => fetch(`/api/posts/${postId}/like`, { method: 'POST' }), - Network accessline 555
Patterns from [patterns.dev](https://www.patterns.dev/) — framework-agnostic React data fetching guidance for the broader web engineering community.
react/react-render-optimization/SKILL.md
- Network accessline 971
Patterns from [patterns.dev](https://www.patterns.dev/) — framework-agnostic React performance guidance for the broader web engineering community.
react/react-selective-hydration/SKILL.md
react/react-server-components/SKILL.md
- Network accessline 26
React's [Server Components](https://react.dev/reference/rsc/server-components) enable **modern UX with a server-driven mental model**. This is quite different from Server-side Rendering (SSR) of components and results in significantly small - Network accessline 57
- The [React Server Components reference](https://react.dev/reference/rsc/server-components) is the best current overview. - Network accessline 58
- The [RFC](https://github.com/reactjs/rfcs/blob/bf51f8755ddb38d92e23ad415fc4e3c02b95b331/text/0188-server-components.md) is still useful for deeper implementation context. - Network accessline 59
- [Next.js App Router documentation](https://nextjs.org/docs/app) for the modern approach to Server Components - Network accessline 60
- [Shopify Hydrogen and Server Components](https://shopify.dev/custom-storefronts/hydrogen/framework/react-server-components) - Network accessline 173
- [patterns.dev/react/react-server-components](https://patterns.dev/react/react-server-components) - Network accessline 177
- [React Server Components reference](https://react.dev/reference/rsc/server-components) - Network accessline 178
- [Server Functions reference](https://react.dev/reference/rsc/server-functions) - Network accessline 179
- [RFC](https://github.com/reactjs/rfcs/blob/bf51f8755ddb38d92e23ad415fc4e3c02b95b331/text/0188-server-components.md) - Network accessline 180
- [Server components demo](https://github.com/reactjs/server-components-demo)
react/render-props-pattern/SKILL.md
- Network accessline 197
In some cases, we can replace render props with Hooks. A good example of this is [Apollo Client](https://www.apollographql.com/docs/react). - Network accessline 253
- [patterns.dev/react/render-props-pattern](https://patterns.dev/react/render-props-pattern) - Network accessline 257
- [Render Props - React](https://reactjs.org/docs/render-props.html) - Network accessline 258
- [React, Inline Functions, and Performance - Ryan Florence](https://cdb.reacttraining.com/react-inline-functions-and-performance-bdff784f5578) - Network accessline 259
- [Use a Render Prop! - Michael Jackson](https://cdb.reacttraining.com/use-a-render-prop-50de598f11ce)
react/server-side-rendering/SKILL.md
- Network accessline 115
The Next.js framework also supports SSR. This pre-renders a page on the server on every request. It can be accomplished by exporting an async function called [`getServerSideProps()`](https://nextjs.org/docs/basic-features/data-fetching#gets - Network accessline 164
try { // Fetch data from external API const res = await fetch("https://jsonplaceholder.typicode.com/users"); - Network accessline 165
// Fetch data from external API const res = await fetch("https://jsonplaceholder.typicode.com/users"); const data = await res.json(); - Network accessline 166
const res = await fetch("https://jsonplaceholder.typicode.com/users"); - Network accessline 211
A complete example of SSR with React can be found [here](https://www.digitalocean.com/community/tutorials/react-server-side-rendering). - Network accessline 215
- [patterns.dev/react/server-side-rendering](https://patterns.dev/react/server-side-rendering)
react/static-rendering/SKILL.md
- Network accessline 145
- [patterns.dev/react/static-rendering](https://patterns.dev/react/static-rendering)
react/streaming-ssr/SKILL.md
- Network accessline 137
- [patterns.dev/react/streaming-ssr](https://patterns.dev/react/streaming-ssr)
vue/async-components/SKILL.md
- Network accessline 91
This is where Vue allows us to divide an app into smaller chunks by loading components asynchronously with the help of the [`defineAsyncComponent()`](https://vuejs.org/api/general.html#defineasynccomponent) function. - Network accessline 104
The `defineAsyncComponent()` function accepts a loader function that returns a Promise that resolves to the imported component. However, instead of defining our async component function like the above, we can leverage [dynamic imports](http - Network accessline 178
The `defineAsyncComponent()` function accepts further options like `delay`, `timeout`, `suspensible`, and `onError()` which provide developers with more granular control over the asynchronous loading behavior and user experience. Be sure to - Network accessline 184
- [patterns.dev/vue/async-components](https://patterns.dev/vue/async-components) - Network accessline 188
- [Async Components | Vue Documentation](https://vuejs.org/guide/components/async.html#async-components)
vue/components/SKILL.md
- Network accessline 69
> Note: Single-file components in Vue are made possible due to build tools like [Vite](https://vitejs.dev/). These tools help compile `.vue` components to plain JavaScript modules that can be understood in browsers. - Network accessline 213
- [patterns.dev/vue/components](https://patterns.dev/vue/components) - Network accessline 217
- [Components Basics | Vue Documentation](https://vuejs.org/guide/essentials/component-basics.html#components-basics) - Network accessline 218
- [Reactivity Fundamentals | Vue Documentation](https://vuejs.org/guide/essentials/reactivity-fundamentals.html)
vue/composables/SKILL.md
vue/container-presentational/SKILL.md
- Network accessline 24
In 2015, Dan Abramov wrote an article titled ["Presentational and Container Components"](https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0) that changed the way many developers thought about component architecture in Re - Network accessline 98
onMounted(async () => { const response = await fetch( - Network accessline 99
const response = await fetch( - Network accessline 100
"https://dog.ceo/api/breed/labrador/images/random/6" - Network accessline 122
onMounted(async () => { const response = await fetch( - Network accessline 123
const response = await fetch( - Network accessline 124
"https://dog.ceo/api/breed/labrador/images/random/6" - Network accessline 158
- [patterns.dev/vue/container-presentational](https://patterns.dev/vue/container-presentational) - Network accessline 162
- [Presentational and Container Components - Dan Abramov](https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0) - Network accessline 163
- [Composables | Vue Documentation](https://vuejs.org/guide/reusability/composables.html)
vue/data-provider/SKILL.md
- Network accessline 172
- [patterns.dev/vue/data-provider](https://patterns.dev/vue/data-provider) - Network accessline 176
- [Scoped Slots | Vue Documentation](https://vuejs.org/guide/components/slots.html#scoped-slots) - Network accessline 177
- [Renderless Components | Vue Documentation](https://vuejs.org/guide/components/slots.html#renderless-components)
vue/dynamic-components/SKILL.md
- Network accessline 54
When clicking between the tabs, we want components to be dynamically unmounted and mounted without the use of routing. Though something like this could be achieved by conditionally rendering child templates with the help of directives like - Network accessline 76
In the `App` component template, we'll look to render three separate tab buttons — one for each component we intend to display. We'll use the [`v-for` directive](https://vuejs.org/api/built-in-directives.html#v-for) to help achieve this. - Network accessline 180
- [patterns.dev/vue/dynamic-components](https://patterns.dev/vue/dynamic-components) - Network accessline 184
- [Dynamic Components | Vue Documentation](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components) - Network accessline 185
- [KeepAlive | Vue Documentation](https://vuejs.org/guide/built-ins/keep-alive.html)
vue/provide-inject/SKILL.md
- Network accessline 102
Since app-level provides make data available to _all_ components, they are often helpful when creating [plugins](https://vuejs.org/guide/reusability/plugins.html) — self-contained code that adds functionality to the entire Vue app. - Network accessline 124
- [patterns.dev/vue/provide-inject](https://patterns.dev/vue/provide-inject) - Network accessline 128
- [Provide / Inject | Vue Documentation](https://vuejs.org/guide/components/provide-inject.html)
vue/render-functions/SKILL.md
- Network accessline 137
Vue's JSX support isn't built in like in React. We need to use a specific Babel plugin — [`@vue/babel-plugin-jsx`](https://github.com/vuejs/babel-plugin-jsx) — to have our JSX code transformed into the appropriate `h()` function calls. - Network accessline 167
- [patterns.dev/vue/render-functions](https://patterns.dev/vue/render-functions) - Network accessline 171
- [Render Functions & JSX | Vue Documentation](https://vuejs.org/guide/extras/render-function.html) - Network accessline 172
- [`@vue/babel-plugin-jsx` | GitHub](https://github.com/vuejs/babel-plugin-jsx)
vue/renderless-components/SKILL.md
- Network accessline 165
- [patterns.dev/vue/renderless-components](https://patterns.dev/vue/renderless-components) - Network accessline 169
- [Renderless Components | Vue Documentation](https://vuejs.org/guide/components/slots.html#renderless-components) - Network accessline 170
- [Composables | Vue Documentation](https://vuejs.org/guide/reusability/composables.html)
vue/script-setup/SKILL.md
vue/state-management/SKILL.md
- Network accessline 201
[Pinia](https://pinia.vuejs.org/) is a state management pattern and library for Vue.js that provides a more structured and scalable way to handle application-level state. - Network accessline 203
Pinia is an alternative to other state management solutions like [Vuex](https://vuex.vuejs.org/) and is now the official state management library for Vue. It provides a simple and efficient way to create and manage stores, which encapsulate - Network accessline 291
- [patterns.dev/vue/state-management](https://patterns.dev/vue/state-management) - Network accessline 295
- [Props | Vue Documentation](https://vuejs.org/guide/components/props.html#props) - Network accessline 296
- [Component Events | Vue Documentation](https://vuejs.org/guide/components/events.html#component-events) - Network accessline 297
- [Simple State Management with Reactivity API | Vue Documentation](https://vuejs.org/guide/scaling-up/state-management.html#simple-state-management-with-reactivity-api) - Network accessline 298
- [Core concepts | Pinia](https://pinia.vuejs.org/core-concepts/)
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 369 facts
- Network access in prose of the SKILL.mdbundle-splitting/SKILL.md:18Low confidence
- Network access in prose of the SKILL.mdbundle-splitting/SKILL.md:20Low confidence
- Network access in prose of the SKILL.mdbundle-splitting/SKILL.md:56Low confidence
- Network access in prose of the SKILL.mdcommand-pattern/SKILL.md:138Low confidence
- Network access in prose of the SKILL.mdcommand-pattern/SKILL.md:142Low confidence
- Network access in prose of the SKILL.mdcommand-pattern/SKILL.md:143Low confidence
- Network access in prose of the SKILL.mdcommand-pattern/SKILL.md:144Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:27Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:47Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:48Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:49Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:50Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:56Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:68Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:72Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:86Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:90Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:94Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:98Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:100Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:102Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:116Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:128Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:130Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:132Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:134Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:144Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:152Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:153Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:155Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:163Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:200Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:204Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:213Low confidence
- Network access in prose of the SKILL.mdcompression/SKILL.md:221Low confidence
- Network access in prose of the SKILL.mddynamic-import/SKILL.md:54Low confidence
- Network access in prose of the SKILL.mddynamic-import/SKILL.md:62Low confidence
- Network access in prose of the SKILL.mdfactory-pattern/SKILL.md:102Low confidence
- Network access in prose of the SKILL.mdfactory-pattern/SKILL.md:106Low confidence
- Network access in prose of the SKILL.mdflyweight-pattern/SKILL.md:118Low confidence
- Network access in prose of the SKILL.mdflyweight-pattern/SKILL.md:122Low confidence
- Network access in prose of the SKILL.mdflyweight-pattern/SKILL.md:126Low confidence
- Network access in prose of the SKILL.mdflyweight-pattern/SKILL.md:127Low confidence
- Network access in prose of the SKILL.mdimport-on-interaction/SKILL.md:52Low confidence
- Network access in prose of the SKILL.mdimport-on-interaction/SKILL.md:54Low confidence
- Network access in prose of the SKILL.mdimport-on-interaction/SKILL.md:56Low confidence
- Network access in prose of the SKILL.mdimport-on-interaction/SKILL.md:62Low confidence
- Network access in prose of the SKILL.mdimport-on-interaction/SKILL.md:63Low confidence
- Network access in prose of the SKILL.mdimport-on-interaction/SKILL.md:64Low confidence
- Network access in prose of the SKILL.mdimport-on-interaction/SKILL.md:65Low confidence
and 319 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md javascript/bundle-splitting/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md javascript/bundle-splitting/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md javascript/bundle-splitting/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md javascript/bundle-splitting/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md javascript/bundle-splitting/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md javascript/bundle-splitting/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.