#58 by GitHub stars
vercel-labs/agent-skills
Vercel's official collection of agent skills
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
skills/composition-patterns/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/deploy-to-vercel/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/react-best-practices/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/react-native-skills/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/react-view-transitions/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/vercel-cli-with-tokens/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/vercel-optimize/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/web-design-guidelines/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
skills/writing-guidelines/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1a2c79d4e6c4
No earlier version was observed for comparison.
Verified commit 1a2c79d4e6c4a2283dc2c614b6538cbe1ed5ca62
git clone --filter=blob:none --no-checkout https://github.com/vercel-labs/agent-skills.git .hotskills/vercel-labs-agent-skills && git -C .hotskills/vercel-labs-agent-skills checkout --detach 1a2c79d4e6c4a2283dc2c614b6538cbe1ed5ca62
# Copy each selected skill directory from .hotskills/vercel-labs-agent-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/vercel-labs/agent-skills.git .hotskills/vercel-labs-agent-skills && git -C .hotskills/vercel-labs-agent-skills checkout --detach 1a2c79d4e6c4a2283dc2c614b6538cbe1ed5ca62
# Copy each selected skill directory from .hotskills/vercel-labs-agent-skills into .agents/skills/<skill-name>/Heat
7.1- Star growth, last 7 daysAhead of 85% of tracked repositories
- Star growth, last 24 hoursAhead of 83% of tracked repositories
- Rank movement, last 7 daysAhead of 80% of tracked repositories
- Commits, last 30 daysAhead of 70% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- vercel-composition-patterns
skills/composition-patterns - deploy-to-vercel
skills/deploy-to-vercel - vercel-react-best-practices
skills/react-best-practices - vercel-react-native-skills
skills/react-native-skills - vercel-react-view-transitions
skills/react-view-transitions - vercel-cli-with-tokens
skills/vercel-cli-with-tokens - vercel-optimize
skills/vercel-optimize - web-design-guidelines
skills/web-design-guidelines - writing-guidelines
skills/writing-guidelines
How it works
vercel-composition-patterns
When your agent uses it
React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
626 tokensWhen the skill is activated
Reference documents
10,544 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Apply
- Rule Categories by Priority
- Quick Reference
- How to Use
- Full Compiled Document
Files
AGENTS.mddoc22,627 bytesREADME.mddoc2,140 bytesSKILL.mdcore2,886 bytesmetadata.jsonasset530 bytesrules/_sections.mddoc829 bytesrules/_template.mddoc329 bytesrules/architecture-avoid-boolean-props.mddoc2,267 bytesrules/architecture-compound-components.mddoc2,600 bytesrules/patterns-children-over-render-props.mddoc1,886 bytesrules/patterns-explicit-variants.mddoc2,395 bytesrules/react19-no-forwardref.mddoc953 bytesrules/state-context-interface.mddoc4,974 bytesrules/state-decouple-implementation.mddoc2,699 bytesrules/state-lift-state.mddoc3,224 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdeploy-to-vercel
When your agent uses it
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
2,368 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
- Step 1: Gather Project State
- Step 2: Choose a Deploy Method
- Agent-Specific Notes
- Output
- Troubleshooting
Files
SKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytesSKILL.mdcore9,721 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvercel-react-best-practices
When your agent uses it
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
1,764 tokensWhen the skill is activated
Reference documents
53,453 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Apply
- Rule Categories by Priority
- Quick Reference
- How to Use
- Full Compiled Document
Files
AGENTS.mddoc108,261 bytesREADME.mddoc3,360 bytesSKILL.mdcore7,251 bytesmetadata.jsonasset921 bytesrules/_sections.mddoc1,554 bytesrules/_template.mddoc631 bytesrules/advanced-effect-event-deps.mddoc1,802 bytesrules/advanced-event-handler-refs.mddoc1,483 bytesrules/advanced-init-once.mddoc958 bytesrules/advanced-use-latest.mddoc1,072 bytesrules/async-api-routes.mddoc1,125 bytesrules/async-cheap-condition-before-await.mddoc1,220 bytesrules/async-defer-await.mddoc2,208 bytesrules/async-dependencies.mddoc1,293 bytesrules/async-parallel.mddoc654 bytesrules/async-suspense-boundaries.mddoc2,510 bytesrules/bundle-analyzable-paths.mddoc2,382 bytesrules/bundle-barrel-imports.mddoc2,795 bytesrules/bundle-conditional.mddoc949 bytesrules/bundle-defer-third-party.mddoc920 bytesrules/bundle-dynamic-imports.mddoc791 bytesrules/bundle-preload.mddoc1,149 bytesrules/client-event-listeners.mddoc1,969 bytesrules/client-localstorage-schema.mddoc1,950 bytesrules/client-passive-event-listeners.mddoc1,644 bytesrules/client-swr-dedup.mddoc1,159 bytesrules/js-batch-dom-css.mddoc3,266 bytesrules/js-cache-function-results.mddoc1,949 bytesrules/js-cache-property-access.mddoc532 bytesrules/js-cache-storage.mddoc1,651 bytesrules/js-combine-iterations.mddoc753 bytesrules/js-early-exit.mddoc1,133 bytesrules/js-flatmap-filter.mddoc1,411 bytesrules/js-hoist-regexp.mddoc1,028 bytesrules/js-index-maps.mddoc837 bytesrules/js-length-check-first.mddoc1,747 bytesrules/js-min-max-loop.mddoc2,290 bytesrules/js-request-idle-callback.mddoc2,647 bytesrules/js-set-map-lookups.mddoc532 bytesrules/js-tosorted-immutable.mddoc1,782 bytesrules/rendering-activity.mddoc564 bytesrules/rendering-animate-svg-wrapper.mddoc1,185 bytesrules/rendering-conditional-render.mddoc980 bytesrules/rendering-content-visibility.mddoc815 bytesrules/rendering-hoist-jsx.mddoc1,039 bytesrules/rendering-hydration-no-flicker.mddoc2,308 bytesrules/rendering-hydration-suppress-warning.mddoc872 bytesrules/rendering-resource-hints.mddoc2,549 bytesrules/rendering-script-defer-async.mddoc1,868 bytesrules/rendering-svg-precision.mddoc588 bytesrules/rendering-usetransition-loading.mddoc2,074 bytesrules/rerender-defer-reads.mddoc973 bytesrules/rerender-dependencies.mddoc824 bytesrules/rerender-derived-state-no-effect.mddoc1,201 bytesrules/rerender-derived-state.mddoc728 bytesrules/rerender-functional-setstate.mddoc2,968 bytesrules/rerender-lazy-state-init.mddoc2,016 bytesrules/rerender-memo-with-default-value.mddoc1,173 bytesrules/rerender-memo.mddoc1,148 bytesrules/rerender-move-effect-to-event.mddoc1,268 bytesrules/rerender-no-inline-components.mddoc2,135 bytesrules/rerender-simple-expression-in-memo.mddoc1,018 bytesrules/rerender-split-combined-hooks.mddoc1,844 bytesrules/rerender-transitions.mddoc1,055 bytesrules/rerender-use-deferred-value.mddoc1,846 bytesrules/rerender-use-ref-transient-values.mddoc1,742 bytesrules/server-after-nonblocking.mddoc2,012 bytesrules/server-auth-actions.mddoc2,649 bytesrules/server-cache-lru.mddoc1,353 bytesrules/server-cache-react.mddoc2,228 bytesrules/server-dedup-props.mddoc2,060 bytesrules/server-hoist-static-io.mddoc4,423 bytesrules/server-no-shared-module-state.mddoc1,766 bytesrules/server-parallel-fetching.mddoc1,554 bytesrules/server-parallel-nested-fetching.mddoc992 bytesrules/server-serialization.mddoc996 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvercel-react-native-skills
When your agent uses it
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,040 tokensWhen the skill is activated
Reference documents
37,750 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Apply
- Rule Categories by Priority
- Quick Reference
- How to Use
- Full Compiled Document
Files
AGENTS.mddoc73,771 bytesREADME.mddoc5,064 bytesSKILL.mdcore4,439 bytesmetadata.jsonasset896 bytesrules/_sections.mddoc2,228 bytesrules/_template.mddoc631 bytesrules/animation-derived-value.mddoc1,373 bytesrules/animation-gesture-detector-press.mddoc2,559 bytesrules/animation-gpu-properties.mddoc2,059 bytesrules/design-system-compound-components.mddoc1,625 bytesrules/fonts-config-plugin.mddoc1,393 bytesrules/imports-design-system-folder.mddoc1,418 bytesrules/js-hoist-intl.mddoc1,645 bytesrules/list-performance-callbacks.mddoc1,059 bytesrules/list-performance-function-references.mddoc4,133 bytesrules/list-performance-images.mddoc1,417 bytesrules/list-performance-inline-objects.mddoc2,308 bytesrules/list-performance-item-expensive.mddoc2,466 bytesrules/list-performance-item-memo.mddoc2,250 bytesrules/list-performance-item-types.mddoc2,749 bytesrules/list-performance-virtualize.mddoc1,742 bytesrules/monorepo-native-deps-in-app.mddoc1,091 bytesrules/monorepo-single-dependency-versions.mddoc1,351 bytesrules/navigation-native-navigators.mddoc4,941 bytesrules/react-compiler-destructure-functions.mddoc1,274 bytesrules/react-compiler-reanimated-shared-values.mddoc1,268 bytesrules/react-state-dispatcher.mddoc2,255 bytesrules/react-state-fallback.mddoc1,735 bytesrules/react-state-minimize.mddoc1,740 bytesrules/rendering-no-falsy-and.mddoc1,812 bytesrules/rendering-text-in-text-component.mddoc697 bytesrules/scroll-position-no-state.mddoc1,936 bytesrules/state-ground-truth.mddoc2,172 bytesrules/ui-expo-image.mddoc1,648 bytesrules/ui-image-gallery.mddoc2,546 bytesrules/ui-measure-views.mddoc2,232 bytesrules/ui-menus.mddoc4,598 bytesrules/ui-native-modals.mddoc1,859 bytesrules/ui-pressable.mddoc1,534 bytesrules/ui-safe-area-scroll.mddoc1,579 bytesrules/ui-scrollview-content-inset.mddoc1,317 bytesrules/ui-styling.mddoc2,212 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvercel-react-view-transitions
When your agent uses it
Guide for implementing smooth, native-feeling animations using React's View Transition API (`<ViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter/exit of components, animate list reorder, implement directional (forward/back) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view transitions, `startViewTransition`, `ViewTransition`, transition types, or asks about animating between UI states in React without third-party animation libraries.
What it loads into context
Frontmatter
153 tokensAlways available to the agent
SKILL.md
3,335 tokensWhen the skill is activated
Reference documents
24,655 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Animate
- Availability
- Implementation Workflow
- Core Concepts
- Styling with View Transition Classes
- Transition Types
- Shared Element Transitions
- Common Patterns
- How Multiple VTs Interact
- Next.js Integration
- Accessibility
- Reference Files
- Full Compiled Document
Files
AGENTS.mddoc59,088 bytesREADME.mddoc2,231 bytesSKILL.mdcore14,502 bytesmetadata.jsonasset852 bytesreferences/css-recipes.mddoc8,337 bytesreferences/implementation.mddoc9,280 bytesreferences/nextjs.mddoc10,700 bytesreferences/patterns.mddoc11,941 bytesreferences/troubleshooting.mddoc4,940 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvercel-cli-with-tokens
When your agent uses it
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
2,698 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
- Step 1: Locate the Vercel Token
- Step 2: Locate the Project and Team
- CLI Setup
- Deploying a Project
- Managing Environment Variables
- Inspecting Deployments
- Managing Domains
- Stripe Projects Plan Changes
- Working Agreement
- Troubleshooting
Files
SKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytesSKILL.mdcore10,476 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvercel-optimize
When your agent uses it
Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usage, project config, and code scan results first; investigate only metric-backed candidates; produce ranked recommendations grounded in verified files and version-aware Vercel/framework docs. Trigger for Vercel bill reduction, slow or expensive routes, caching opportunities, Function Invocations, Build Minutes, Fast Data Transfer, Core Web Vitals, Bot Management, Fluid compute, or cost breakdown requests.
What it loads into context
Frontmatter
133 tokensAlways available to the agent
SKILL.md
3,954 tokensWhen the skill is activated
Reference documents
41,317 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Framework Support
- Run Directory
- Pipeline
- Recommendation Rules
- Scanner Rules
- Final Customer Terms
- Failure Copy
Scripts executed separately
lib/auth-route.mjslib/budget-summary.mjslib/citations.mjslib/cost-coverage.mjslib/dedup-recs.mjslib/deep-dive.mjslib/display-labels.mjslib/extract-claims.mjslib/framework-support.mjslib/gates/build-minutes-fanout.mjslib/gates/cold-start.mjslib/gates/contract.mjslib/gates/cwv-poor.mjslib/gates/external-api-slow.mjslib/gates/hard-gates.mjslib/gates/index.mjslib/gates/isr-overrevalidation.mjslib/gates/middleware-heavy.mjslib/gates/observability-events-attribution.mjslib/gates/platform-bot-protection.mjslib/gates/platform-fluid-compute.mjslib/gates/region-misconfig.mjslib/gates/route-errors.mjslib/gates/scanner-driven.mjslib/gates/select-candidates.mjslib/gates/slow-route.mjslib/gates/types.d.tslib/gates/uncached-route.mjslib/gates/usage-spike-triage.mjslib/grade-recommendation.mjslib/impact-label.mjslib/impact-magnitude.mjslib/investigation-brief.mjslib/observation-safety.mjslib/project-facts.mjslib/queries.mjslib/reconcile-candidates.mjslib/render-report.mjslib/repo-root.mjslib/route-normalize.mjslib/sanitizers/bot-protection-certainty.mjslib/sanitizers/cache-tag-invalidation-certainty.mjslib/sanitizers/count-correct.mjslib/sanitizers/function-duration-invocations.mjslib/sanitizers/index.mjslib/sanitizers/middleware-conflict.mjslib/sanitizers/missing-citation.mjslib/sanitizers/pre-release.mjslib/sanitizers/rate-limit.mjslib/sanitizers/rendering-mode-mislabel.mjslib/sanitizers/undeclared-dep.mjslib/sanitizers/vercel-directive-strip.mjslib/sanitizers/window-units.mjslib/scanners/cache-components-suspense-dedupe.mjslib/scanners/edge-heavy-import.mjslib/scanners/force-dynamic.mjslib/scanners/headers-in-page.mjslib/scanners/index.mjslib/scanners/large-static-asset.mjslib/scanners/max-age-without-s-maxage.mjslib/scanners/middleware-broad-matcher.mjslib/scanners/missing-cache-headers.mjslib/scanners/prisma-include-tree.mjslib/scanners/region-pin-in-config.mjslib/scanners/source-maps-production.mjslib/scanners/sveltekit-prerender-missing.mjslib/scanners/turbo-force-bypass.mjslib/scanners/unoptimized-image.mjslib/scanners/use-cache-date-stamp.mjslib/support-topics.mjslib/throttle.mjslib/util.mjslib/vercel.mjslib/verify-claim.mjslib/workspace-resolver.mjsscripts/budget-summary.mjsscripts/build-docs.mjsscripts/check-citations.mjsscripts/check-docs-fresh.mjsscripts/collect-signals.mjsscripts/collect-sub-agent-outputs.mjsscripts/deep-dive.mjsscripts/gate-investigations.mjsscripts/merge-signals.mjsscripts/prepare-investigation-brief.mjsscripts/reconcile-candidates.mjsscripts/render-report.mjsscripts/scan-codebase.mjsscripts/verify-and-regen.mjsscripts/verify-finding.mjs
Files
AGENTS.mddoc1,964 bytesCONTRIBUTING.mddoc2,224 bytesREADME.mddoc4,471 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 bytesSKILL.mdcore17,311 byteslib/auth-route.mjsruns807 byteslib/budget-summary.mjsruns7,145 byteslib/citations.mjsruns4,029 byteslib/cost-coverage.mjsruns8,628 byteslib/dedup-recs.mjsruns10,151 byteslib/deep-dive.mjsruns10,458 byteslib/display-labels.mjsruns7,611 byteslib/extract-claims.mjsruns19,136 byteslib/framework-support.mjsruns2,126 byteslib/gates/build-minutes-fanout.mjsruns3,016 byteslib/gates/cold-start.mjsruns2,797 byteslib/gates/contract.mjsruns3,143 byteslib/gates/cwv-poor.mjsruns3,372 byteslib/gates/external-api-slow.mjsruns2,173 byteslib/gates/hard-gates.mjsruns2,543 byteslib/gates/index.mjsruns2,066 byteslib/gates/isr-overrevalidation.mjsruns2,442 byteslib/gates/middleware-heavy.mjsruns2,085 byteslib/gates/observability-events-attribution.mjsruns2,255 byteslib/gates/platform-bot-protection.mjsruns5,089 byteslib/gates/platform-fluid-compute.mjsruns3,630 byteslib/gates/region-misconfig.mjsruns3,101 byteslib/gates/route-errors.mjsruns3,101 byteslib/gates/scanner-driven.mjsruns5,191 byteslib/gates/select-candidates.mjsruns4,703 byteslib/gates/slow-route.mjsruns4,384 byteslib/gates/types.d.tsruns893 byteslib/gates/uncached-route.mjsruns3,963 byteslib/gates/usage-spike-triage.mjsruns5,095 byteslib/grade-recommendation.mjsruns6,887 byteslib/impact-label.mjsruns5,344 byteslib/impact-magnitude.mjsruns2,172 byteslib/investigation-brief.mjsruns35,165 byteslib/observation-safety.mjsruns9,486 byteslib/project-facts.mjsruns4,399 byteslib/queries.mjsruns10,338 byteslib/reconcile-candidates.mjsruns15,966 byteslib/render-report.mjsruns39,131 byteslib/repo-root.mjsruns3,135 byteslib/route-normalize.mjsruns8,590 byteslib/sanitizers/bot-protection-certainty.mjsruns1,988 byteslib/sanitizers/cache-tag-invalidation-certainty.mjsruns1,522 byteslib/sanitizers/count-correct.mjsruns1,956 byteslib/sanitizers/function-duration-invocations.mjsruns1,470 byteslib/sanitizers/index.mjsruns3,053 byteslib/sanitizers/middleware-conflict.mjsruns1,586 byteslib/sanitizers/missing-citation.mjsruns497 byteslib/sanitizers/pre-release.mjsruns2,224 byteslib/sanitizers/rate-limit.mjsruns2,655 byteslib/sanitizers/rendering-mode-mislabel.mjsruns1,670 byteslib/sanitizers/undeclared-dep.mjsruns2,833 byteslib/sanitizers/vercel-directive-strip.mjsruns1,460 byteslib/sanitizers/window-units.mjsruns869 byteslib/scanners/cache-components-suspense-dedupe.mjsruns4,367 byteslib/scanners/edge-heavy-import.mjsruns3,740 byteslib/scanners/force-dynamic.mjsruns1,586 byteslib/scanners/headers-in-page.mjsruns1,537 byteslib/scanners/index.mjsruns1,458 byteslib/scanners/large-static-asset.mjsruns3,279 byteslib/scanners/max-age-without-s-maxage.mjsruns1,629 byteslib/scanners/middleware-broad-matcher.mjsruns1,986 byteslib/scanners/missing-cache-headers.mjsruns3,922 byteslib/scanners/prisma-include-tree.mjsruns1,585 byteslib/scanners/region-pin-in-config.mjsruns3,448 byteslib/scanners/source-maps-production.mjsruns1,300 byteslib/scanners/sveltekit-prerender-missing.mjsruns2,127 byteslib/scanners/turbo-force-bypass.mjsruns4,974 byteslib/scanners/unoptimized-image.mjsruns4,516 byteslib/scanners/use-cache-date-stamp.mjsruns4,040 byteslib/support-topics.mjsruns12,836 byteslib/throttle.mjsruns8,992 byteslib/util.mjsruns544 byteslib/vercel.mjsruns31,125 byteslib/verify-claim.mjsruns60,992 byteslib/workspace-resolver.mjsruns17,545 bytesmetadata.jsonasset903 bytesreferences/candidates.mddoc8,510 bytesreferences/data-collection.mddoc20,925 bytesreferences/docs-library.jsonasset31,540 bytesreferences/doctrine.mddoc9,512 bytesreferences/observability-plus.mddoc5,329 bytesreferences/playbooks/README.mddoc2,812 bytesreferences/playbooks/ai-application.mddoc3,933 bytesreferences/playbooks/api-service.mddoc2,485 bytesreferences/playbooks/content-site.mddoc2,502 bytesreferences/playbooks/ecommerce.mddoc2,737 bytesreferences/playbooks/marketing.mddoc2,675 bytesreferences/playbooks/saas.mddoc2,896 bytesreferences/playbooks/sveltekit.mddoc4,019 bytesreferences/recommendations.mddoc10,788 bytesreferences/scanner-patterns.mddoc13,671 bytesreferences/scoring.mddoc12,505 bytesreferences/support-topics/README.mddoc1,785 bytesreferences/support-topics/astro-edge-middleware-scope.mddoc1,012 bytesreferences/support-topics/astro-output-mode-and-isr.mddoc1,135 bytesreferences/support-topics/auth-preserving-parallelization.mddoc1,203 bytesreferences/support-topics/bot-protection-product-guardrails.mddoc1,119 bytesreferences/support-topics/build-minutes-monorepo-fanout.mddoc1,269 bytesreferences/support-topics/cache-components-static-shell-boundaries.mddoc1,162 bytesreferences/support-topics/cache-components-suspense-dedupe-pitfall.mddoc1,380 bytesreferences/support-topics/cdn-cache-auth-safety.mddoc1,068 bytesreferences/support-topics/cold-start-initialization-bundle.mddoc1,159 bytesreferences/support-topics/core-web-vitals-client-bottlenecks.mddoc1,037 bytesreferences/support-topics/database-egress-pooling-region.mddoc1,015 bytesreferences/support-topics/dynamic-rendering-traps.mddoc1,139 bytesreferences/support-topics/external-api-critical-path-platform.mddoc1,145 bytesreferences/support-topics/external-api-critical-path.mddoc978 bytesreferences/support-topics/fast-data-transfer-payloads.mddoc1,050 bytesreferences/support-topics/fluid-compute-caveats.mddoc1,125 bytesreferences/support-topics/function-duration-io-and-after.mddoc1,027 bytesreferences/support-topics/function-invocation-reduction.mddoc1,181 bytesreferences/support-topics/function-region-misconfiguration-ttfb.mddoc1,254 bytesreferences/support-topics/image-optimization-cost-control.mddoc1,071 bytesreferences/support-topics/isr-revalidation-static-generation.mddoc1,419 bytesreferences/support-topics/middleware-proxy-edge-cost.mddoc991 bytesreferences/support-topics/next-fetch-revalidate-floor.mddoc1,059 bytesreferences/support-topics/next-font-cls-self-hosting.mddoc906 bytesreferences/support-topics/next-heavy-ui-lazy-load-boundaries.mddoc1,048 bytesreferences/support-topics/next-image-lcp-preload-sizes.mddoc1,062 bytesreferences/support-topics/next-route-handler-get-cache-defaults.mddoc1,072 bytesreferences/support-topics/next-script-third-party-strategy.mddoc1,051 bytesreferences/support-topics/nextjs-version-cache-semantics.mddoc996 bytesreferences/support-topics/not-found-catchall-request-waste.mddoc1,273 bytesreferences/support-topics/nuxt-route-rules-cache-isr.mddoc1,188 bytesreferences/support-topics/observability-events-cost-attribution.mddoc1,155 bytesreferences/support-topics/post-response-work-waituntil.mddoc1,009 bytesreferences/support-topics/route-error-durable-offload.mddoc1,298 bytesreferences/support-topics/route-error-runtime-limits.mddoc988 bytesreferences/support-topics/runtime-cache-reusable-data.mddoc1,180 bytesreferences/support-topics/sveltekit-isr-prerender-safety.mddoc1,167 bytesreferences/support-topics/sveltekit-split-cold-start-tradeoff.mddoc1,040 bytesreferences/support-topics/usage-spike-triage.mddoc1,018 bytesreferences/support-topics/use-cache-date-stamp-isr-write-amplifier.mddoc1,189 bytesreferences/support-topics/use-cache-remote-shared-origin-data.mddoc1,089 bytesreferences/support-topics/workflow-resumable-stream-routes.mddoc1,274 bytesreferences/verification.mddoc9,000 bytesreferences/voice.mddoc3,731 bytesscripts/budget-summary.mjsruns2,096 bytesscripts/build-docs.mjsruns3,414 bytesscripts/check-citations.mjsruns3,531 bytesscripts/check-docs-fresh.mjsruns3,910 bytesscripts/collect-signals.mjsruns21,576 bytesscripts/collect-sub-agent-outputs.mjsruns10,123 bytesscripts/deep-dive.mjsruns12,332 bytesscripts/gate-investigations.mjsruns6,353 bytesscripts/merge-signals.mjsruns6,325 bytesscripts/prepare-investigation-brief.mjsruns8,071 bytesscripts/reconcile-candidates.mjsruns2,442 bytesscripts/render-report.mjsruns17,424 bytesscripts/scan-codebase.mjsruns11,521 bytesscripts/verify-and-regen.mjsruns15,238 bytesscripts/verify-finding.mjsruns698 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubweb-design-guidelines
When your agent uses it
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
268 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
- How It Works
- Guidelines Source
- Usage
Files
SKILL.mdcore1,231 bytesSKILL.mdcore1,231 bytesSKILL.mdcore1,231 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubwriting-guidelines
When your agent uses it
Review docs/prose for Writing Guidelines compliance. Use when asked to "review my docs", "check writing style", "audit prose", "review docs voice and tone", or "check this page against the writing handbook".
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
270 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
- How It Works
- Guidelines Source
- Usage
Files
SKILL.mdcore1,233 bytesSKILL.mdcore1,233 bytesSKILL.mdcore1,233 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- vercel-composition-patterns
- deploy-to-vercel
- vercel-react-best-practices
- vercel-react-native-skills
- vercel-react-view-transitions
- vercel-cli-with-tokens
- vercel-optimize
- web-design-guidelines
- writing-guidelines
Repository facts
- License
- No license detected
- Created
- Dec 8, 2025
- Last pushed
- Oct 28, 2026
- Forks
- 2,940
- Open issues
- 71
- Project activity
- Active
Rank over the last 12 weeks
Now #58 · best #50 · same as 30 days ago
- #59 from Oct 19 to Oct 21
- #58 from Oct 22 to Oct 24
- #59 on Oct 25
- #58 from Oct 28 to Oct 29
- #59 from Oct 30 to Oct 31
- #58 since Nov 1
11 earlier periods
- #48 on Aug 2
- #50 from Aug 7 to Aug 19
- #51 from Aug 20 to Aug 28
- #53 from Aug 29 to Aug 30
- #52 from Aug 31 to Sep 3
- #53 from Sep 4 to Sep 7
- #54 from Sep 8 to Sep 9
- #55 from Sep 10 to Sep 15
- #56 from Sep 16 to Sep 19
- #57 from Sep 20 to Sep 22
- #58 from Sep 23 to Oct 18
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 66 notes
skills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deploy-to-vercel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/vercel-cli-with-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/vercel-cli-with-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/vercel-cli-with-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/vercel-cli-with-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/vercel-cli-with-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/vercel-cli-with-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/vercel-cli-with-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 2 dangerous shell commandsin 2 files: vercel-cli-with-tokens/SKILL.md:248 vercel-optimize/lib/vercel.mjs:87
- 849 network referencesin 136 files: vercel-optimize/references/docs-library.json:7 react-best-practices/AGENTS.md:266 vercel-optimize/references/scanner-patterns.md:23 and 133 more
- No hidden or obfuscated text
- No instruction overrides
- 90 executable scriptsin 90 files: vercel-optimize/lib/auth-route.mjs:1 vercel-optimize/lib/budget-summary.mjs:1 vercel-optimize/lib/citations.mjs:1 and 87 more
- 11 references to secretsin 3 files: vercel-cli-with-tokens/SKILL.md:25 vercel-optimize/lib/vercel.mjs:368 vercel-optimize/references/playbooks/ai-application.md:12
- No requests to vote in Hot
Show all 952 signals by file
skills/composition-patterns/AGENTS.md
- Network accessline 944
1. [https://react.dev](https://react.dev) - Network accessline 945
2. [https://react.dev/learn/passing-data-deeply-with-context](https://react.dev/learn/passing-data-deeply-with-context) - Network accessline 946
3. [https://react.dev/reference/react/use](https://react.dev/reference/react/use)
skills/composition-patterns/metadata.json
- Network accessline 5
"abstract": "Composition patterns for building flexible, maintainable React components. Avoid boolean prop proliferation by using compound components, lifting state, and composing internals. These patterns make codebases easier for both hum - Network accessline 6
"references": [ "https://react.dev", "https://react.dev/learn/passing-data-deeply-with-context", - Network accessline 7
"https://react.dev", - Network accessline 8
"https://react.dev/learn/passing-data-deeply-with-context", - Network accessline 9
"https://react.dev/reference/react/use"
skills/composition-patterns/rules/_template.md
- Network accessline 24
Reference: [Link](https://example.com)
skills/deploy-to-vercel/SKILL.md
skills/react-best-practices/AGENTS.md
- Network accessline 266
Reference: [https://github.com/shuding/better-all](https://github.com/shuding/better-all) - Network accessline 477
Reference: [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js) - Network accessline 639
Reference: [https://nextjs.org/docs/app/api-reference/config/next-config-js/output](https://nextjs.org/docs/app/api-reference/config/next-config-js/output), [https://nextjs.org/learn/seo/dynamic-imports](https://nextjs.org/learn/seo/dynamic - Network accessline 783
Reference: [https://nextjs.org/docs/app/guides/authentication](https://nextjs.org/docs/app/guides/authentication) - Network accessline 925
**With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute):** LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests - Network accessline 929
Reference: [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache) - Network accessline 943
export async function GET(request: Request) { // Runs on EVERY request - expensive! const fontData = await fetch( - Network accessline 944
// Runs on EVERY request - expensive! const fontData = await fetch( new URL('./fonts/Inter.ttf', import.meta.url) - Network accessline 945
const fontData = await fetch( - Network accessline 949
const logoData = await fetch( - Network accessline 969
// Module-level: runs ONCE when module is first imported const fontData = fetch( - Network accessline 970
const fontData = fetch( - Network accessline 974
const logoData = fetch( - Network accessline 1077
With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute), module-level caching is especially effective because multiple concurrent requests share the same function instance. The static assets stay loaded in memory across request - Network accessline 1288
Reference: [https://react.dev/reference/react/cache](https://react.dev/reference/react/cache) - Network accessline 1362
Reference: [https://nextjs.org/docs/app/api-reference/functions/after](https://nextjs.org/docs/app/api-reference/functions/after) - Network accessline 1496
const [users, setUsers] = useState([]) useEffect(() => { fetch('/api/users') - Network accessline 1497
useEffect(() => { fetch('/api/users') .then(r => r.json()) - Network accessline 1498
fetch('/api/users') - Network accessline 1536
Reference: [https://swr.vercel.app](https://swr.vercel.app) - Network accessline 1647
Reference: [https://react.dev/learn/you-might-not-need-an-effect](https://react.dev/learn/you-might-not-need-an-effect) - Network accessline 1866
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders. - Network accessline 1948
Reference: [https://react.dev/learn/removing-effect-dependencies#should-this-code-move-to-an-event-handler](https://react.dev/learn/removing-effect-dependencies#should-this-code-move-to-an-event-handler) - Network accessline 2008
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, it automatically optimizes dependency tracking and may handle some of these cases for you. - Network accessline 2111
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bu - Network accessline 2258
Reference: [https://react.dev/reference/react/useDeferredValue](https://react.dev/reference/react/useDeferredValue) - Network accessline 2454
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary. - Network accessline 2623
<html> <head> <script src="https://example.com/analytics.js" /> - Network accessline 2624
<head> <script src="https://example.com/analytics.js" /> <script src="/scripts/utils.js" /> - Network accessline 2625
<script src="https://example.com/analytics.js" /> - Network accessline 2640
return ( <> <Script src="https://example.com/analytics.js" strategy="afterInteractive" /> - Network accessline 2641
<> <Script src="https://example.com/analytics.js" strategy="afterInteractive" /> <Script src="/scripts/utils.js" strategy="beforeInteractive" /> - Network accessline 2642
<Script src="https://example.com/analytics.js" strategy="afterInteractive" /> - Network accessline 2651
Reference: [https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#defer](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#defer) - Network accessline 2712
export default function App() { prefetchDNS('https://analytics.example.com') - Network accessline 2713
prefetchDNS('https://analytics.example.com') - Network accessline 2714
preconnect('https://api.example.com') - Network accessline 2778
Reference: [https://react.dev/reference/react-dom#resource-preloading-apis](https://react.dev/reference/react-dom#resource-preloading-apis) - Network accessline 2852
Reference: [https://react.dev/reference/react/useTransition](https://react.dev/reference/react/useTransition) - Network accessline 2948
See [this gist](https://gist.github.com/paulirish/5d52fb081b3570c81e3a) and [CSS Triggers](https://csstriggers.com/) for more information on layout-forcing operations. - Network accessline 3082
Reference: [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast) - Network accessline 3552
This works for small arrays, but can be slower or just throw an error for very large arrays due to spread operator limitations. Maximal array length is approximately 124000 in Chrome 143 and 638000 in Safari 18; exact numbers may vary - see - Network accessline 3689
Reference: [https://react.dev/reference/react/useEffectEvent#effect-event-in-deps](https://react.dev/reference/react/useEffectEvent#effect-event-in-deps) - Network accessline 3727
Reference: [https://react.dev/learn/you-might-not-need-an-effect#initializing-the-application](https://react.dev/learn/you-might-not-need-an-effect#initializing-the-application) - Network accessline 3804
1. [https://react.dev](https://react.dev) - Network accessline 3805
2. [https://nextjs.org](https://nextjs.org) - Network accessline 3806
3. [https://swr.vercel.app](https://swr.vercel.app) - Network accessline 3807
4. [https://github.com/shuding/better-all](https://github.com/shuding/better-all) - Network accessline 3808
5. [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache) - Network accessline 3809
6. [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js) - Network accessline 3810
7. [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)
skills/react-best-practices/README.md
skills/react-best-practices/metadata.json
- Network accessline 5
"abstract": "Comprehensive performance optimization guide for React and Next.js applications, designed for AI agents and LLMs. Contains 40+ rules across 8 categories, prioritized by impact from critical (eliminating waterfalls, reducing bun - Network accessline 6
"references": [ "https://react.dev", "https://nextjs.org", - Network accessline 7
"https://react.dev", - Network accessline 8
"https://nextjs.org", - Network accessline 9
"https://swr.vercel.app", - Network accessline 10
"https://github.com/shuding/better-all", - Network accessline 11
"https://github.com/isaacs/node-lru-cache", - Network accessline 12
"https://vercel.com/blog/how-we-optimized-package-imports-in-next-js", - Network accessline 13
"https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast"
skills/react-best-practices/rules/_template.md
- Network accessline 28
Reference: [Link to documentation or resource](https://example.com)
skills/react-best-practices/rules/advanced-effect-event-deps.md
- Network accessline 56
Reference: [React useEffectEvent: Effect Event in deps](https://react.dev/reference/react/useEffectEvent#effect-event-in-deps)
skills/react-best-practices/rules/advanced-init-once.md
- Network accessline 42
Reference: [Initializing the application](https://react.dev/learn/you-might-not-need-an-effect#initializing-the-application)
skills/react-best-practices/rules/async-dependencies.md
- Network accessline 51
Reference: [https://github.com/shuding/better-all](https://github.com/shuding/better-all)
skills/react-best-practices/rules/bundle-analyzable-paths.md
- Network accessline 63
Reference: [Next.js output](https://nextjs.org/docs/app/api-reference/config/next-config-js/output), [Next.js dynamic imports](https://nextjs.org/learn/seo/dynamic-imports), [Vite features](https://vite.dev/guide/features.html), [esbuild AP
skills/react-best-practices/rules/bundle-barrel-imports.md
- Network accessline 60
Reference: [How we optimized package imports in Next.js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
skills/react-best-practices/rules/client-swr-dedup.md
skills/react-best-practices/rules/js-batch-dom-css.md
- Network accessline 107
See [this gist](https://gist.github.com/paulirish/5d52fb081b3570c81e3a) and [CSS Triggers](https://csstriggers.com/) for more information on layout-forcing operations.
skills/react-best-practices/rules/js-cache-function-results.md
- Network accessline 80
Reference: [How we made the Vercel Dashboard twice as fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)
skills/react-best-practices/rules/js-min-max-loop.md
- Network accessline 82
This works for small arrays, but can be slower or just throw an error for very large arrays due to spread operator limitations. Maximal array length is approximately 124000 in Chrome 143 and 638000 in Safari 18; exact numbers may vary - see
skills/react-best-practices/rules/rendering-hoist-jsx.md
- Network accessline 46
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.
skills/react-best-practices/rules/rendering-resource-hints.md
- Network accessline 26
export default function App() { prefetchDNS('https://analytics.example.com') - Network accessline 27
prefetchDNS('https://analytics.example.com') - Network accessline 28
preconnect('https://api.example.com') - Network accessline 85
Reference: [React DOM Resource Preloading APIs](https://react.dev/reference/react-dom#resource-preloading-apis)
skills/react-best-practices/rules/rendering-script-defer-async.md
- Network accessline 24
<html> <head> <script src="https://example.com/analytics.js" /> - Network accessline 25
<head> <script src="https://example.com/analytics.js" /> <script src="/scripts/utils.js" /> - Network accessline 26
<script src="https://example.com/analytics.js" /> - Network accessline 41
<head> {/* Independent script - use async */} <script src="https://example.com/analytics.js" async /> - Network accessline 42
{/* Independent script - use async */} <script src="https://example.com/analytics.js" async /> {/* DOM-dependent script - use defer */} - Network accessline 43
<script src="https://example.com/analytics.js" async /> - Network accessline 59
return ( <> <Script src="https://example.com/analytics.js" strategy="afterInteractive" /> - Network accessline 60
<> <Script src="https://example.com/analytics.js" strategy="afterInteractive" /> <Script src="/scripts/utils.js" strategy="beforeInteractive" /> - Network accessline 61
<Script src="https://example.com/analytics.js" strategy="afterInteractive" /> - Network accessline 68
Reference: [MDN - Script element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#defer)
skills/react-best-practices/rules/rendering-usetransition-loading.md
- Network accessline 75
Reference: [useTransition](https://react.dev/reference/react/useTransition)
skills/react-best-practices/rules/rerender-derived-state-no-effect.md
- Network accessline 40
References: [You Might Not Need an Effect](https://react.dev/learn/you-might-not-need-an-effect)
skills/react-best-practices/rules/rerender-functional-setstate.md
- Network accessline 74
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bu
skills/react-best-practices/rules/rerender-memo.md
- Network accessline 44
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.
skills/react-best-practices/rules/rerender-move-effect-to-event.md
- Network accessline 45
Reference: [Should this code move to an event handler?](https://react.dev/learn/removing-effect-dependencies#should-this-code-move-to-an-event-handler)
skills/react-best-practices/rules/rerender-split-combined-hooks.md
- Network accessline 64
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, it automatically optimizes dependency tracking and may handle some of these cases for you.
skills/react-best-practices/rules/rerender-use-deferred-value.md
- Network accessline 59
Reference: [React useDeferredValue](https://react.dev/reference/react/useDeferredValue)
skills/react-best-practices/rules/server-after-nonblocking.md
- Network accessline 73
Reference: [https://nextjs.org/docs/app/api-reference/functions/after](https://nextjs.org/docs/app/api-reference/functions/after)
skills/react-best-practices/rules/server-auth-actions.md
- Network accessline 96
Reference: [https://nextjs.org/docs/app/guides/authentication](https://nextjs.org/docs/app/guides/authentication)
skills/react-best-practices/rules/server-cache-lru.md
- Network accessline 37
**With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute):** LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests - Network accessline 41
Reference: [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
skills/react-best-practices/rules/server-cache-react.md
- Network accessline 76
Reference: [React.cache documentation](https://react.dev/reference/react/cache)
skills/react-best-practices/rules/server-hoist-static-io.md
- Network accessline 20
export async function GET(request: Request) { // Runs on EVERY request - expensive! const fontData = await fetch( - Network accessline 21
// Runs on EVERY request - expensive! const fontData = await fetch( new URL('./fonts/Inter.ttf', import.meta.url) - Network accessline 22
const fontData = await fetch( - Network accessline 26
const logoData = await fetch( - Network accessline 46
// Module-level: runs ONCE when module is first imported const fontData = fetch( - Network accessline 47
const fontData = fetch( - Network accessline 51
const logoData = fetch( - Network accessline 147
With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute), module-level caching is especially effective because multiple concurrent requests share the same function instance. The static assets stay loaded in memory across request
skills/react-native-skills/AGENTS.md
- Network accessline 154
[eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md) - Network accessline 335
Reference: [https://example.com](https://example.com) - Network accessline 761
[LegendList getItemType](https://legendapp.com/open-source/list/api/props/#getitemtype-v2) - Network accessline 937
[Reanimated useDerivedValue](https://docs.swmansion.com/react-native-reanimated/docs/core/useDerivedValue) - Network accessline 989
[Gesture Handler Tap Gesture](https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture) - Network accessline 1187
- [React Navigation Native Stack](https://reactnavigation.org/docs/native-stack-navigator) - Network accessline 1189
- [React Native Bottom Tabs with React Navigation](https://oss.callstack.com/react-native-bottom-tabs/docs/guides/usage-with-react-navigation) - Network accessline 1191
- [React Native Bottom Tabs with Expo Router](https://oss.callstack.com/react-native-bottom-tabs/docs/guides/usage-with-expo-router) - Network accessline 1193
- [Expo Router Native Tabs](https://docs.expo.dev/router/advanced/native-tabs) - Network accessline 1426
Reference: [https://react.dev/learn/choosing-the-state-structure](https://react.dev/learn/choosing-the-state-structure) - Network accessline 1770
[Reanimated docs](https://docs.swmansion.com/react-native-reanimated/docs/core/useSharedValue/#react-compiler-support) - Network accessline 2107
Reference: [https://docs.expo.dev/versions/latest/sdk/image/](https://docs.expo.dev/versions/latest/sdk/image/) - Network accessline 2209
Reference: [https://github.com/nandorojo/galeria](https://github.com/nandorojo/galeria) - Network accessline 2219
Use [zeego](https://zeego.dev) for cross-platform native menus. - Network accessline 2381
Reference: [https://zeego.dev/components/dropdown-menu](https://zeego.dev/components/dropdown-menu) - Network accessline 2842
[Expo Font Documentation](https://docs.expo.dev/versions/latest/sdk/font/) - Network accessline 2890
1. [https://react.dev](https://react.dev) - Network accessline 2891
2. [https://reactnative.dev](https://reactnative.dev) - Network accessline 2892
3. [https://docs.swmansion.com/react-native-reanimated](https://docs.swmansion.com/react-native-reanimated) - Network accessline 2893
4. [https://docs.swmansion.com/react-native-gesture-handler](https://docs.swmansion.com/react-native-gesture-handler) - Network accessline 2894
5. [https://docs.expo.dev](https://docs.expo.dev) - Network accessline 2895
6. [https://legendapp.com/open-source/legend-list](https://legendapp.com/open-source/legend-list) - Network accessline 2896
7. [https://github.com/nandorojo/galeria](https://github.com/nandorojo/galeria) - Network accessline 2897
8. [https://zeego.dev](https://zeego.dev)
skills/react-native-skills/README.md
- Network accessline 148
Reference: [Link](https://example.com)
skills/react-native-skills/metadata.json
- Network accessline 5
"abstract": "Comprehensive performance optimization guide for React Native applications, designed for AI agents and LLMs. Contains 35+ rules across 13 categories, prioritized by impact from critical (core rendering, list performance) to inc - Network accessline 6
"references": [ "https://react.dev", "https://reactnative.dev", - Network accessline 7
"https://react.dev", - Network accessline 8
"https://reactnative.dev", - Network accessline 9
"https://docs.swmansion.com/react-native-reanimated", - Network accessline 10
"https://docs.swmansion.com/react-native-gesture-handler", - Network accessline 11
"https://docs.expo.dev", - Network accessline 12
"https://legendapp.com/open-source/legend-list", - Network accessline 13
"https://github.com/nandorojo/galeria", - Network accessline 14
"https://zeego.dev"
skills/react-native-skills/rules/_template.md
- Network accessline 28
Reference: [Link to documentation or resource](https://example.com)
skills/react-native-skills/rules/animation-derived-value.md
skills/react-native-skills/rules/animation-gesture-detector-press.md
skills/react-native-skills/rules/fonts-config-plugin.md
skills/react-native-skills/rules/list-performance-callbacks.md
- Network accessline 44
Reference: [Link to documentation or resource](https://example.com)
skills/react-native-skills/rules/list-performance-item-types.md
skills/react-native-skills/rules/navigation-native-navigators.md
- Network accessline 185
- [React Navigation Native Stack](https://reactnavigation.org/docs/native-stack-navigator) - Network accessline 186
- [React Native Bottom Tabs with React Navigation](https://oss.callstack.com/react-native-bottom-tabs/docs/guides/usage-with-react-navigation) - Network accessline 187
- [React Native Bottom Tabs with Expo Router](https://oss.callstack.com/react-native-bottom-tabs/docs/guides/usage-with-expo-router) - Network accessline 188
- [Expo Router Native Tabs](https://docs.expo.dev/router/advanced/native-tabs)
skills/react-native-skills/rules/react-compiler-reanimated-shared-values.md
skills/react-native-skills/rules/react-state-minimize.md
- Network accessline 65
Reference: [Choosing the State Structure](https://react.dev/learn/choosing-the-state-structure)
skills/react-native-skills/rules/rendering-no-falsy-and.md
- Network accessline 72
**Lint rule:** Enable `react/jsx-no-leaked-render` from [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md) - Network accessline 73
[eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md)
skills/react-native-skills/rules/ui-expo-image.md
- Network accessline 66
Reference: [expo-image](https://docs.expo.dev/versions/latest/sdk/image/)
skills/react-native-skills/rules/ui-image-gallery.md
- Network accessline 104
Reference: [Galeria](https://github.com/nandorojo/galeria)
skills/react-native-skills/rules/ui-menus.md
- Network accessline 10
Use native platform menus instead of custom JS implementations. Native menus provide built-in accessibility, consistent platform UX, and better performance. Use [zeego](https://zeego.dev) for cross-platform native menus. - Network accessline 12
Use [zeego](https://zeego.dev) for cross-platform native menus. - Network accessline 174
Reference: [Zeego Documentation](https://zeego.dev/components/dropdown-menu)
skills/react-view-transitions/AGENTS.md
- Network accessline 337
Use the official [React `<ViewTransition>` reference](https://react.dev/reference/react/ViewTransition) and [Next.js guide](https://nextjs.org/docs/app/guides/view-transitions) for API behavior. This file focuses on audit order, integration - Network accessline 508
Use the official [React `<ViewTransition>` reference](https://react.dev/reference/react/ViewTransition) for API mechanics. This file collects reusable implementation patterns and failure modes from production apps. - Network accessline 626
- **Persistent chrome** (nav, sidebar, player bar): `<nav style={{ viewTransitionName: 'persistent-nav' }}>` + isolation CSS. `<ViewTransition default="none">` works too, but its auto-name can't take `z-index`/backdrop `display:none` — hand - Network accessline 627
- **Floating elements** (popovers, menus): left open, they're captured in `root` and flicker on settle. Real name + isolation ([Floating Element Isolation](css-recipes.md#floating-element-isolation-popovers-menus-tooltips-control-clusters)) - Network accessline 628
- **Naming an interactive element has a cost:** named participants are skipped by hit-testing while a transition runs ([csswg#10930](https://github.com/w3c/csswg-drafts/issues/10930)) — clicks and hover fall through to whatever is beneath. - Network accessline 813
**Layout VT prevents page VTs from animating:** Nested VTs skip their own enter/exit when they mount or unmount as one unit with a parent VT. Keep route boundaries in pages, not a layout wrapping `{children}`. React has experimental upstrea - Network accessline 1053
Trade-offs: clicks can hit live elements under still-moving snapshots, and it only helps **unnamed** content — named participants are skipped by hit-testing for the transition's duration, no CSS override ([csswg#10930](https://github.com/w3 - Network accessline 1154
Read the current [Next.js View Transitions guide](https://nextjs.org/docs/app/guides/view-transitions) and the matching guide under `node_modules/next/dist/docs/` before editing. The installed version is authoritative for flags and API sign - Network accessline 1214
See the Next.js [View Transitions guide](https://nextjs.org/docs/app/guides/view-transitions) and [Prefetching guide](https://nextjs.org/docs/app/guides/prefetching).
skills/react-view-transitions/README.md
- Network accessline 32
Install via [skills.sh](https://skills.sh): - Network accessline 35
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-view-transitions - Network accessline 40
- [React `<ViewTransition>` docs](https://react.dev/reference/react/ViewTransition) - Network accessline 41
- [React `addTransitionType` docs](https://react.dev/reference/react/addTransitionType) - Network accessline 42
- [Next.js View Transitions guide](https://nextjs.org/docs/app/guides/view-transitions) - Network accessline 43
- [Next.js `<Link>` `transitionTypes`](https://nextjs.org/docs/app/api-reference/components/link#transitiontypes) - Network accessline 44
- [Next.js App Router Playground (view transitions)](https://github.com/vercel/next-app-router-playground/tree/main/app/view-transitions) — Vercel's reference implementation
skills/react-view-transitions/metadata.json
- Network accessline 5
"abstract": "Guide for implementing smooth, native-feeling animations using React's View Transition API. Covers the <ViewTransition> component, addTransitionType, CSS view transition pseudo-elements, shared element transitions, JavaScript a - Network accessline 6
"references": [ "https://react.dev/reference/react/ViewTransition", "https://react.dev/reference/react/addTransitionType", - Network accessline 7
"https://react.dev/reference/react/ViewTransition", - Network accessline 8
"https://react.dev/reference/react/addTransitionType", - Network accessline 9
"https://nextjs.org/docs/app/api-reference/config/next-config-js/viewTransition", - Network accessline 10
"https://github.com/vercel/next-app-router-playground/tree/main/app/view-transitions"
skills/react-view-transitions/references/css-recipes.md
- Network accessline 221
Trade-offs: clicks can hit live elements under still-moving snapshots, and it only helps **unnamed** content — named participants are skipped by hit-testing for the transition's duration, no CSS override ([csswg#10930](https://github.com/w3
skills/react-view-transitions/references/implementation.md
- Network accessline 5
Use the official [React `<ViewTransition>` reference](https://react.dev/reference/react/ViewTransition) and [Next.js guide](https://nextjs.org/docs/app/guides/view-transitions) for API behavior. This file focuses on audit order, integration
skills/react-view-transitions/references/nextjs.md
- Network accessline 7
Read the current [Next.js View Transitions guide](https://nextjs.org/docs/app/guides/view-transitions) and the matching guide under `node_modules/next/dist/docs/` before editing. The installed version is authoritative for flags and API sign - Network accessline 67
See the Next.js [View Transitions guide](https://nextjs.org/docs/app/guides/view-transitions) and [Prefetching guide](https://nextjs.org/docs/app/guides/prefetching).
skills/react-view-transitions/references/patterns.md
- Network accessline 3
Use the official [React `<ViewTransition>` reference](https://react.dev/reference/react/ViewTransition) for API mechanics. This file collects reusable implementation patterns and failure modes from production apps. - Network accessline 121
- **Persistent chrome** (nav, sidebar, player bar): `<nav style={{ viewTransitionName: 'persistent-nav' }}>` + isolation CSS. `<ViewTransition default="none">` works too, but its auto-name can't take `z-index`/backdrop `display:none` — hand - Network accessline 122
- **Floating elements** (popovers, menus): left open, they're captured in `root` and flicker on settle. Real name + isolation ([Floating Element Isolation](css-recipes.md#floating-element-isolation-popovers-menus-tooltips-control-clusters)) - Network accessline 123
- **Naming an interactive element has a cost:** named participants are skipped by hit-testing while a transition runs ([csswg#10930](https://github.com/w3c/csswg-drafts/issues/10930)) — clicks and hover fall through to whatever is beneath.
skills/react-view-transitions/references/troubleshooting.md
- Network accessline 31
**Layout VT prevents page VTs from animating:** Nested VTs skip their own enter/exit when they mount or unmount as one unit with a parent VT. Keep route boundaries in pages, not a layout wrapping `{children}`. React has experimental upstrea
skills/vercel-cli-with-tokens/SKILL.md
- Access to secretsline 25
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 77
[Credential-related source omitted] - Access to secretsline 78
[Credential-related source omitted] - Network accessline 81
**If you have a project URL** (e.g. `https://vercel.com/my-team/my-project`), extract the team slug: - Network accessline 84
# e.g. "my-team" from "https://vercel.com/my-team/my-project" - Network accessline 85
echo "$PROJECT_URL" | sed 's|https://vercel.com/||' | cut -d/ -f1 - Dangerous shell operationline 248
vercel env rm VAR_NAME --scope <team-slug> -y - Network accessline 297
Full details: https://vercel.com/docs/plans/pro-plan - Access to secretsline 318
[Credential-related source omitted]
skills/vercel-optimize/README.md
- Network accessline 7
[](https://skills.sh/vercel-labs/agent-skills)
skills/vercel-optimize/lib/auth-route.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/budget-summary.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/citations.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/cost-coverage.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/dedup-recs.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/deep-dive.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/display-labels.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/extract-claims.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/framework-support.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/build-minutes-fanout.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/cold-start.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/contract.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/cwv-poor.mjs
- Network accessline 1
// Thresholds are Google's "Poor" band (https://web.dev/articles/vitals): LCP p75 > 2500ms, INP > 200ms, CLS > 0.1. - Executable scriptline 1
Executable file - Network accessline 8
billingDimension: 'speed-insights', scope: 'route', sourceCitation: 'https://web.dev/articles/vitals', - Network accessline 9
scope: 'route', sourceCitation: 'https://web.dev/articles/vitals', description: - Network accessline 10
sourceCitation: 'https://web.dev/articles/vitals',
skills/vercel-optimize/lib/gates/external-api-slow.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/hard-gates.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/index.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/isr-overrevalidation.mjs
- Executable scriptline 1
Executable file - Network accessline 7
billingDimension: 'isr', scope: 'route', sourceCitation: 'https://vercel.com/docs/incremental-static-regeneration', - Network accessline 8
scope: 'route', sourceCitation: 'https://vercel.com/docs/incremental-static-regeneration', description: - Network accessline 9
sourceCitation: 'https://vercel.com/docs/incremental-static-regeneration',
skills/vercel-optimize/lib/gates/middleware-heavy.mjs
- Executable scriptline 1
Executable file - Network accessline 6
billingDimension: 'edge-requests', scope: 'account', sourceCitation: 'https://nextjs.org/docs/app/building-your-application/routing/middleware', - Network accessline 7
scope: 'account', sourceCitation: 'https://nextjs.org/docs/app/building-your-application/routing/middleware', description: - Network accessline 8
sourceCitation: 'https://nextjs.org/docs/app/building-your-application/routing/middleware', description: 'Middleware invocations cover > 50% of total requests at non-trivial volume. The matcher is probably broader than necessary; narr
skills/vercel-optimize/lib/gates/observability-events-attribution.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/platform-bot-protection.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/platform-fluid-compute.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/region-misconfig.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/route-errors.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/scanner-driven.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/select-candidates.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/slow-route.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/types.d.ts
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/uncached-route.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/gates/usage-spike-triage.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/grade-recommendation.mjs
- Executable scriptline 1
Executable file - Network accessline 4
const HEDGE_WORDS = /\b(consider|might|may|could|perhaps|maybe|likely|probably)\b/gi; const VERB_OPENERS = /^\s*(?:[-*]\s+|\d+[.)]\s+|[*_]+)?(?:add|set|enable|disable|replace|remove|move|wrap|cache|defer|parallelize|introduce|configure|upda - Network accessline 5
const VERB_OPENERS = /^\s*(?:[-*]\s+|\d+[.)]\s+|[*_]+)?(?:add|set|enable|disable|replace|remove|move|wrap|cache|defer|parallelize|introduce|configure|update|change|switch|opt[-\s]?in|opt[-\s]?out|export|import|install|run|delete|rename)/im; - Network accessline 6
const COUNT_WORDS_RE = /\b(errors?|queries|invocations|requests|reads|writes|bytes|fetch(?:es)?|calls?|hits?|misses?|seconds?|images?|deployments?|cold[- ]?starts?|users?)\b/gi;
skills/vercel-optimize/lib/impact-label.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/impact-magnitude.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/investigation-brief.mjs
- Executable scriptline 1
Executable file - Network accessline 603
hints.push('Next.js with Cache Components: for reusable data inside the render path, prefer `use cache` / `use cache: remote` plus `cacheLife()` and `cacheTag()` when invalidation evidence exists.'); } else { hints.push('Next.js d - Network accessline 604
} else { hints.push('Next.js data fetch path: use `fetch(..., { next: { revalidate: seconds } })` or route-level `revalidate` only when it matches the project version and route semantics. Before recommending route-level `export const - Network accessline 605
hints.push('Next.js data fetch path: use `fetch(..., { next: { revalidate: seconds } })` or route-level `revalidate` only when it matches the project version and route semantics. Before recommending route-level `export const revalidate`, in
skills/vercel-optimize/lib/observation-safety.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/project-facts.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/queries.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/reconcile-candidates.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/render-report.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/repo-root.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/route-normalize.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/bot-protection-certainty.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/cache-tag-invalidation-certainty.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/count-correct.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/function-duration-invocations.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/index.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/middleware-conflict.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/missing-citation.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/pre-release.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/rate-limit.mjs
- Executable scriptline 1
Executable file - Network accessline 4
const PROVIDER_LIMITS = { notion: { rps: 3, label: 'Notion', doc: 'https://developers.notion.com/reference/request-limits' }, - Network accessline 5
notion: { rps: 3, label: 'Notion', doc: 'https://developers.notion.com/reference/request-limits' }, - Network accessline 6
openai: { rps: 30, label: 'OpenAI', doc: 'https://platform.openai.com/docs/guides/rate-limits' }, - Network accessline 7
stripe: { rps: 100, label: 'Stripe', doc: 'https://docs.stripe.com/rate-limits' }, - Network accessline 8
anthropic: { rps: 10, label: 'Anthropic', doc: 'https://docs.anthropic.com/en/api/rate-limits' },
skills/vercel-optimize/lib/sanitizers/rendering-mode-mislabel.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/undeclared-dep.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/vercel-directive-strip.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/sanitizers/window-units.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/scanners/cache-components-suspense-dedupe.mjs
- Executable scriptline 1
Executable file - Network accessline 26
"Hoist the promise to the page level (`const dataPromise = fetchData()` at the top, passed down to each Suspense child) OR move the shared fetch into a `'use cache: remote'` data-access layer so cross-request and cross-boundary dedupe appli - Network accessline 27
citations: [ 'https://nextjs.org/docs/app/api-reference/directives/use-cache', 'https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents', - Network accessline 28
'https://nextjs.org/docs/app/api-reference/directives/use-cache', - Network accessline 29
'https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents', - Network accessline 30
'https://nextjs.org/docs/app/guides/migrating-to-cache-components', - Network accessline 63
line: lineOf(content, first.firstIdx), evidence: first.kind === 'fetch' ? `fetch("${truncate(first.token, 60)}") called ${first.count}× across Suspense boundaries` - Network accessline 64
evidence: first.kind === 'fetch' ? `fetch("${truncate(first.token, 60)}") called ${first.count}× across Suspense boundaries` : `${first.token}() called ${first.count}× across Suspense boundaries`, - Network accessline 65
? `fetch("${truncate(first.token, 60)}") called ${first.count}× across Suspense boundaries`
skills/vercel-optimize/lib/scanners/edge-heavy-import.mjs
- Executable scriptline 1
Executable file - Network accessline 38
'Either (a) drop the `export const runtime = \'edge\'` so the route runs on Node (default in 2026), or (b) replace the heavy import with an edge-compatible alternative. For DB: use @neondatabase/serverless or @planetscale/database instead o - Network accessline 39
citations: [ 'https://vercel.com/docs/functions/runtimes/edge-runtime', 'https://vercel.com/docs/fluid-compute', - Network accessline 40
'https://vercel.com/docs/functions/runtimes/edge-runtime', - Network accessline 41
'https://vercel.com/docs/fluid-compute',
skills/vercel-optimize/lib/scanners/force-dynamic.mjs
- Executable scriptline 1
Executable file - Network accessline 10
"Audit the route. If dynamic behavior comes from cookies()/headers()/searchParams, force-dynamic may be redundant — Next infers dynamic automatically. Consider revalidate / 'use cache' / generateStaticParams if any portion can be pre-render - Network accessline 11
citations: [ 'https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config', ], - Network accessline 12
'https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config',
skills/vercel-optimize/lib/scanners/headers-in-page.mjs
- Executable scriptline 1
Executable file - Network accessline 12
'Move the dynamic API call into a child Server Component that lives inside a Suspense boundary. The parent can stay static; only the leaf re-renders dynamically.', citations: [ 'https://nextjs.org/docs/app/api-reference/file-conventio - Network accessline 13
citations: [ 'https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config', 'https://nextjs.org/docs/app/building-your-application/caching', - Network accessline 14
'https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config', - Network accessline 15
'https://nextjs.org/docs/app/building-your-application/caching',
skills/vercel-optimize/lib/scanners/index.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/scanners/large-static-asset.mjs
- Executable scriptline 1
Executable file - Network accessline 23
'Verify the asset is reachable on the customer-facing hot path. Then choose: (a) compress (convert PNG → AVIF/WebP; transcode MP4 to lower bitrate); (b) host externally (Vercel Blob, S3, or a media CDN with per-asset signed URLs); (c) lazy- - Network accessline 24
citations: [ 'https://vercel.com/docs/manage-cdn-usage', 'https://vercel.com/docs/image-optimization', - Network accessline 25
'https://vercel.com/docs/manage-cdn-usage', - Network accessline 26
'https://vercel.com/docs/image-optimization',
skills/vercel-optimize/lib/scanners/max-age-without-s-maxage.mjs
- Executable scriptline 1
Executable file - Network accessline 12
'Add s-maxage to the Cache-Control header. Example: Cache-Control: public, max-age=60, s-maxage=600, stale-while-revalidate=86400. Pair with explicit cache-bust strategy if content can change.', citations: [ 'https://vercel.com/docs/c - Network accessline 13
citations: [ 'https://vercel.com/docs/caching/cdn-cache', 'https://vercel.com/docs/caching/cache-control-headers', - Network accessline 14
'https://vercel.com/docs/caching/cdn-cache', - Network accessline 15
'https://vercel.com/docs/caching/cache-control-headers',
skills/vercel-optimize/lib/scanners/middleware-broad-matcher.mjs
- Executable scriptline 1
Executable file - Network accessline 10
'Scope the matcher to actual application paths. Example: matcher: ["/((?!_next/static|_next/image|favicon.ico|.*\\\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)"]', citations: [ 'https://nextjs.org/docs/app/building-your-application/routing/mi - Network accessline 11
citations: [ 'https://nextjs.org/docs/app/building-your-application/routing/middleware', ], - Network accessline 12
'https://nextjs.org/docs/app/building-your-application/routing/middleware',
skills/vercel-optimize/lib/scanners/missing-cache-headers.mjs
- Network accessline 1
// Two checks emitted as `missing-cache-headers`: // A. GET handler with no Cache-Control AND no auth signal. // B. fetch() with `cache:'no-store'` / `next:{revalidate:0}` outside an - Executable scriptline 1
Executable file - Network accessline 2
// A. GET handler with no Cache-Control AND no auth signal. // B. fetch() with `cache:'no-store'` / `next:{revalidate:0}` outside an // auth window (~10 lines above, 5 below). - Network accessline 3
// B. fetch() with `cache:'no-store'` / `next:{revalidate:0}` outside an - Network accessline 11
trafficIndependent: false, description: 'Two antipatterns: (a) GET handlers without explicit Cache-Control headers serve uncached; (b) fetch() calls with cache:"no-store" or next:{revalidate:0} opt out of caching even on cacheable ups - Network accessline 12
description: 'Two antipatterns: (a) GET handlers without explicit Cache-Control headers serve uncached; (b) fetch() calls with cache:"no-store" or next:{revalidate:0} opt out of caching even on cacheable upstream data. For non-auth rout - Network accessline 13
'Two antipatterns: (a) GET handlers without explicit Cache-Control headers serve uncached; (b) fetch() calls with cache:"no-store" or next:{revalidate:0} opt out of caching even on cacheable upstream data. For non-auth routes / fetches, bot - Network accessline 14
fix: 'For GET handlers: return a Response with Cache-Control: public, s-maxage=<seconds>, stale-while-revalidate=<window>. For fetch(): drop cache:"no-store" (use { next: { revalidate: <seconds> } } in Next.js) so the response is cached - Network accessline 15
'For GET handlers: return a Response with Cache-Control: public, s-maxage=<seconds>, stale-while-revalidate=<window>. For fetch(): drop cache:"no-store" (use { next: { revalidate: <seconds> } } in Next.js) so the response is cached by the f - Network accessline 16
citations: [ 'https://vercel.com/docs/caching/cdn-cache', 'https://vercel.com/docs/caching/cache-control-headers', - Network accessline 17
'https://vercel.com/docs/caching/cdn-cache', - Network accessline 18
'https://vercel.com/docs/caching/cache-control-headers', - Network accessline 19
'https://nextjs.org/docs/app/building-your-application/caching',
skills/vercel-optimize/lib/scanners/prisma-include-tree.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/scanners/region-pin-in-config.mjs
- Executable scriptline 1
Executable file - Network accessline 22
"Audit the pinned region against traffic geography (Speed Insights or Web Analytics by country) and data-source location. Consider multi-region if data lives in a fixed location and users are global; consider relocating if users are concent - Network accessline 23
citations: [ 'https://vercel.com/docs/functions/configuring-functions/region', 'https://vercel.com/docs/functions/configuring-functions/region', - Network accessline 24
'https://vercel.com/docs/functions/configuring-functions/region', - Network accessline 25
'https://vercel.com/docs/functions/configuring-functions/region',
skills/vercel-optimize/lib/scanners/source-maps-production.mjs
- Executable scriptline 1
Executable file - Network accessline 12
'Keep source maps generation but exclude them from the public bundle. Upload to your error tracker via build-time CI step; do not serve them with the deployment.', citations: [ 'https://nextjs.org/docs/messages/improper-devtool', - Network accessline 13
citations: [ 'https://nextjs.org/docs/messages/improper-devtool', ], - Network accessline 14
'https://nextjs.org/docs/messages/improper-devtool',
skills/vercel-optimize/lib/scanners/sveltekit-prerender-missing.mjs
- Executable scriptline 1
Executable file - Network accessline 14
'If the page is static (no per-user / per-request data), add `export const prerender = true` in +page.ts or +page.server.ts. If the data refreshes on a schedule, prefer adapter-vercel\'s ISR option via `export const config = { isr: { expira - Network accessline 15
citations: [ 'https://kit.svelte.dev/docs/page-options', 'https://kit.svelte.dev/docs/adapter-vercel', - Network accessline 16
'https://kit.svelte.dev/docs/page-options', - Network accessline 17
'https://kit.svelte.dev/docs/adapter-vercel', - Network accessline 18
'https://vercel.com/docs/incremental-static-regeneration',
skills/vercel-optimize/lib/scanners/turbo-force-bypass.mjs
- Executable scriptline 1
Executable file - Network accessline 23
"Remove `TURBO_FORCE=true` from build env/scripts unless intentional. Set `tasks.build.cache: true` in `turbo.json` (or remove the override), and include generated outputs in Turbo's cache contract. Prefer Vercel's skip-unaffected monorepo - Network accessline 24
citations: [ 'https://vercel.com/docs/monorepos', 'https://vercel.com/docs/builds', - Network accessline 25
'https://vercel.com/docs/monorepos', - Network accessline 26
'https://vercel.com/docs/builds', - Network accessline 27
'https://turborepo.dev/docs/crafting-your-repository/caching',
skills/vercel-optimize/lib/scanners/unoptimized-image.mjs
- Executable scriptline 1
Executable file - Network accessline 14
'For raw <img>: switch to next/image, enhanced-img (SvelteKit), <Image /> (Astro), or NuxtImg. For global unoptimized:true: remove the flag unless the project is hosted outside Vercel. For fill without sizes: add `sizes="(max-width: 768px) - Network accessline 15
citations: [ 'https://nextjs.org/docs/app/api-reference/components/image', 'https://vercel.com/docs/image-optimization', - Network accessline 16
'https://nextjs.org/docs/app/api-reference/components/image', - Network accessline 17
'https://vercel.com/docs/image-optimization',
skills/vercel-optimize/lib/scanners/use-cache-date-stamp.mjs
- Executable scriptline 1
Executable file - Network accessline 22
"Replace module-scope `new Date()` with a build-time constant (`const buildYear = new Date().getFullYear()`) or move per-request timestamps into a client component inside `useEffect`. Do not pass dates as arguments to `'use cache'` function - Network accessline 23
citations: [ 'https://nextjs.org/docs/app/api-reference/directives/use-cache', 'https://nextjs.org/docs/app/api-reference/functions/cacheLife', - Network accessline 24
'https://nextjs.org/docs/app/api-reference/directives/use-cache', - Network accessline 25
'https://nextjs.org/docs/app/api-reference/functions/cacheLife',
skills/vercel-optimize/lib/support-topics.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/throttle.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/util.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/vercel.mjs
skills/vercel-optimize/lib/verify-claim.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/lib/workspace-resolver.mjs
- Executable scriptline 1
Executable file
skills/vercel-optimize/metadata.json
- Network accessline 5
"abstract": "Deep cost and performance optimization for supported Vercel projects. Pulls observability metrics, billing, and project config from the Vercel CLI, then investigates the codebase only where those metrics point. Produces ranked, - Network accessline 6
"references": [ "https://vercel.com/docs/cli/metrics", "https://vercel.com/docs/cli/usage", - Network accessline 7
"https://vercel.com/docs/cli/metrics", - Network accessline 8
"https://vercel.com/docs/cli/usage", - Network accessline 9
"https://vercel.com/docs/cli/api", - Network accessline 10
"https://vercel.com/docs/observability/observability-plus", - Network accessline 11
"https://nextjs.org/docs/app/building-your-application/caching", - Network accessline 12
"https://vercel.com/docs/frameworks/full-stack/sveltekit"
skills/vercel-optimize/references/candidates.md
- Network accessline 38
- **Billing dimension**: speed-insights - **Scope**: route - **Source citation**: `https://web.dev/articles/vitals` - Network accessline 40
- **Source citation**: `https://web.dev/articles/vitals` - Network accessline 60
- **Billing dimension**: isr - **Scope**: route - **Source citation**: `https://vercel.com/docs/incremental-static-regeneration` - Network accessline 62
- **Source citation**: `https://vercel.com/docs/incremental-static-regeneration` - Network accessline 71
- **Billing dimension**: edge-requests - **Scope**: account - **Source citation**: `https://nextjs.org/docs/app/building-your-application/routing/middleware` - Network accessline 73
- **Source citation**: `https://nextjs.org/docs/app/building-your-application/routing/middleware`
skills/vercel-optimize/references/docs-library.json
- Network accessline 7
"urls": [ { "url": "https://vercel.com/docs/caching/cdn-cache", - Network accessline 8
{ "url": "https://vercel.com/docs/caching/cdn-cache", "topic": "Vercel CDN Cache — cacheable response criteria, static file caching, dynamic response caching, and cache limits", - Network accessline 9
"url": "https://vercel.com/docs/caching/cdn-cache", - Network accessline 13
}, { "url": "https://vercel.com/docs/headers/request-headers", - Network accessline 14
{ "url": "https://vercel.com/docs/headers/request-headers", "topic": "Vercel request headers — documented geolocation header names including country, country-region, city, latitude, longitude, timezone, and postal code", - Network accessline 15
"url": "https://vercel.com/docs/headers/request-headers", - Network accessline 19
}, { "url": "https://vercel.com/docs/caching/cache-control-headers", - Network accessline 20
{ "url": "https://vercel.com/docs/caching/cache-control-headers", "topic": "Cache-Control headers on Vercel — s-maxage, CDN-Cache-Control, Vercel-CDN-Cache-Control, stale-while-revalidate", - Network accessline 21
"url": "https://vercel.com/docs/caching/cache-control-headers", - Network accessline 25
}, { "url": "https://vercel.com/docs/caching/runtime-cache", - Network accessline 26
{ "url": "https://vercel.com/docs/caching/runtime-cache", "topic": "Runtime Cache — reuse repeated API, database, and expensive computation results from Vercel Functions", - Network accessline 27
"url": "https://vercel.com/docs/caching/runtime-cache", - Network accessline 31
}, { "url": "https://vercel.com/docs/fluid-compute", - Network accessline 32
{ "url": "https://vercel.com/docs/fluid-compute", "topic": "Fluid Compute — reduced cold starts, active CPU pricing, function instance reuse, memory right-sizing", - Network accessline 33
"url": "https://vercel.com/docs/fluid-compute", - Network accessline 37
}, { "url": "https://vercel.com/docs/functions/configuring-functions/memory", - Network accessline 38
{ "url": "https://vercel.com/docs/functions/configuring-functions/memory", "topic": "Function memory configuration — Standard 2GB / Performance 4GB tiers, when to upgrade Performance, account-level setting", - Network accessline 39
"url": "https://vercel.com/docs/functions/configuring-functions/memory", - Network accessline 43
}, { "url": "https://vercel.com/docs/speed-insights", - Network accessline 44
{ "url": "https://vercel.com/docs/speed-insights", "topic": "Vercel Speed Insights — LCP, INP, CLS, TTFB, FCP, FID on real-user traffic", - Network accessline 45
"url": "https://vercel.com/docs/speed-insights", - Network accessline 49
}, { "url": "https://web.dev/articles/vitals", - Network accessline 50
{ "url": "https://web.dev/articles/vitals", "topic": "Core Web Vitals — LCP < 2500ms, INP < 200ms, CLS < 0.1 thresholds", - Network accessline 51
"url": "https://web.dev/articles/vitals", - Network accessline 55
}, { "url": "https://web.dev/articles/optimize-lcp", - Network accessline 56
{ "url": "https://web.dev/articles/optimize-lcp", "topic": "Optimize LCP — preload critical images, defer non-critical CSS, reduce server response", - Network accessline 57
"url": "https://web.dev/articles/optimize-lcp", - Network accessline 61
}, { "url": "https://web.dev/articles/optimize-inp", - Network accessline 62
{ "url": "https://web.dev/articles/optimize-inp", "topic": "Optimize INP — break up long tasks, defer non-essential JavaScript", - Network accessline 63
"url": "https://web.dev/articles/optimize-inp", - Network accessline 67
}, { "url": "https://web.dev/articles/optimize-cls", - Network accessline 68
{ "url": "https://web.dev/articles/optimize-cls", "topic": "Optimize CLS — reserve space for images, fonts, ads; avoid layout-affecting injections", - Network accessline 69
"url": "https://web.dev/articles/optimize-cls", - Network accessline 73
}, { "url": "https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets", - Network accessline 74
{ "url": "https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets", "topic": "Vercel WAF managed rulesets — managed bot and AI-bot actions by ruleset", - Network accessline 75
"url": "https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets", - Network accessline 79
}, { "url": "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", - Network accessline 80
{ "url": "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", "topic": "Vercel WAF custom rules — log, deny, challenge, bypass, redirect, and persistent actions", - Network accessline 81
"url": "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", - Network accessline 85
}, { "url": "https://vercel.com/docs/functions", - Network accessline 86
{ "url": "https://vercel.com/docs/functions", "topic": "Vercel Functions lifecycle — regions, memory, max duration, runtimes", - Network accessline 87
"url": "https://vercel.com/docs/functions", - Network accessline 91
}, { "url": "https://vercel.com/docs/functions/debug-slow-functions", - Network accessline 92
{ "url": "https://vercel.com/docs/functions/debug-slow-functions", "topic": "Debugging slow functions — isolate external latency, cold starts, bundle size, initialization, memory, and connection pooling", - Network accessline 93
"url": "https://vercel.com/docs/functions/debug-slow-functions", - Network accessline 97
}, { "url": "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package", - Network accessline 98
{ "url": "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package", "topic": "@vercel/functions helpers — waitUntil for post-response work and attachDatabasePool for pool lifecycle", - Network accessline 99
"url": "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package", - Network accessline 103
}, { "url": "https://vercel.com/docs/functions/limitations", - Network accessline 104
{ "url": "https://vercel.com/docs/functions/limitations", "topic": "Vercel Functions limits — duration, payload, runtime, and invocation constraints", - Network accessline 105
"url": "https://vercel.com/docs/functions/limitations", - Network accessline 109
}, { "url": "https://vercel.com/docs/functions/runtimes", - Network accessline 110
{ "url": "https://vercel.com/docs/functions/runtimes", "topic": "Runtime selection — node, python, ruby, go (edge runtime deprecated per 2026 platform notes)", - Network accessline 111
"url": "https://vercel.com/docs/functions/runtimes", - Network accessline 115
}, { "url": "https://vercel.com/docs/incremental-static-regeneration", - Network accessline 116
{ "url": "https://vercel.com/docs/incremental-static-regeneration", "topic": "Incremental Static Regeneration — reads vs writes, revalidate timing, on-demand revalidation", - Network accessline 117
"url": "https://vercel.com/docs/incremental-static-regeneration", - Network accessline 121
}, { "url": "https://vercel.com/docs/image-optimization", - Network accessline 122
{ "url": "https://vercel.com/docs/image-optimization", "topic": "Image Optimization on Vercel — supported formats, transformations, billing", - Network accessline 123
"url": "https://vercel.com/docs/image-optimization", - Network accessline 127
}, { "url": "https://vercel.com/docs/image-optimization/managing-image-optimization-costs", - Network accessline 128
{ "url": "https://vercel.com/docs/image-optimization/managing-image-optimization-costs", "topic": "Managing Image Optimization usage and costs — reduce unnecessary transformations and cache misses", - Network accessline 129
"url": "https://vercel.com/docs/image-optimization/managing-image-optimization-costs", - Network accessline 133
}, { "url": "https://vercel.com/docs/image-optimization/limits-and-pricing", - Network accessline 134
{ "url": "https://vercel.com/docs/image-optimization/limits-and-pricing", "topic": "Image Optimization limits and pricing — source format, dimensions, transformed image size, and billing dimensions", - Network accessline 135
"url": "https://vercel.com/docs/image-optimization/limits-and-pricing", - Network accessline 139
}, { "url": "https://vercel.com/docs/observability/observability-plus", - Network accessline 140
{ "url": "https://vercel.com/docs/observability/observability-plus", "topic": "Observability Plus — path-level metrics, p75 sort, and retention", - Network accessline 141
"url": "https://vercel.com/docs/observability/observability-plus", - Network accessline 145
}, { "url": "https://vercel.com/docs/monorepos", - Network accessline 146
{ "url": "https://vercel.com/docs/monorepos", "topic": "Monorepos — skip unaffected projects and ignored build step tradeoffs", - Network accessline 147
"url": "https://vercel.com/docs/monorepos", - Network accessline 151
}, { "url": "https://vercel.com/docs/builds", - Network accessline 152
{ "url": "https://vercel.com/docs/builds", "topic": "Builds — build infrastructure, monorepo build controls, concurrency, and queues", - Network accessline 153
"url": "https://vercel.com/docs/builds", - Network accessline 157
}, { "url": "https://turborepo.dev/docs/crafting-your-repository/caching", - Network accessline 158
{ "url": "https://turborepo.dev/docs/crafting-your-repository/caching", "topic": "Turborepo caching — task-level cache config, force flags, remote cache", - Network accessline 159
"url": "https://turborepo.dev/docs/crafting-your-repository/caching", - Network accessline 163
}, { "url": "https://vercel.com/docs/regions", - Network accessline 164
{ "url": "https://vercel.com/docs/regions", "topic": "Vercel Functions regions — single vs multi-region, defaults, latency tradeoffs", - Network accessline 165
"url": "https://vercel.com/docs/regions", - Network accessline 169
}, { "url": "https://vercel.com/docs/functions/configuring-functions/region", - Network accessline 170
{ "url": "https://vercel.com/docs/functions/configuring-functions/region", "topic": "Configuring function region — vercel.json regions, segment-level preferredRegion", - Network accessline 171
"url": "https://vercel.com/docs/functions/configuring-functions/region", - Network accessline 175
}, { "url": "https://vercel.com/docs/alerts", - Network accessline 176
{ "url": "https://vercel.com/docs/alerts", "topic": "Alerts — per-metric alerting on routes/status/usage with supported destinations", - Network accessline 177
"url": "https://vercel.com/docs/alerts", - Network accessline 181
}, { "url": "https://vercel.com/docs/spend-management", - Network accessline 182
{ "url": "https://vercel.com/docs/spend-management", "topic": "Spend Management — usage thresholds, notifications, and project pause behavior", - Network accessline 183
"url": "https://vercel.com/docs/spend-management", - Network accessline 187
}, { "url": "https://vercel.com/docs/cli/metrics", - Network accessline 188
{ "url": "https://vercel.com/docs/cli/metrics", "topic": "vercel metrics CLI — schema, query construction, OData filters", - Network accessline 189
"url": "https://vercel.com/docs/cli/metrics", - Network accessline 193
}, { "url": "https://vercel.com/docs/cli/usage", - Network accessline 194
{ "url": "https://vercel.com/docs/cli/usage", "topic": "vercel usage CLI — billing line items, breakdown, effectiveCost vs billedCost", - Network accessline 195
"url": "https://vercel.com/docs/cli/usage", - Network accessline 199
}, { "url": "https://vercel.com/docs/cli/inspect", - Network accessline 200
{ "url": "https://vercel.com/docs/cli/inspect", "topic": "vercel inspect — view a deployment's build logs, region, runtime, commit, creator", - Network accessline 201
"url": "https://vercel.com/docs/cli/inspect", - Network accessline 205
}, { "url": "https://vercel.com/docs/manage-cdn-usage", - Network accessline 206
{ "url": "https://vercel.com/docs/manage-cdn-usage", "topic": "Vercel Edge Network bandwidth — Fast Data Transfer, included quotas, overage pricing", - Network accessline 207
"url": "https://vercel.com/docs/manage-cdn-usage", - Network accessline 211
}, { "url": "https://vercel.com/docs/functions/runtimes/edge-runtime", - Network accessline 212
{ "url": "https://vercel.com/docs/functions/runtimes/edge-runtime", "topic": "Vercel Edge Runtime — supported APIs, constraints, incompatible modules (node:* builtins, native deps)", - Network accessline 213
"url": "https://vercel.com/docs/functions/runtimes/edge-runtime", - Network accessline 217
}, { "url": "https://vercel.com/docs/bot-management", - Network accessline 218
{ "url": "https://vercel.com/docs/bot-management", "topic": "Vercel Bot Protection — enabling, false-positive handling, billing implications", - Network accessline 219
"url": "https://vercel.com/docs/bot-management", - Network accessline 223
}, { "url": "https://vercel.com/docs/botid", - Network accessline 224
{ "url": "https://vercel.com/docs/botid", "topic": "BotID — invisible challenge, Basic and Deep Analysis modes, checkBotId, observability, and billing", - Network accessline 225
"url": "https://vercel.com/docs/botid", - Network accessline 229
}, { "url": "https://vercel.com/docs/functions/limitations", - Network accessline 230
{ "url": "https://vercel.com/docs/functions/limitations", "topic": "Platform limits — function payload size, max duration, regional caps", - Network accessline 231
"url": "https://vercel.com/docs/functions/limitations", - Network accessline 235
}, { "url": "https://vercel.com/docs/project-configuration", - Network accessline 236
{ "url": "https://vercel.com/docs/project-configuration", "topic": "vercel.json configuration — functions, crons, rewrites, redirects, headers, regions", - Network accessline 237
"url": "https://vercel.com/docs/project-configuration", - Network accessline 241
}, { "url": "https://vercel.com/docs/routing/", - Network accessline 242
{ "url": "https://vercel.com/docs/routing/", "topic": "Vercel routing — firewall, bulk redirects, project routes, deployment routes, middleware, and filesystem order", - Network accessline 243
"url": "https://vercel.com/docs/routing/", - Network accessline 247
}, { "url": "https://vercel.com/docs/redirects/bulk-redirects/", - Network accessline 248
{ "url": "https://vercel.com/docs/redirects/bulk-redirects/", "topic": "Bulk Redirects — framework-agnostic large redirect tables processed before project routes", - Network accessline 249
"url": "https://vercel.com/docs/redirects/bulk-redirects/", - Network accessline 253
}, { "url": "https://vercel.com/docs/routing-middleware", - Network accessline 254
{ "url": "https://vercel.com/docs/routing-middleware", "topic": "Vercel Routing Middleware — intercept requests before rendering and keep matcher scope intentional", - Network accessline 255
"url": "https://vercel.com/docs/routing-middleware", "topic": "Vercel Routing Middleware — intercept requests before rendering and keep matcher scope intentional", "appliesTo": ["middleware_heavy"], - Network accessline 259
}, { "url": "https://vercel.com/docs/workflow", - Network accessline 260
{ "url": "https://vercel.com/docs/workflow", "topic": "Vercel Workflow — beta durable workflows, observability, Workflow Steps/Storage pricing, and compute billing caveats", - Network accessline 261
"url": "https://vercel.com/docs/workflow", - Network accessline 265
}, { "url": "https://workflow-sdk.dev/docs/foundations/starting-workflows", - Network accessline 266
{ "url": "https://workflow-sdk.dev/docs/foundations/starting-workflows", "topic": "Workflow SDK starting workflows — start() returns after enqueueing, returnValue waits for completion, streams/status can be read later", - Network accessline 267
"url": "https://workflow-sdk.dev/docs/foundations/starting-workflows", - Network accessline 271
}, { "url": "https://workflow-sdk.dev/docs/foundations/workflows-and-steps", - Network accessline 272
{ "url": "https://workflow-sdk.dev/docs/foundations/workflows-and-steps", "topic": "Workflow SDK workflows and steps — workflow orchestration, step execution, persisted results, retries, sleep, and suspension", - Network accessline 273
"url": "https://workflow-sdk.dev/docs/foundations/workflows-and-steps", - Network accessline 277
}, { "url": "https://workflow-sdk.dev/docs/foundations/streaming", - Network accessline 278
{ "url": "https://workflow-sdk.dev/docs/foundations/streaming", "topic": "Workflow SDK streaming — durable streams, getReadable startIndex, getWritable, lock release, stream close, and retry caveats", - Network accessline 279
"url": "https://workflow-sdk.dev/docs/foundations/streaming", - Network accessline 283
}, { "url": "https://workflow-sdk.dev/docs/ai/resumable-streams", - Network accessline 284
{ "url": "https://workflow-sdk.dev/docs/ai/resumable-streams", "topic": "Workflow SDK resumable streams — reconnecting AI chat streams with run IDs, stream startIndex, and tail-index headers", - Network accessline 285
"url": "https://workflow-sdk.dev/docs/ai/resumable-streams", - Network accessline 289
}, { "url": "https://vercel.com/docs/queues", - Network accessline 290
{ "url": "https://vercel.com/docs/queues", "topic": "Vercel Queues — asynchronous task queues for background work decoupled from the request path", - Network accessline 291
"url": "https://vercel.com/docs/queues", - Network accessline 295
}, { "url": "https://vercel.com/docs/concepts/edge-network/regions", - Network accessline 296
{ "url": "https://vercel.com/docs/concepts/edge-network/regions", "topic": "Vercel function regions — single-region default, multi-region, db proximity", - Network accessline 297
"url": "https://vercel.com/docs/concepts/edge-network/regions", - Network accessline 301
}, { "url": "https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config", - Network accessline 302
{ "url": "https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config", "topic": "App Router route segment config — dynamic, revalidate, runtime, fetchCache, dynamicParams", - Network accessline 303
"url": "https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config", - Network accessline 307
}, { "url": "https://nextjs.org/docs/app/api-reference/file-conventions/route", - Network accessline 308
{ "url": "https://nextjs.org/docs/app/api-reference/file-conventions/route", "topic": "Route Handlers — GET handler caching defaults, route segment config, and request handling", - Network accessline 309
"url": "https://nextjs.org/docs/app/api-reference/file-conventions/route", - Network accessline 313
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/image-response", - Network accessline 314
{ "url": "https://nextjs.org/docs/app/api-reference/functions/image-response", "topic": "ImageResponse — dynamic OG image response options including status and headers", - Network accessline 315
"url": "https://nextjs.org/docs/app/api-reference/functions/image-response", - Network accessline 319
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/generate-static-params", - Network accessline 320
{ "url": "https://nextjs.org/docs/app/api-reference/functions/generate-static-params", "topic": "generateStaticParams — pre-render dynamic routes at build time", - Network accessline 321
"url": "https://nextjs.org/docs/app/api-reference/functions/generate-static-params", - Network accessline 325
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/fetch", - Network accessline 326
{ "url": "https://nextjs.org/docs/app/api-reference/functions/fetch", "topic": "Next.js fetch — server-side cache and next.revalidate semantics for App Router data requests", - Network accessline 327
"url": "https://nextjs.org/docs/app/api-reference/functions/fetch", - Network accessline 331
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/unstable_cache", - Network accessline 332
{ "url": "https://nextjs.org/docs/app/api-reference/functions/unstable_cache", "topic": "unstable_cache — Next.js 14/15 cache primitive (replaced in 16 by 'use cache')", - Network accessline 333
"url": "https://nextjs.org/docs/app/api-reference/functions/unstable_cache", - Network accessline 337
}, { "url": "https://nextjs.org/docs/app/api-reference/directives/use-cache", - Network accessline 338
{ "url": "https://nextjs.org/docs/app/api-reference/directives/use-cache", "topic": "'use cache' directive — opt-in persistent cache (15+)", - Network accessline 339
"url": "https://nextjs.org/docs/app/api-reference/directives/use-cache", - Network accessline 343
}, { "url": "https://nextjs.org/docs/app/api-reference/directives/use-cache-remote", - Network accessline 344
{ "url": "https://nextjs.org/docs/app/api-reference/directives/use-cache-remote", "topic": "'use cache: remote' directive — remote cache storage for shared cached data with Cache Components", - Network accessline 345
"url": "https://nextjs.org/docs/app/api-reference/directives/use-cache-remote", - Network accessline 349
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/cacheLife", - Network accessline 350
{ "url": "https://nextjs.org/docs/app/api-reference/functions/cacheLife", "topic": "cacheLife() — TTL annotation for 'use cache' segments", - Network accessline 351
"url": "https://nextjs.org/docs/app/api-reference/functions/cacheLife", - Network accessline 355
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/cacheTag", - Network accessline 356
{ "url": "https://nextjs.org/docs/app/api-reference/functions/cacheTag", "topic": "cacheTag() — tag-based invalidation for 'use cache'", - Network accessline 357
"url": "https://nextjs.org/docs/app/api-reference/functions/cacheTag", - Network accessline 361
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/revalidateTag", - Network accessline 362
{ "url": "https://nextjs.org/docs/app/api-reference/functions/revalidateTag", "topic": "revalidateTag — on-demand invalidation by tag", - Network accessline 363
"url": "https://nextjs.org/docs/app/api-reference/functions/revalidateTag", - Network accessline 367
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/revalidatePath", - Network accessline 368
{ "url": "https://nextjs.org/docs/app/api-reference/functions/revalidatePath", "topic": "revalidatePath — on-demand invalidation by route", - Network accessline 369
"url": "https://nextjs.org/docs/app/api-reference/functions/revalidatePath", - Network accessline 373
}, { "url": "https://nextjs.org/docs/app/api-reference/functions/after", - Network accessline 374
{ "url": "https://nextjs.org/docs/app/api-reference/functions/after", "topic": "after() — non-blocking work post-response (15+)", - Network accessline 375
"url": "https://nextjs.org/docs/app/api-reference/functions/after", - Network accessline 379
}, { "url": "https://react.dev/reference/react/cache", - Network accessline 380
{ "url": "https://react.dev/reference/react/cache", "topic": "React cache() — per-request memoization in Server Components", - Network accessline 381
"url": "https://react.dev/reference/react/cache", - Network accessline 385
}, { "url": "https://nextjs.org/docs/app/api-reference/components/image", - Network accessline 386
{ "url": "https://nextjs.org/docs/app/api-reference/components/image", "topic": "next/image component — formats, sizes, priority, lazy loading", - Network accessline 387
"url": "https://nextjs.org/docs/app/api-reference/components/image", - Network accessline 391
}, { "url": "https://nextjs.org/docs/app/api-reference/components/font", - Network accessline 392
{ "url": "https://nextjs.org/docs/app/api-reference/components/font", "topic": "next/font — self-hosted fonts, no CLS, build-time optimization", - Network accessline 393
"url": "https://nextjs.org/docs/app/api-reference/components/font", - Network accessline 397
}, { "url": "https://nextjs.org/docs/app/api-reference/components/script", - Network accessline 398
{ "url": "https://nextjs.org/docs/app/api-reference/components/script", "topic": "next/script component — loading strategies for third-party scripts and App Router worker caveats", - Network accessline 399
"url": "https://nextjs.org/docs/app/api-reference/components/script", - Network accessline 403
}, { "url": "https://nextjs.org/docs/app/guides/lazy-loading", - Network accessline 404
{ "url": "https://nextjs.org/docs/app/guides/lazy-loading", "topic": "next/dynamic — lazy-load heavy client components, SSR opt-out", - Network accessline 405
"url": "https://nextjs.org/docs/app/guides/lazy-loading", - Network accessline 409
}, { "url": "https://nextjs.org/docs/app/building-your-application/caching", - Network accessline 410
{ "url": "https://nextjs.org/docs/app/building-your-application/caching", "topic": "Next.js App Router caching model — full-route cache, data cache, request memoization", - Network accessline 411
"url": "https://nextjs.org/docs/app/building-your-application/caching", - Network accessline 415
}, { "url": "https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", - Network accessline 416
{ "url": "https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", "topic": "cacheComponents flag — explicit caching model for App Router prerendering and data access", - Network accessline 417
"url": "https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", - Network accessline 421
}, { "url": "https://nextjs.org/docs/app/getting-started/caching", - Network accessline 422
{ "url": "https://nextjs.org/docs/app/getting-started/caching", "topic": "Cache Components caching guide — static shell, cached dynamic content, runtime dynamic content", - Network accessline 423
"url": "https://nextjs.org/docs/app/getting-started/caching", - Network accessline 427
}, { "url": "https://nextjs.org/docs/app/guides/migrating-to-cache-components", - Network accessline 428
{ "url": "https://nextjs.org/docs/app/guides/migrating-to-cache-components", "topic": "Migrating to Cache Components — route segment config replacements and static shell migration", - Network accessline 429
"url": "https://nextjs.org/docs/app/guides/migrating-to-cache-components", - Network accessline 433
}, { "url": "https://nextjs.org/docs/app/building-your-application/routing/middleware", - Network accessline 434
{ "url": "https://nextjs.org/docs/app/building-your-application/routing/middleware", "topic": "Next.js middleware — matcher config, runtime, request modification", - Network accessline 435
"url": "https://nextjs.org/docs/app/building-your-application/routing/middleware", - Network accessline 439
}, { "url": "https://nextjs.org/docs/app/building-your-application/rendering/partial-prerendering", - Network accessline 440
{ "url": "https://nextjs.org/docs/app/building-your-application/rendering/partial-prerendering", "topic": "Partial Prerendering (PPR) — combine static shell + dynamic streaming (15+ experimental, stable later)", - Network accessline 441
"url": "https://nextjs.org/docs/app/building-your-application/rendering/partial-prerendering", - Network accessline 445
}, { "url": "https://nextjs.org/docs/app/building-your-application/optimizing/bundle-analyzer", - Network accessline 446
{ "url": "https://nextjs.org/docs/app/building-your-application/optimizing/bundle-analyzer", "topic": "@next/bundle-analyzer — diagnose oversized client bundles", - Network accessline 447
"url": "https://nextjs.org/docs/app/building-your-application/optimizing/bundle-analyzer", - Network accessline 451
}, { "url": "https://vercel.com/docs/frameworks/full-stack/sveltekit", - Network accessline 452
{ "url": "https://vercel.com/docs/frameworks/full-stack/sveltekit", "topic": "SvelteKit on Vercel — adapter config, ISR, split function bundling, regions, and runtime settings", - Network accessline 453
"url": "https://vercel.com/docs/frameworks/full-stack/sveltekit", - Network accessline 457
}, { "url": "https://svelte.dev/docs/kit/adapter-vercel", - Network accessline 458
{ "url": "https://svelte.dev/docs/kit/adapter-vercel", "topic": "SvelteKit adapter-vercel — ISR, split, regions, max duration, and image config", - Network accessline 459
"url": "https://svelte.dev/docs/kit/adapter-vercel", - Network accessline 463
}, { "url": "https://svelte.dev/docs/kit/page-options", - Network accessline 464
{ "url": "https://svelte.dev/docs/kit/page-options", "topic": "SvelteKit page options — prerender, SSR, CSR, and server route prerendering", - Network accessline 465
"url": "https://svelte.dev/docs/kit/page-options", - Network accessline 469
}, { "url": "https://kit.svelte.dev/docs/adapter-vercel", - Network accessline 470
{ "url": "https://kit.svelte.dev/docs/adapter-vercel", "topic": "SvelteKit Vercel adapter — runtime, isr, split, regions, maxDuration config", - Network accessline 471
"url": "https://kit.svelte.dev/docs/adapter-vercel", - Network accessline 475
}, { "url": "https://kit.svelte.dev/docs/page-options", - Network accessline 476
{ "url": "https://kit.svelte.dev/docs/page-options", "topic": "SvelteKit page options — prerender, ssr, csr", - Network accessline 477
"url": "https://kit.svelte.dev/docs/page-options", - Network accessline 481
}, { "url": "https://kit.svelte.dev/docs/load", - Network accessline 482
{ "url": "https://kit.svelte.dev/docs/load", "topic": "SvelteKit load functions — server-side data loading patterns, parallel loads", - Network accessline 483
"url": "https://kit.svelte.dev/docs/load", - Network accessline 487
}, { "url": "https://kit.svelte.dev/docs/routing", - Network accessline 488
{ "url": "https://kit.svelte.dev/docs/routing", "topic": "SvelteKit routing — +page.svelte, +page.server.ts, +server.ts route handlers, +layout.svelte", - Network accessline 489
"url": "https://kit.svelte.dev/docs/routing", - Network accessline 493
}, { "url": "https://kit.svelte.dev/docs/hooks", - Network accessline 494
{ "url": "https://kit.svelte.dev/docs/hooks", "topic": "SvelteKit hooks — handle (request middleware), handleFetch (per-fetch interception), handleError", - Network accessline 495
"url": "https://kit.svelte.dev/docs/hooks", "topic": "SvelteKit hooks — handle (request middleware), handleFetch (per-fetch interception), handleError", "appliesTo": ["middleware_heavy", "uncached_route", "route_errors"], - Network accessline 499
}, { "url": "https://kit.svelte.dev/docs/form-actions", - Network accessline 500
{ "url": "https://kit.svelte.dev/docs/form-actions", "topic": "SvelteKit form actions — server-side form handling without separate API endpoints", - Network accessline 501
"url": "https://kit.svelte.dev/docs/form-actions", - Network accessline 505
}, { "url": "https://kit.svelte.dev/docs/state-management", - Network accessline 506
{ "url": "https://kit.svelte.dev/docs/state-management", "topic": "SvelteKit state management — request-scoped state, locals, avoiding cross-request leakage", - Network accessline 507
"url": "https://kit.svelte.dev/docs/state-management", - Network accessline 511
}, { "url": "https://kit.svelte.dev/docs/cli", - Network accessline 512
{ "url": "https://kit.svelte.dev/docs/cli", "topic": "SvelteKit CLI — build, preview, sync. Use `vite build` for production output that adapter-vercel consumes.", - Network accessline 513
"url": "https://kit.svelte.dev/docs/cli", - Network accessline 517
}, { "url": "https://kit.svelte.dev/docs/migrating", - Network accessline 518
{ "url": "https://kit.svelte.dev/docs/migrating", "topic": "SvelteKit migration guides — for users on older majors who may not have ISR / per-route prerender", - Network accessline 519
"url": "https://kit.svelte.dev/docs/migrating", - Network accessline 523
}, { "url": "https://docs.astro.build/en/guides/integrations-guide/vercel/", - Network accessline 524
{ "url": "https://docs.astro.build/en/guides/integrations-guide/vercel/", "topic": "Astro Vercel adapter — ISR, image services, edge middleware, runtime config", - Network accessline 525
"url": "https://docs.astro.build/en/guides/integrations-guide/vercel/", - Network accessline 529
}, { "url": "https://vercel.com/docs/frameworks/frontend/astro", - Network accessline 530
{ "url": "https://vercel.com/docs/frameworks/frontend/astro", "topic": "Astro on Vercel — output modes, ISR, edge middleware, and image optimization", - Network accessline 531
"url": "https://vercel.com/docs/frameworks/frontend/astro", - Network accessline 535
}, { "url": "https://docs.astro.build/en/guides/on-demand-rendering/", - Network accessline 536
{ "url": "https://docs.astro.build/en/guides/on-demand-rendering/", "topic": "Astro on-demand rendering — output server mode and per-route prerender controls", - Network accessline 537
"url": "https://docs.astro.build/en/guides/on-demand-rendering/", - Network accessline 541
}, { "url": "https://docs.astro.build/en/reference/configuration-reference/", - Network accessline 542
{ "url": "https://docs.astro.build/en/reference/configuration-reference/", "topic": "Astro configuration — output mode (static/server/hybrid), prerender, integrations", - Network accessline 543
"url": "https://docs.astro.build/en/reference/configuration-reference/", - Network accessline 547
}, { "url": "https://docs.astro.build/en/guides/server-side-rendering/", - Network accessline 548
{ "url": "https://docs.astro.build/en/guides/server-side-rendering/", "topic": "Astro SSR — hybrid mode, prerender export, dynamic routes", - Network accessline 549
"url": "https://docs.astro.build/en/guides/server-side-rendering/", - Network accessline 553
}, { "url": "https://nuxt.com/docs/getting-started/deployment#vercel", - Network accessline 554
{ "url": "https://nuxt.com/docs/getting-started/deployment#vercel", "topic": "Nuxt on Vercel — deployment, runtime configuration, ISR support", - Network accessline 555
"url": "https://nuxt.com/docs/getting-started/deployment#vercel", - Network accessline 559
}, { "url": "https://vercel.com/docs/frameworks/full-stack/nuxt", - Network accessline 560
{ "url": "https://vercel.com/docs/frameworks/full-stack/nuxt", "topic": "Nuxt on Vercel — routeRules ISR, Vercel cache integration, deployment, and runtime configuration", - Network accessline 561
"url": "https://vercel.com/docs/frameworks/full-stack/nuxt", - Network accessline 565
}, { "url": "https://nuxt.com/docs/api/composables/use-fetch", - Network accessline 566
{ "url": "https://nuxt.com/docs/api/composables/use-fetch", "topic": "Nuxt useFetch / useAsyncData — automatic deduplication, parallel data loads, cache options", - Network accessline 567
"url": "https://nuxt.com/docs/api/composables/use-fetch", - Network accessline 571
}, { "url": "https://nuxt.com/docs/4.x/api/utils/define-route-rules", - Network accessline 572
{ "url": "https://nuxt.com/docs/4.x/api/utils/define-route-rules", "topic": "Nuxt defineRouteRules — per-route prerender, ISR, SWR, headers, and rendering controls", - Network accessline 573
"url": "https://nuxt.com/docs/4.x/api/utils/define-route-rules", - Network accessline 577
}, { "url": "https://nuxt.com/docs/4.x/guide/concepts/rendering", - Network accessline 578
{ "url": "https://nuxt.com/docs/4.x/guide/concepts/rendering", "topic": "Nuxt rendering modes — universal rendering, routeRules, prerendering, and hybrid rendering", - Network accessline 579
"url": "https://nuxt.com/docs/4.x/guide/concepts/rendering", - Network accessline 583
}, { "url": "https://nuxt.com/docs/api/utils/define-route-rules", - Network accessline 584
{ "url": "https://nuxt.com/docs/api/utils/define-route-rules", "topic": "Nuxt route rules — per-route SSR/SSG/ISR/swr/cache config in nuxt.config.ts", - Network accessline 585
"url": "https://nuxt.com/docs/api/utils/define-route-rules", - Network accessline 589
}, { "url": "https://docs.astro.build/en/guides/integrations-guide/vercel/", - Network accessline 590
{ "url": "https://docs.astro.build/en/guides/integrations-guide/vercel/", "topic": "Astro Vercel adapter — SSR, ISR, image optimization on Vercel", - Network accessline 591
"url": "https://docs.astro.build/en/guides/integrations-guide/vercel/", - Network accessline 595
}, { "url": "https://nuxt.com/docs/getting-started/deployment#vercel", - Network accessline 596
{ "url": "https://nuxt.com/docs/getting-started/deployment#vercel", "topic": "Nuxt on Vercel — Nitro preset, ISR, caching headers", - Network accessline 597
"url": "https://nuxt.com/docs/getting-started/deployment#vercel",
skills/vercel-optimize/references/observability-plus.md
- Network accessline 33
Docs: https://vercel.com/docs/observability/observability-plus
skills/vercel-optimize/references/playbooks/ai-application.md
- Access to secretsline 12
[Credential-related source omitted] - Network accessline 29
- [observability-events-cost-attribution](../support-topics/observability-events-cost-attribution.md) — when Observability Events climb above 20% of bill - [use-cache-remote-shared-origin-data](../support-topics/use-cache-remote-shared-orig - Network accessline 30
- [use-cache-remote-shared-origin-data](../support-topics/use-cache-remote-shared-origin-data.md) — caching shared LLM context or embedding lookups - `https://vercel.com/docs/ai-gateway` — provider configuration, failover chain - `https://v - Network accessline 31
- `https://vercel.com/docs/ai-gateway` — provider configuration, failover chain - Network accessline 32
- `https://vercel.com/docs/vercel-sandbox` — `sandbox.get(name)` and active-compute billing
skills/vercel-optimize/references/playbooks/api-service.md
- Network accessline 26
- `https://vercel.com/docs/caching/cdn-cache` — the GET-handler Cache-Control fix - Network accessline 27
- `vercel-react-best-practices:async-parallel` — parallelize external API calls - `vercel-react-best-practices:server-after-nonblocking` — `after()` for post-response work - `https://vercel.com/docs/fluid-compute` — when cold starts on infr - Network accessline 28
- `vercel-react-best-practices:server-after-nonblocking` — `after()` for post-response work - `https://vercel.com/docs/fluid-compute` — when cold starts on infrequently-called endpoints hurt - `https://nextjs.org/docs/app/building-your-appl - Network accessline 29
- `https://vercel.com/docs/fluid-compute` — when cold starts on infrequently-called endpoints hurt - Network accessline 30
- `https://nextjs.org/docs/app/building-your-application/routing/middleware` — for rate-limit middleware
skills/vercel-optimize/references/playbooks/content-site.md
- Network accessline 26
- `https://nextjs.org/docs/app/api-reference/functions/generate-static-params` — for pre-rendering - Network accessline 27
- `https://vercel.com/docs/incremental-static-regeneration` — for the ISR fix - Network accessline 28
- `https://nextjs.org/docs/app/api-reference/components/image` — image optimization - Network accessline 29
- `https://nextjs.org/docs/app/api-reference/components/font` — self-hosted fonts
skills/vercel-optimize/references/playbooks/ecommerce.md
- Network accessline 27
- `vercel-react-best-practices:async-suspense-boundaries` — stream the checkout shell, fill cart drawer later - `vercel-react-best-practices:bundle-defer-third-party` — defer analytics (GA, Mixpanel) post-hydration - `https://nextjs.org/doc - Network accessline 28
- `vercel-react-best-practices:bundle-defer-third-party` — defer analytics (GA, Mixpanel) post-hydration - `https://nextjs.org/docs/app/api-reference/components/image` — for the catalog image fix - `https://vercel.com/docs/bot-management` — - Network accessline 29
- `https://nextjs.org/docs/app/api-reference/components/image` — for the catalog image fix - Network accessline 30
- `https://vercel.com/docs/bot-management` — for bot traffic on search/product routes
skills/vercel-optimize/references/playbooks/marketing.md
- Network accessline 26
- `https://vercel.com/docs/bot-management` — almost always the right platform rec - Network accessline 27
- `https://vercel.com/docs/incremental-static-regeneration` — for CMS-driven sections - Network accessline 28
- `https://nextjs.org/docs/app/api-reference/components/image` — hero/illustration optimization - Network accessline 30
- `https://nextjs.org/docs/app/building-your-application/routing/middleware` — A/B variant routing at the edge
skills/vercel-optimize/references/playbooks/saas.md
- Network accessline 29
- `vercel-react-best-practices:server-after-nonblocking` — defer audit/analytics writes (Next 15+) - `vercel-react-best-practices:client-swr-dedup` — replace polling with SWR - `https://vercel.com/docs/fluid-compute` — when cold starts hurt - Network accessline 31
- `https://vercel.com/docs/fluid-compute` — when cold starts hurt
skills/vercel-optimize/references/playbooks/sveltekit.md
- Network accessline 23
in `+page.server.ts` via `export const config`). This converts function invocations to cache hits. Cite `https://kit.svelte.dev/docs/adapter-vercel` + - Network accessline 24
function invocations to cache hits. Cite `https://kit.svelte.dev/docs/adapter-vercel` + `https://vercel.com/docs/incremental-static-regeneration`. - Network accessline 25
`https://kit.svelte.dev/docs/adapter-vercel` + - Network accessline 26
`https://vercel.com/docs/incremental-static-regeneration`. - Network accessline 27
2. **Prerender what's static.** `export const prerender = true` in `+page.server.ts` or `+page.ts` moves a route from function to CDN. Cite `https://kit.svelte.dev/docs/page-options`. - Network accessline 28
`+page.server.ts` or `+page.ts` moves a route from function to CDN. Cite `https://kit.svelte.dev/docs/page-options`. 3. **Parallel `load` fetches.** A `load` function with multiple - Network accessline 29
Cite `https://kit.svelte.dev/docs/page-options`. 3. **Parallel `load` fetches.** A `load` function with multiple sequential `await fetch(...)` calls leaves wall-clock time on the - Network accessline 30
3. **Parallel `load` fetches.** A `load` function with multiple sequential `await fetch(...)` calls leaves wall-clock time on the table — wrap them in `Promise.all` (or return promises directly - Network accessline 31
sequential `await fetch(...)` calls leaves wall-clock time on the - Network accessline 32
table — wrap them in `Promise.all` (or return promises directly from `load`, which SvelteKit streams). Cite `https://kit.svelte.dev/docs/load`. - Network accessline 33
from `load`, which SvelteKit streams). Cite `https://kit.svelte.dev/docs/load`. 4. **Move per-request work to `+server.ts` action handlers and run - Network accessline 34
`https://kit.svelte.dev/docs/load`. 4. **Move per-request work to `+server.ts` action handlers and run them via `fetch` from the client.** Reduces SSR cost when only a - Network accessline 58
- **`fetch` calls in `load` to your own SvelteKit routes.** SvelteKit optimizes these into direct module calls during SSR, but only if the URL is relative. A hardcoded `https://your-domain.tld/api/...` - Network accessline 59
optimizes these into direct module calls during SSR, but only if the URL is relative. A hardcoded `https://your-domain.tld/api/...` defeats this optimization. - Network accessline 60
the URL is relative. A hardcoded `https://your-domain.tld/api/...` - Network accessline 67
- `https://kit.svelte.dev/docs/adapter-vercel` — adapter config (ISR, regions, runtime) - Network accessline 68
- `https://kit.svelte.dev/docs/page-options` — prerender, ssr, csr - Network accessline 69
- `https://kit.svelte.dev/docs/load` — parallel fetches in load - Network accessline 70
- `https://kit.svelte.dev/docs/routing` — file conventions - Network accessline 71
- `https://kit.svelte.dev/docs/hooks` — handle / handleFetch - Network accessline 72
- `https://kit.svelte.dev/docs/form-actions` — server-side form handling - Network accessline 73
- `https://kit.svelte.dev/docs/state-management` — request-scoped state - Network accessline 74
- `https://vercel.com/docs/incremental-static-regeneration` — ISR on Vercel - Network accessline 75
- `https://vercel.com/docs/fluid-compute` — Fluid Compute (framework-agnostic)
skills/vercel-optimize/references/recommendations.md
- Network accessline 146
| Provider | Limit | Doc URL | |---|---|---| | Notion | 3 rps | https://developers.notion.com/reference/request-limits | - Network accessline 147
|---|---|---| | Notion | 3 rps | https://developers.notion.com/reference/request-limits | | OpenAI | 30 rps | https://platform.openai.com/docs/guides/rate-limits | - Network accessline 148
| Notion | 3 rps | https://developers.notion.com/reference/request-limits | - Network accessline 149
| OpenAI | 30 rps | https://platform.openai.com/docs/guides/rate-limits | - Network accessline 150
| Stripe | 100 rps | https://docs.stripe.com/rate-limits | - Network accessline 151
| Anthropic | 10 rps | https://docs.anthropic.com/en/api/rate-limits |
skills/vercel-optimize/references/scanner-patterns.md
- Network accessline 23
**Citations:** - `https://nextjs.org/docs/app/api-reference/directives/use-cache` - Network accessline 24
- `https://nextjs.org/docs/app/api-reference/directives/use-cache` - Network accessline 25
- `https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents` - Network accessline 26
- `https://nextjs.org/docs/app/guides/migrating-to-cache-components` - Network accessline 40
**Citations:** - `https://vercel.com/docs/functions/runtimes/edge-runtime` - Network accessline 41
- `https://vercel.com/docs/functions/runtimes/edge-runtime` - Network accessline 42
- `https://vercel.com/docs/fluid-compute` - Network accessline 56
**Citations:** - `https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config` - Network accessline 57
- `https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config` - Network accessline 71
**Citations:** - `https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config` - Network accessline 72
- `https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config` - Network accessline 73
- `https://nextjs.org/docs/app/building-your-application/caching` - Network accessline 87
**Citations:** - `https://vercel.com/docs/manage-cdn-usage` - Network accessline 88
- `https://vercel.com/docs/manage-cdn-usage` - Network accessline 89
- `https://vercel.com/docs/image-optimization` - Network accessline 103
**Citations:** - `https://vercel.com/docs/caching/cdn-cache` - Network accessline 104
- `https://vercel.com/docs/caching/cdn-cache` - Network accessline 105
- `https://vercel.com/docs/caching/cache-control-headers` - Network accessline 119
**Citations:** - `https://nextjs.org/docs/app/building-your-application/routing/middleware` - Network accessline 120
- `https://nextjs.org/docs/app/building-your-application/routing/middleware` - Network accessline 130
**Description.** Two antipatterns: (a) GET handlers without explicit Cache-Control headers serve uncached; (b) fetch() calls with cache:"no-store" or next:{revalidate:0} opt out of caching even on cacheable upstream data. For non-auth route - Network accessline 132
**Fix.** For GET handlers: return a Response with Cache-Control: public, s-maxage=<seconds>, stale-while-revalidate=<window>. For fetch(): drop cache:"no-store" (use { next: { revalidate: <seconds> } } in Next.js) so the response is cached - Network accessline 134
**Citations:** - `https://vercel.com/docs/caching/cdn-cache` - Network accessline 135
- `https://vercel.com/docs/caching/cdn-cache` - Network accessline 136
- `https://vercel.com/docs/caching/cache-control-headers` - Network accessline 137
- `https://nextjs.org/docs/app/building-your-application/caching` - Network accessline 166
**Citations:** - `https://vercel.com/docs/functions/configuring-functions/region` - Network accessline 167
- `https://vercel.com/docs/functions/configuring-functions/region` - Network accessline 168
- `https://vercel.com/docs/functions/configuring-functions/region` - Network accessline 182
**Citations:** - `https://nextjs.org/docs/messages/improper-devtool` - Network accessline 183
- `https://nextjs.org/docs/messages/improper-devtool` - Network accessline 197
**Citations:** - `https://kit.svelte.dev/docs/page-options` - Network accessline 198
- `https://kit.svelte.dev/docs/page-options` - Network accessline 199
- `https://kit.svelte.dev/docs/adapter-vercel` - Network accessline 200
- `https://vercel.com/docs/incremental-static-regeneration` - Network accessline 214
**Citations:** - `https://vercel.com/docs/monorepos` - Network accessline 215
- `https://vercel.com/docs/monorepos` - Network accessline 216
- `https://vercel.com/docs/builds` - Network accessline 217
- `https://turborepo.dev/docs/crafting-your-repository/caching` - Network accessline 231
**Citations:** - `https://nextjs.org/docs/app/api-reference/components/image` - Network accessline 232
- `https://nextjs.org/docs/app/api-reference/components/image` - Network accessline 233
- `https://vercel.com/docs/image-optimization` - Network accessline 247
**Citations:** - `https://nextjs.org/docs/app/api-reference/directives/use-cache` - Network accessline 248
- `https://nextjs.org/docs/app/api-reference/directives/use-cache` - Network accessline 249
- `https://nextjs.org/docs/app/api-reference/functions/cacheLife`
skills/vercel-optimize/references/support-topics/README.md
skills/vercel-optimize/references/support-topics/astro-edge-middleware-scope.md
- Network accessline 6
frameworks: ["astro@*"] priority: 88 citations: ["https://vercel.com/docs/frameworks/frontend/astro", "https://docs.astro.build/en/guides/integrations-guide/vercel/"] - Network accessline 7
priority: 88 citations: ["https://vercel.com/docs/frameworks/frontend/astro", "https://docs.astro.build/en/guides/integrations-guide/vercel/"] maxBriefChars: 800 - Network accessline 8
citations: ["https://vercel.com/docs/frameworks/frontend/astro", "https://docs.astro.build/en/guides/integrations-guide/vercel/"]
skills/vercel-optimize/references/support-topics/astro-output-mode-and-isr.md
- Network accessline 6
frameworks: ["astro@*"] priority: 90 citations: ["https://vercel.com/docs/frameworks/frontend/astro", "https://docs.astro.build/en/guides/on-demand-rendering/", "https://docs.astro.build/en/reference/configuration-reference/"] - Network accessline 7
priority: 90 citations: ["https://vercel.com/docs/frameworks/frontend/astro", "https://docs.astro.build/en/guides/on-demand-rendering/", "https://docs.astro.build/en/reference/configuration-reference/"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/frameworks/frontend/astro", "https://docs.astro.build/en/guides/on-demand-rendering/", "https://docs.astro.build/en/reference/configuration-reference/"]
skills/vercel-optimize/references/support-topics/bot-protection-product-guardrails.md
- Network accessline 6
frameworks: ["*"] priority: 90 citations: ["https://vercel.com/docs/bot-management", "https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets", "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", "https://vercel.c - Network accessline 7
priority: 90 citations: ["https://vercel.com/docs/bot-management", "https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets", "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", "https://vercel.com/docs/botid"] ma - Network accessline 8
citations: ["https://vercel.com/docs/bot-management", "https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets", "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", "https://vercel.com/docs/botid"]
skills/vercel-optimize/references/support-topics/build-minutes-monorepo-fanout.md
- Network accessline 7
scannerPatterns: ["turbo-force-bypass"] priority: 90 citations: ["https://vercel.com/docs/monorepos", "https://vercel.com/docs/builds", "https://turborepo.dev/docs/crafting-your-repository/caching"] - Network accessline 8
priority: 90 citations: ["https://vercel.com/docs/monorepos", "https://vercel.com/docs/builds", "https://turborepo.dev/docs/crafting-your-repository/caching"] maxBriefChars: 900 - Network accessline 9
citations: ["https://vercel.com/docs/monorepos", "https://vercel.com/docs/builds", "https://turborepo.dev/docs/crafting-your-repository/caching"]
skills/vercel-optimize/references/support-topics/cache-components-static-shell-boundaries.md
- Network accessline 6
frameworks: ["next@>=16.0.0"] priority: 94 citations: ["https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", "https://nextjs.org/docs/app/getting-started/caching", "https://nextjs.org/docs/app/guides/migrating-t - Network accessline 7
priority: 94 citations: ["https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", "https://nextjs.org/docs/app/getting-started/caching", "https://nextjs.org/docs/app/guides/migrating-to-cache-components"] maxBriefC - Network accessline 8
citations: ["https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", "https://nextjs.org/docs/app/getting-started/caching", "https://nextjs.org/docs/app/guides/migrating-to-cache-components"]
skills/vercel-optimize/references/support-topics/cache-components-suspense-dedupe-pitfall.md
- Network accessline 7
scannerPatterns: ["cache-components-suspense-dedupe"] priority: 87 citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", "https://nex - Network accessline 8
priority: 87 citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", "https://nextjs.org/docs/app/guides/migrating-to-cache-components" - Network accessline 9
citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents", "https://nextjs.org/docs/app/guides/migrating-to-cache-components"]
skills/vercel-optimize/references/support-topics/cdn-cache-auth-safety.md
- Network accessline 6
frameworks: ["*"] priority: 100 citations: ["https://vercel.com/docs/caching/cdn-cache", "https://vercel.com/docs/caching/cache-control-headers", "https://vercel.com/docs/project-configuration"] - Network accessline 7
priority: 100 citations: ["https://vercel.com/docs/caching/cdn-cache", "https://vercel.com/docs/caching/cache-control-headers", "https://vercel.com/docs/project-configuration"] maxBriefChars: 900 - Network accessline 8
citations: ["https://vercel.com/docs/caching/cdn-cache", "https://vercel.com/docs/caching/cache-control-headers", "https://vercel.com/docs/project-configuration"]
skills/vercel-optimize/references/support-topics/cold-start-initialization-bundle.md
- Network accessline 6
frameworks: ["*"] priority: 92 citations: ["https://vercel.com/docs/functions/debug-slow-functions", "https://vercel.com/docs/functions/limitations", "https://vercel.com/docs/functions/runtimes"] - Network accessline 7
priority: 92 citations: ["https://vercel.com/docs/functions/debug-slow-functions", "https://vercel.com/docs/functions/limitations", "https://vercel.com/docs/functions/runtimes"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/functions/debug-slow-functions", "https://vercel.com/docs/functions/limitations", "https://vercel.com/docs/functions/runtimes"]
skills/vercel-optimize/references/support-topics/core-web-vitals-client-bottlenecks.md
- Network accessline 6
frameworks: ["*"] priority: 90 citations: ["https://vercel.com/docs/speed-insights", "https://web.dev/articles/vitals", "https://web.dev/articles/optimize-lcp", "https://web.dev/articles/optimize-inp", "https://web.dev/articles/optimize-cls - Network accessline 7
priority: 90 citations: ["https://vercel.com/docs/speed-insights", "https://web.dev/articles/vitals", "https://web.dev/articles/optimize-lcp", "https://web.dev/articles/optimize-inp", "https://web.dev/articles/optimize-cls"] maxBriefChars: - Network accessline 8
citations: ["https://vercel.com/docs/speed-insights", "https://web.dev/articles/vitals", "https://web.dev/articles/optimize-lcp", "https://web.dev/articles/optimize-inp", "https://web.dev/articles/optimize-cls"]
skills/vercel-optimize/references/support-topics/database-egress-pooling-region.md
- Network accessline 6
frameworks: ["*"] priority: 60 citations: ["https://vercel.com/docs/regions", "https://vercel.com/docs/functions", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package", "https://vercel.com/docs/functions/limi - Network accessline 7
priority: 60 citations: ["https://vercel.com/docs/regions", "https://vercel.com/docs/functions", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package", "https://vercel.com/docs/functions/limitations"] maxBrief - Network accessline 8
citations: ["https://vercel.com/docs/regions", "https://vercel.com/docs/functions", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package", "https://vercel.com/docs/functions/limitations"]
skills/vercel-optimize/references/support-topics/dynamic-rendering-traps.md
- Network accessline 6
frameworks: ["next@>=13.0.0"] priority: 90 citations: ["https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config", "https://nextjs.org/docs/app/api-reference/functions/generate-static-params", "https://nextjs.org/docs - Network accessline 7
priority: 90 citations: ["https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config", "https://nextjs.org/docs/app/api-reference/functions/generate-static-params", "https://nextjs.org/docs/app/building-your-application - Network accessline 8
citations: ["https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config", "https://nextjs.org/docs/app/api-reference/functions/generate-static-params", "https://nextjs.org/docs/app/building-your-application/rendering/pa
skills/vercel-optimize/references/support-topics/external-api-critical-path-platform.md
- Network accessline 6
frameworks: ["*"] priority: 86 citations: ["https://vercel.com/docs/functions/debug-slow-functions", "https://vercel.com/docs/caching/runtime-cache", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"] - Network accessline 7
priority: 86 citations: ["https://vercel.com/docs/functions/debug-slow-functions", "https://vercel.com/docs/caching/runtime-cache", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/functions/debug-slow-functions", "https://vercel.com/docs/caching/runtime-cache", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"]
skills/vercel-optimize/references/support-topics/fast-data-transfer-payloads.md
- Network accessline 6
frameworks: ["*"] priority: 65 citations: ["https://vercel.com/docs/manage-cdn-usage", "https://vercel.com/docs/caching/cdn-cache"] - Network accessline 7
priority: 65 citations: ["https://vercel.com/docs/manage-cdn-usage", "https://vercel.com/docs/caching/cdn-cache"] maxBriefChars: 900 - Network accessline 8
citations: ["https://vercel.com/docs/manage-cdn-usage", "https://vercel.com/docs/caching/cdn-cache"]
skills/vercel-optimize/references/support-topics/fluid-compute-caveats.md
skills/vercel-optimize/references/support-topics/function-duration-io-and-after.md
- Network accessline 6
frameworks: ["next@>=15.0.0"] priority: 75 citations: ["https://nextjs.org/docs/app/api-reference/functions/after", "vercel-react-best-practices:async-parallel", "vercel-react-best-practices:server-after-nonblocking"] - Network accessline 7
priority: 75 citations: ["https://nextjs.org/docs/app/api-reference/functions/after", "vercel-react-best-practices:async-parallel", "vercel-react-best-practices:server-after-nonblocking"] maxBriefChars: 850 - Network accessline 8
citations: ["https://nextjs.org/docs/app/api-reference/functions/after", "vercel-react-best-practices:async-parallel", "vercel-react-best-practices:server-after-nonblocking"]
skills/vercel-optimize/references/support-topics/function-invocation-reduction.md
- Network accessline 6
frameworks: ["next@>=13.0.0"] priority: 70 citations: ["https://react.dev/reference/react/cache", "vercel-react-best-practices:server-parallel-fetching", "vercel-react-best-practices:server-cache-react"] - Network accessline 7
priority: 70 citations: ["https://react.dev/reference/react/cache", "vercel-react-best-practices:server-parallel-fetching", "vercel-react-best-practices:server-cache-react"] maxBriefChars: 850 - Network accessline 8
citations: ["https://react.dev/reference/react/cache", "vercel-react-best-practices:server-parallel-fetching", "vercel-react-best-practices:server-cache-react"]
skills/vercel-optimize/references/support-topics/function-region-misconfiguration-ttfb.md
- Network accessline 7
scannerPatterns: ["region-pin-in-config"] priority: 85 citations: ["https://vercel.com/docs/functions/configuring-functions/region", "https://vercel.com/docs/regions"] - Network accessline 8
priority: 85 citations: ["https://vercel.com/docs/functions/configuring-functions/region", "https://vercel.com/docs/regions"] maxBriefChars: 950 - Network accessline 9
citations: ["https://vercel.com/docs/functions/configuring-functions/region", "https://vercel.com/docs/regions"]
skills/vercel-optimize/references/support-topics/image-optimization-cost-control.md
- Network accessline 6
frameworks: ["*"] priority: 90 citations: ["https://vercel.com/docs/image-optimization", "https://vercel.com/docs/image-optimization/managing-image-optimization-costs", "https://vercel.com/docs/image-optimization/limits-and-pricing"] - Network accessline 7
priority: 90 citations: ["https://vercel.com/docs/image-optimization", "https://vercel.com/docs/image-optimization/managing-image-optimization-costs", "https://vercel.com/docs/image-optimization/limits-and-pricing"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/image-optimization", "https://vercel.com/docs/image-optimization/managing-image-optimization-costs", "https://vercel.com/docs/image-optimization/limits-and-pricing"]
skills/vercel-optimize/references/support-topics/isr-revalidation-static-generation.md
- Network accessline 6
frameworks: ["next@>=13.4.0"] priority: 95 citations: ["https://vercel.com/docs/incremental-static-regeneration", "https://nextjs.org/docs/app/api-reference/functions/revalidateTag", "https://nextjs.org/docs/app/api-reference/functions/reva - Network accessline 7
priority: 95 citations: ["https://vercel.com/docs/incremental-static-regeneration", "https://nextjs.org/docs/app/api-reference/functions/revalidateTag", "https://nextjs.org/docs/app/api-reference/functions/revalidatePath"] maxBriefChars: 10 - Network accessline 8
citations: ["https://vercel.com/docs/incremental-static-regeneration", "https://nextjs.org/docs/app/api-reference/functions/revalidateTag", "https://nextjs.org/docs/app/api-reference/functions/revalidatePath"]
skills/vercel-optimize/references/support-topics/middleware-proxy-edge-cost.md
- Network accessline 6
frameworks: ["next@>=12.0.0"] priority: 90 citations: ["https://nextjs.org/docs/app/building-your-application/routing/middleware", "https://vercel.com/docs/routing-middleware"] - Network accessline 7
priority: 90 citations: ["https://nextjs.org/docs/app/building-your-application/routing/middleware", "https://vercel.com/docs/routing-middleware"] maxBriefChars: 850 - Network accessline 8
citations: ["https://nextjs.org/docs/app/building-your-application/routing/middleware", "https://vercel.com/docs/routing-middleware"]
skills/vercel-optimize/references/support-topics/next-fetch-revalidate-floor.md
- Network accessline 6
frameworks: ["next@>=13.0.0"] priority: 88 citations: ["https://nextjs.org/docs/app/api-reference/functions/fetch", "https://nextjs.org/docs/app/building-your-application/caching"] - Network accessline 7
priority: 88 citations: ["https://nextjs.org/docs/app/api-reference/functions/fetch", "https://nextjs.org/docs/app/building-your-application/caching"] maxBriefChars: 850 - Network accessline 8
citations: ["https://nextjs.org/docs/app/api-reference/functions/fetch", "https://nextjs.org/docs/app/building-your-application/caching"]
skills/vercel-optimize/references/support-topics/next-font-cls-self-hosting.md
- Network accessline 7
metrics: ["CLS"] priority: 86 citations: ["https://nextjs.org/docs/app/api-reference/components/font", "https://web.dev/articles/optimize-cls"] - Network accessline 8
priority: 86 citations: ["https://nextjs.org/docs/app/api-reference/components/font", "https://web.dev/articles/optimize-cls"] maxBriefChars: 800 - Network accessline 9
citations: ["https://nextjs.org/docs/app/api-reference/components/font", "https://web.dev/articles/optimize-cls"]
skills/vercel-optimize/references/support-topics/next-heavy-ui-lazy-load-boundaries.md
- Network accessline 7
metrics: ["LCP", "INP"] priority: 82 citations: ["https://nextjs.org/docs/app/guides/lazy-loading", "https://web.dev/articles/optimize-inp"] - Network accessline 8
priority: 82 citations: ["https://nextjs.org/docs/app/guides/lazy-loading", "https://web.dev/articles/optimize-inp"] maxBriefChars: 850 - Network accessline 9
citations: ["https://nextjs.org/docs/app/guides/lazy-loading", "https://web.dev/articles/optimize-inp"]
skills/vercel-optimize/references/support-topics/next-image-lcp-preload-sizes.md
- Network accessline 7
metrics: ["LCP"] priority: 86 citations: ["https://nextjs.org/docs/app/api-reference/components/image", "https://web.dev/articles/optimize-lcp"] - Network accessline 8
priority: 86 citations: ["https://nextjs.org/docs/app/api-reference/components/image", "https://web.dev/articles/optimize-lcp"] maxBriefChars: 850 - Network accessline 9
citations: ["https://nextjs.org/docs/app/api-reference/components/image", "https://web.dev/articles/optimize-lcp"]
skills/vercel-optimize/references/support-topics/next-route-handler-get-cache-defaults.md
- Network accessline 6
frameworks: ["next@>=15.0.0"] priority: 91 citations: ["https://nextjs.org/docs/app/api-reference/file-conventions/route", "https://vercel.com/docs/caching/cdn-cache"] - Network accessline 7
priority: 91 citations: ["https://nextjs.org/docs/app/api-reference/file-conventions/route", "https://vercel.com/docs/caching/cdn-cache"] maxBriefChars: 850 - Network accessline 8
citations: ["https://nextjs.org/docs/app/api-reference/file-conventions/route", "https://vercel.com/docs/caching/cdn-cache"]
skills/vercel-optimize/references/support-topics/next-script-third-party-strategy.md
- Network accessline 7
metrics: ["LCP", "INP"] priority: 85 citations: ["https://nextjs.org/docs/app/api-reference/components/script", "https://web.dev/articles/optimize-inp"] - Network accessline 8
priority: 85 citations: ["https://nextjs.org/docs/app/api-reference/components/script", "https://web.dev/articles/optimize-inp"] maxBriefChars: 850 - Network accessline 9
citations: ["https://nextjs.org/docs/app/api-reference/components/script", "https://web.dev/articles/optimize-inp"]
skills/vercel-optimize/references/support-topics/nextjs-version-cache-semantics.md
- Network accessline 6
frameworks: ["next@>=15.0.0"] priority: 85 citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/functions/cacheLife", "https://nextjs.org/docs/app/building-your-application - Network accessline 7
priority: 85 citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/functions/cacheLife", "https://nextjs.org/docs/app/building-your-application/caching"] maxBriefChars: 800 - Network accessline 8
citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/functions/cacheLife", "https://nextjs.org/docs/app/building-your-application/caching"]
skills/vercel-optimize/references/support-topics/not-found-catchall-request-waste.md
- Network accessline 7
routePatterns: ["(^|/)404$", "not-found", "\\[\\.\\.\\."] priority: 92 citations: ["https://vercel.com/docs/routing/", "https://vercel.com/docs/redirects/bulk-redirects/", "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", " - Network accessline 8
priority: 92 citations: ["https://vercel.com/docs/routing/", "https://vercel.com/docs/redirects/bulk-redirects/", "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", "https://vercel.com/docs/vercel-firewall/vercel-waf/managed - Network accessline 9
citations: ["https://vercel.com/docs/routing/", "https://vercel.com/docs/redirects/bulk-redirects/", "https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules", "https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets"]
skills/vercel-optimize/references/support-topics/nuxt-route-rules-cache-isr.md
- Network accessline 6
frameworks: ["nuxt@>=3.0.0"] priority: 90 citations: ["https://vercel.com/docs/frameworks/full-stack/nuxt", "https://nuxt.com/docs/4.x/api/utils/define-route-rules", "https://nuxt.com/docs/4.x/guide/concepts/rendering"] - Network accessline 7
priority: 90 citations: ["https://vercel.com/docs/frameworks/full-stack/nuxt", "https://nuxt.com/docs/4.x/api/utils/define-route-rules", "https://nuxt.com/docs/4.x/guide/concepts/rendering"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/frameworks/full-stack/nuxt", "https://nuxt.com/docs/4.x/api/utils/define-route-rules", "https://nuxt.com/docs/4.x/guide/concepts/rendering"]
skills/vercel-optimize/references/support-topics/observability-events-cost-attribution.md
- Network accessline 6
frameworks: ["*"] priority: 92 citations: ["https://vercel.com/docs/observability/observability-plus", "https://vercel.com/docs/alerts"] - Network accessline 7
priority: 92 citations: ["https://vercel.com/docs/observability/observability-plus", "https://vercel.com/docs/alerts"] maxBriefChars: 900 - Network accessline 8
citations: ["https://vercel.com/docs/observability/observability-plus", "https://vercel.com/docs/alerts"]
skills/vercel-optimize/references/support-topics/post-response-work-waituntil.md
- Network accessline 6
frameworks: ["next@<15.0.0", "sveltekit@*", "astro@*", "nuxt@*", "unknown@*"] priority: 78 citations: ["https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"] - Network accessline 7
priority: 78 citations: ["https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"] maxBriefChars: 800 - Network accessline 8
citations: ["https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"]
skills/vercel-optimize/references/support-topics/route-error-durable-offload.md
- Network accessline 6
frameworks: ["*"] priority: 84 citations: ["https://vercel.com/docs/workflow", "https://workflow-sdk.dev/docs/foundations/starting-workflows", "https://workflow-sdk.dev/docs/foundations/workflows-and-steps", "https://vercel.com/docs/queues" - Network accessline 7
priority: 84 citations: ["https://vercel.com/docs/workflow", "https://workflow-sdk.dev/docs/foundations/starting-workflows", "https://workflow-sdk.dev/docs/foundations/workflows-and-steps", "https://vercel.com/docs/queues", "https://vercel. - Network accessline 8
citations: ["https://vercel.com/docs/workflow", "https://workflow-sdk.dev/docs/foundations/starting-workflows", "https://workflow-sdk.dev/docs/foundations/workflows-and-steps", "https://vercel.com/docs/queues", "https://vercel.com/docs/func
skills/vercel-optimize/references/support-topics/route-error-runtime-limits.md
- Network accessline 6
frameworks: ["*"] priority: 90 citations: ["https://vercel.com/docs/functions", "https://vercel.com/docs/functions/limitations", "https://vercel.com/docs/cli/inspect"] - Network accessline 7
priority: 90 citations: ["https://vercel.com/docs/functions", "https://vercel.com/docs/functions/limitations", "https://vercel.com/docs/cli/inspect"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/functions", "https://vercel.com/docs/functions/limitations", "https://vercel.com/docs/cli/inspect"]
skills/vercel-optimize/references/support-topics/runtime-cache-reusable-data.md
- Network accessline 6
frameworks: ["*"] priority: 84 citations: ["https://vercel.com/docs/caching/runtime-cache", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"] - Network accessline 7
priority: 84 citations: ["https://vercel.com/docs/caching/runtime-cache", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/caching/runtime-cache", "https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package"]
skills/vercel-optimize/references/support-topics/sveltekit-isr-prerender-safety.md
- Network accessline 6
frameworks: ["sveltekit@*"] priority: 90 citations: ["https://vercel.com/docs/frameworks/full-stack/sveltekit", "https://svelte.dev/docs/kit/adapter-vercel", "https://svelte.dev/docs/kit/page-options"] - Network accessline 7
priority: 90 citations: ["https://vercel.com/docs/frameworks/full-stack/sveltekit", "https://svelte.dev/docs/kit/adapter-vercel", "https://svelte.dev/docs/kit/page-options"] maxBriefChars: 850 - Network accessline 8
citations: ["https://vercel.com/docs/frameworks/full-stack/sveltekit", "https://svelte.dev/docs/kit/adapter-vercel", "https://svelte.dev/docs/kit/page-options"]
skills/vercel-optimize/references/support-topics/sveltekit-split-cold-start-tradeoff.md
- Network accessline 6
frameworks: ["sveltekit@*"] priority: 82 citations: ["https://vercel.com/docs/frameworks/full-stack/sveltekit", "https://svelte.dev/docs/kit/adapter-vercel"] - Network accessline 7
priority: 82 citations: ["https://vercel.com/docs/frameworks/full-stack/sveltekit", "https://svelte.dev/docs/kit/adapter-vercel"] maxBriefChars: 800 - Network accessline 8
citations: ["https://vercel.com/docs/frameworks/full-stack/sveltekit", "https://svelte.dev/docs/kit/adapter-vercel"]
skills/vercel-optimize/references/support-topics/usage-spike-triage.md
- Network accessline 6
frameworks: ["*"] priority: 95 citations: ["https://vercel.com/docs/alerts", "https://vercel.com/docs/spend-management", "https://vercel.com/docs/bot-management"] - Network accessline 7
priority: 95 citations: ["https://vercel.com/docs/alerts", "https://vercel.com/docs/spend-management", "https://vercel.com/docs/bot-management"] maxBriefChars: 950 - Network accessline 8
citations: ["https://vercel.com/docs/alerts", "https://vercel.com/docs/spend-management", "https://vercel.com/docs/bot-management"]
skills/vercel-optimize/references/support-topics/use-cache-date-stamp-isr-write-amplifier.md
- Network accessline 7
scannerPatterns: ["use-cache-date-stamp"] priority: 88 citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/functions/cacheLife"] - Network accessline 8
priority: 88 citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/functions/cacheLife"] maxBriefChars: 900 - Network accessline 9
citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/functions/cacheLife"]
skills/vercel-optimize/references/support-topics/use-cache-remote-shared-origin-data.md
- Network accessline 6
frameworks: ["next@>=16.0.0"] priority: 87 citations: ["https://vercel.com/docs/caching/runtime-cache", "https://nextjs.org/docs/app/api-reference/directives/use-cache-remote"] - Network accessline 7
priority: 87 citations: ["https://vercel.com/docs/caching/runtime-cache", "https://nextjs.org/docs/app/api-reference/directives/use-cache-remote"] maxBriefChars: 950 - Network accessline 8
citations: ["https://vercel.com/docs/caching/runtime-cache", "https://nextjs.org/docs/app/api-reference/directives/use-cache-remote"]
skills/vercel-optimize/references/support-topics/workflow-resumable-stream-routes.md
- Network accessline 7
routePatterns: ["(^|/)api/.*/stream/?$", "(^|/)chat/.*/stream/?$", "\\[id\\].*/stream"] priority: 98 citations: ["https://workflow-sdk.dev/docs/ai/resumable-streams", "https://workflow-sdk.dev/docs/foundations/streaming", "https://vercel.co - Network accessline 8
priority: 98 citations: ["https://workflow-sdk.dev/docs/ai/resumable-streams", "https://workflow-sdk.dev/docs/foundations/streaming", "https://vercel.com/docs/workflow"] maxBriefChars: 850 - Network accessline 9
citations: ["https://workflow-sdk.dev/docs/ai/resumable-streams", "https://workflow-sdk.dev/docs/foundations/streaming", "https://vercel.com/docs/workflow"]
skills/vercel-optimize/references/verification.md
- Network accessline 23
| # | Claim type | Pattern in rec | Verification | |---|---|---|---| | 1 | `pattern_count` | "N fetch() calls in file X" | grep/ast-grep in X, exact count match | - Network accessline 24
|---|---|---|---| | 1 | `pattern_count` | "N fetch() calls in file X" | grep/ast-grep in X, exact count match | | 2 | `pattern_exists` | "uses JSON.parse(JSON.stringify())" | grep, boolean | - Network accessline 25
| 1 | `pattern_count` | "N fetch() calls in file X" | grep/ast-grep in X, exact count match |
skills/vercel-optimize/scripts/budget-summary.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/build-docs.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/check-citations.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 8
const SKILL_REF_RE = /^[\w-]+:[\w-]+$/; const BANNED_STALE_URLS = new Set([ 'https://nextjs.org/docs/app/api-reference/functions/cache-life', - Network accessline 9
const BANNED_STALE_URLS = new Set([ 'https://nextjs.org/docs/app/api-reference/functions/cache-life', 'https://nextjs.org/docs/app/api-reference/functions/cache-tag', - Network accessline 10
'https://nextjs.org/docs/app/api-reference/functions/cache-life', - Network accessline 11
'https://nextjs.org/docs/app/api-reference/functions/cache-tag', - Network accessline 12
'https://nextjs.org/docs/app/api-reference/functions/revalidate-tag', - Network accessline 13
'https://nextjs.org/docs/app/api-reference/functions/revalidate-path', - Network accessline 14
'https://nextjs.org/docs/app/api-reference/functions/cache',
skills/vercel-optimize/scripts/check-docs-fresh.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/collect-signals.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/collect-sub-agent-outputs.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/deep-dive.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/gate-investigations.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/merge-signals.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/prepare-investigation-brief.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/reconcile-candidates.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/render-report.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/scan-codebase.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/verify-and-regen.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/vercel-optimize/scripts/verify-finding.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/web-design-guidelines/SKILL.md
- Network accessline 26
https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md
skills/writing-guidelines/SKILL.md
- Network accessline 26
https://raw.githubusercontent.com/vercel-labs/writing-guidelines/main/command.md
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.
Declared and executed: 16 facts
- Contacts web.dev, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/gates/cwv-poor.mjs:10High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/gates/middleware-heavy.mjs:8High confidence
- Contacts developers.notion.com, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/sanitizers/rate-limit.mjs:5High confidence
- Contacts platform.openai.com, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/sanitizers/rate-limit.mjs:6High confidence
- Contacts docs.stripe.com, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/sanitizers/rate-limit.mjs:7High confidence
- Contacts docs.anthropic.com, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/sanitizers/rate-limit.mjs:8High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/cache-components-suspense-dedupe.mjs:28High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/force-dynamic.mjs:12High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/headers-in-page.mjs:14High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/middleware-broad-matcher.mjs:12High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/missing-cache-headers.mjs:19High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/source-maps-production.mjs:14High confidence
- Contacts kit.svelte.dev, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/sveltekit-prerender-missing.mjs:16High confidence
- Contacts turborepo.dev, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/turbo-force-bypass.mjs:27High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/unoptimized-image.mjs:16High confidence
- Contacts nextjs.org, which SKILL.md, the README and the plugin manifest do not mentionvercel-optimize/lib/scanners/use-cache-date-stamp.mjs:24High confidence
Signal confidence: 484 facts
- Network access in prose of documentationcomposition-patterns/AGENTS.md:944Low confidence
- Network access in prose of documentationcomposition-patterns/AGENTS.md:945Low confidence
- Network access in prose of documentationcomposition-patterns/AGENTS.md:946Low confidence
- Network access in prose of documentationcomposition-patterns/rules/_template.md:24Low confidence
- Network access in prose of the SKILL.mddeploy-to-vercel/SKILL.md:172Low confidence
- Network access in code of the SKILL.mddeploy-to-vercel/SKILL.md:213High confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:266Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:477Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:639Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:783Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:925Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:929Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:943Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:944Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:945Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:949Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:969Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:970Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:974Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:1077Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:1288Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:1362Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:1496Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:1497Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:1498Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:1536Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:1647Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:1866Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:1948Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2008Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2111Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2258Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2454Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2623Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2624Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2625Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2640Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2641Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2642Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2651Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2712Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2713Low confidence
- Network access in code of documentationreact-best-practices/AGENTS.md:2714Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2778Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2852Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:2948Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:3082Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:3552Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:3689Low confidence
- Network access in prose of documentationreact-best-practices/AGENTS.md:3727Low confidence
and 434 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path CLAUDE.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/composition-patterns/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/composition-patterns/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/composition-patterns/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/composition-patterns/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.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/vercel-labs-agent-skills/)