vercel-react-best-practices
No security findings. Scanned 1 time, most recently 2026-02-01.
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
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.
- Package
- 63 files, 171 KB
- SKILL.md
- 757 words, 12+ sections
- Code
- None. Instructions only.
- License
- MIT
SKILL.md covers: Vercel React Best Practices · When to Apply · Rule Categories by Priority · Quick Reference · 1. Eliminating Waterfalls (CRITICAL) · 2. Bundle Size Optimization (CRITICAL) · 3. Server-Side Performance (HIGH) · 4. Client-Side Data Fetching (MEDIUM-HIGH) · 5. Re-render Optimization (MEDIUM) · 6. Rendering Performance (MEDIUM) · 7. JavaScript Performance (LOW-MEDIUM) · 8. Advanced Patterns (LOW)
Findings
No findings. SAFE
What is in the package
63 files, 171 KB. Show the list.
| File | Kind | Size |
|---|---|---|
AGENTS.md | doc | 80 KB |
README.md | doc | 3.3 KB |
SKILL.md | doc | 6.0 KB |
metadata.json | config | 921 B |
rules/_sections.md | doc | 1.5 KB |
rules/_template.md | doc | 631 B |
rules/advanced-event-handler-refs.md | doc | 1.4 KB |
rules/advanced-init-once.md | doc | 958 B |
rules/advanced-use-latest.md | doc | 1.0 KB |
rules/async-api-routes.md | doc | 1.1 KB |
rules/async-defer-await.md | doc | 2.0 KB |
rules/async-dependencies.md | doc | 1.3 KB |
rules/async-parallel.md | doc | 654 B |
rules/async-suspense-boundaries.md | doc | 2.5 KB |
rules/bundle-barrel-imports.md | doc | 2.3 KB |
rules/bundle-conditional.md | doc | 949 B |
rules/bundle-defer-third-party.md | doc | 920 B |
rules/bundle-dynamic-imports.md | doc | 791 B |
rules/bundle-preload.md | doc | 1.1 KB |
rules/client-event-listeners.md | doc | 1.9 KB |
rules/client-localstorage-schema.md | doc | 1.9 KB |
rules/client-passive-event-listeners.md | doc | 1.6 KB |
rules/client-swr-dedup.md | doc | 1.1 KB |
rules/js-batch-dom-css.md | doc | 3.2 KB |
rules/js-cache-function-results.md | doc | 1.9 KB |
rules/js-cache-property-access.md | doc | 532 B |
rules/js-cache-storage.md | doc | 1.6 KB |
rules/js-combine-iterations.md | doc | 753 B |
rules/js-early-exit.md | doc | 1.1 KB |
rules/js-hoist-regexp.md | doc | 1.0 KB |
rules/js-index-maps.md | doc | 837 B |
rules/js-length-check-first.md | doc | 1.7 KB |
rules/js-min-max-loop.md | doc | 2.2 KB |
rules/js-set-map-lookups.md | doc | 532 B |
rules/js-tosorted-immutable.md | doc | 1.7 KB |
rules/rendering-activity.md | doc | 564 B |
rules/rendering-animate-svg-wrapper.md | doc | 1.2 KB |
rules/rendering-conditional-render.md | doc | 980 B |
rules/rendering-content-visibility.md | doc | 815 B |
rules/rendering-hoist-jsx.md | doc | 1.0 KB |
rules/rendering-hydration-no-flicker.md | doc | 2.3 KB |
rules/rendering-hydration-suppress-warning.md | doc | 872 B |
rules/rendering-svg-precision.md | doc | 588 B |
rules/rendering-usetransition-loading.md | doc | 2.0 KB |
rules/rerender-defer-reads.md | doc | 973 B |
rules/rerender-dependencies.md | doc | 824 B |
rules/rerender-derived-state-no-effect.md | doc | 1.2 KB |
rules/rerender-derived-state.md | doc | 728 B |
rules/rerender-functional-setstate.md | doc | 2.9 KB |
rules/rerender-lazy-state-init.md | doc | 2.0 KB |
rules/rerender-memo-with-default-value.md | doc | 1.1 KB |
rules/rerender-memo.md | doc | 1.1 KB |
rules/rerender-move-effect-to-event.md | doc | 1.2 KB |
rules/rerender-simple-expression-in-memo.md | doc | 1018 B |
rules/rerender-transitions.md | doc | 1.0 KB |
rules/rerender-use-ref-transient-values.md | doc | 1.7 KB |
rules/server-after-nonblocking.md | doc | 2.0 KB |
rules/server-auth-actions.md | doc | 2.6 KB |
rules/server-cache-lru.md | doc | 1.3 KB |
rules/server-cache-react.md | doc | 2.2 KB |
rules/server-dedup-props.md | doc | 2.0 KB |
rules/server-parallel-fetching.md | doc | 1.5 KB |
rules/server-serialization.md | doc | 996 B |
External hosts referenced
react.dev vercel.com github.com nextjs.org swr.vercel.app csstriggers.com gist.github.com jsfiddle.net x.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Package contents recorded 2026-10-22 at commit e23951b8cad2. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/vercel/labs-agent-skills
- Raw scan result: vercel-react-best-practices-scan.json
- Badge for your README:
 - Request a re-scan