Install
$ agentstack add skill-krishna-modi12-frontend-design-pro-react-performance ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
React Performance
When to Use
Performance work and audits: slow pages, request waterfalls, oversized bundles, unnecessary re-renders, long lists, Core Web Vitals (LCP/INP/CLS), Server Component boundaries, lazy loading, prefetching.
Stack
React 19 · Next.js App Router · TypeScript strict
Core Rules
- Parallelize independent I/O.
Promise.all()for anything that doesn't depend on the previous result (async-parallel). Check cheap sync conditions before awaiting. - Never import from a barrel.
@/componentspulls the whole graph; import the module (bundle-barrel-imports). Keep import paths statically analyzable. - Dynamic-import heavy components — charts, editors, 3D, PDF — via
next/dynamic(bundle-dynamic-imports). Defer analytics until after hydration. React.cache()for per-request dedup in RSC; never module-level mutable request state (that's a correctness bug, not just perf). Pass the minimum across the server/client boundary.- Derive during render, never in an effect.
useEffect+setStateto compute a value costs an extra render and flashes stale UI (rerender-derived-state-no-effect). - Memoize only with a named problem.
useMemo/memoon a primitive or a cheap expression is noise. Hoist non-primitive defaults; use functionalsetStatefor stable callbacks. - Never define a component inside a component — it remounts its whole subtree every render.
- Ternary, not
&&, for conditional JSX when the left side is numeric —items.length &&renders a literal0. - Long lists:
content-visibility: autowithcontain-intrinsic-size, or virtualize past ~100 rendered rows. startTransition/useDeferredValueto keep input responsive while an expensive tree re-renders.
Patterns
- Waterfall audit — read the request timeline, find sequential awaits with no data dependency, collapse into
Promise.all. - Bundle audit — check for barrel imports, non-analyzable paths, heavy libs in the main chunk.
- Suspense streaming — stream the shell, suspend the slow region.
- Prefetch on intent — preload on hover/focus for perceived instantaneity.
- Audit output —
file:line — rule-id — one-line fix, severity-ordered.
Examples
examples/good-perf.tsx (virtualizer, lazy, memo, prefetch) · examples/good-performance-patterns.tsx (Promise.all, dynamic import, content-visibility, index maps) · examples/bad-performance.tsx (anti-example).
Reference Index
Load only for the specific task:
| Task | Load | |---|---| | The 70-rule taxonomy with citable IDs across 8 categories | references/react-performance.md | | Vercel UI + React perf rules in prose form | references/vercel-ui-rules.md | | App Router, RSC, Server Actions, caching, Turbopack | references/nextjs-patterns.md | | Component size, state init, import and type optimization | references/token-optimization.md | | Promise.all/allSettled, workers, streaming SSR, IO batching | references/parallelization.md | | Main-thread jank — frame budget, INP/TBT/LoAF, task-splitting, forced reflow, content-visibility, will-change, paint cost | references/rendering-performance.md | | Making the wait feel short — skeleton vs spinner vs progress, spinner timing, optimistic UI, streaming-boundary placement, speculation rules | references/perceived-performance.md |
Constraints
PERF-01 no barrel imports · PERF-02 no numeric && in JSX · PERF-04 no transition: all · IMG-01 images declare dimensions · plus the shared baseline. Measure before optimizing — an unmeasured "optimization" is speculative complexity (P2).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Krishna-Modi12
- Source: Krishna-Modi12/frontend-design-pro
- License: MIT
- Homepage: https://krishna-modi12.github.io/frontend-design-pro/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.