From ork
Provides performance optimization patterns for Core Web Vitals, React renders, lazy loading, images, backend profiling, LLM inference, caching, data fetching, and sustainability UX. Use for page speed, slow render debugging, bundle optimization, and efficiency gains.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ork:performanceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive performance optimization patterns for frontend, backend, and LLM inference.
checklists/cwv-checklist.mdchecklists/image-checklist.mdchecklists/inference-optimization.mdchecklists/performance-audit-checklist.mdchecklists/render-audit.mdexamples/cwv-examples.mdexamples/image-examples.mdexamples/orchestkit-performance-wins.mdmetadata.jsonreferences/caching-strategies.mdreferences/cc-prompt-cache-guide.mdreferences/cdn-setup.mdreferences/core-web-vitals.mdreferences/database-optimization.mdreferences/devtools-profiler-workflow.mdreferences/edge-deployment.mdreferences/frontend-performance.mdreferences/memoization-escape-hatches.mdreferences/profiling.mdreferences/quantization-guide.mdComprehensive performance optimization patterns for frontend, backend, and LLM inference.
| Category | Rules | Impact | When to Use |
|---|---|---|---|
| Core Web Vitals | 4 | CRITICAL | LCP, INP, CLS optimization with 2026 thresholds |
| Render Optimization | 3 | HIGH | React Compiler, memoization, virtualization |
| Lazy Loading | 3 | HIGH | Code splitting, route splitting, preloading |
| Image Optimization | 3 | HIGH | Next.js Image, AVIF/WebP, responsive images |
| Profiling & Backend | 3 | MEDIUM | React DevTools, py-spy, bundle analysis |
| LLM Inference | 3 | MEDIUM | vLLM, quantization, speculative decoding |
| Caching | 2 | HIGH | Redis cache-aside, prompt caching, HTTP cache headers |
| Query & Data Fetching | 2 | HIGH | TanStack Query prefetching, optimistic updates, rollback |
| Sustainability | 1 | MEDIUM | Page weight budgets, lazy loading, optimized formats, dark mode |
Total: 24 rules across 9 categories
Google's Core Web Vitals with 2026 stricter thresholds.
| Rule | File | Key Pattern |
|---|---|---|
| LCP Optimization | rules/cwv-lcp.md | Preload hero, SSR, fetchpriority="high" |
| INP Optimization | rules/cwv-inp.md | scheduler.yield, useTransition, requestIdleCallback |
| INP Advanced | rules/cwv-inp-advanced.md | Layout thrashing, third-party scripts, rAF patterns |
| CLS Prevention | rules/cwv-cls.md | Explicit dimensions, aspect-ratio, font-display |
| Metric | Current Good | 2026 Good |
|---|---|---|
| LCP | <= 2.5s | <= 2.0s |
| INP | <= 200ms | <= 150ms |
| CLS | <= 0.1 | <= 0.08 |
React render performance patterns for React 19+.
| Rule | File | Key Pattern |
|---|---|---|
| React Compiler | rules/render-compiler.md | Auto-memoization, "Memo" badge verification |
| Manual Memoization | rules/render-memo.md | useMemo/useCallback escape hatches, state colocation |
| Virtualization | rules/render-virtual.md | TanStack Virtual for 100+ item lists |
Code splitting and lazy loading with React.lazy and Suspense.
| Rule | File | Key Pattern |
|---|---|---|
| React.lazy + Suspense | rules/loading-lazy.md | Component lazy loading, error boundaries |
| Route Splitting | rules/loading-splitting.md | React Router 7.x, Vite manual chunks |
| Preloading | rules/loading-preload.md | Prefetch on hover, modulepreload hints |
Production image optimization for modern web applications.
| Rule | File | Key Pattern |
|---|---|---|
| Next.js Image | rules/images-nextjs.md | Image component, priority, blur placeholder |
| Format Selection | rules/images-formats.md | AVIF/WebP, quality 75-85, picture element |
| Responsive Images | rules/images-responsive.md | sizes prop, art direction, CDN loaders |
Profiling tools and backend optimization patterns.
| Rule | File | Key Pattern |
|---|---|---|
| React Profiling | rules/profiling-react.md | DevTools Profiler, flamegraph, render counts |
| Backend Profiling | rules/profiling-backend.md | py-spy, cProfile, memory_profiler, flame graphs |
| Bundle Analysis | rules/profiling-bundle.md | vite-bundle-visualizer, tree shaking, performance budgets |
High-performance LLM inference with vLLM, quantization, and speculative decoding.
| Rule | File | Key Pattern |
|---|---|---|
| vLLM Deployment | rules/inference-vllm.md | PagedAttention, continuous batching, tensor parallelism |
| Quantization | rules/inference-quantization.md | AWQ, GPTQ, FP8, INT8 method selection |
| Speculative Decoding | rules/inference-speculative.md | N-gram, draft model, 1.5-2.5x throughput |
Backend Redis caching and LLM prompt caching for cost savings and performance.
| Rule | File | Key Pattern |
|---|---|---|
| Redis & Backend | rules/caching-redis.md | Cache-aside, write-through, invalidation, stampede prevention |
| HTTP & Prompt | rules/caching-http.md | HTTP cache headers, LLM prompt caching, semantic caching |
TanStack Query v5 patterns for prefetching and optimistic updates.
| Rule | File | Key Pattern |
|---|---|---|
| Prefetching | rules/query-prefetching.md | Hover prefetch, route loaders, queryOptions, Suspense |
| Optimistic Updates | rules/query-optimistic.md | Optimistic mutations, rollback, cache invalidation |
Digital sustainability patterns for reducing carbon footprint and energy usage.
| Rule | File | Key Pattern |
|---|---|---|
| Sustainability UX | rules/sustainability-ux.md | Page weight budgets, AVIF/WebP, lazy loading, dark mode |
When profiling a local app (Lighthouse, Core Web Vitals, bundle analysis), use Portless named URLs for stable, self-documenting targets:
# Discover services
portless list
# app → app.localhost:1355 (port 3000)
# Profile with agent-browser (preferred for visual metrics)
agent-browser open "http://app.localhost:1355"
agent-browser profiler start
agent-browser wait --load networkidle
agent-browser profiler stop /tmp/profile.json
# Lighthouse via agent-browser
agent-browser open "http://app.localhost:1355"
agent-browser screenshot /tmp/perf-baseline.png
# Or direct Lighthouse CLI
npx lighthouse http://app.localhost:1355 --output=json --output-path=/tmp/lighthouse.json
Named URLs are stable across restarts and self-documenting in performance reports. Install Portless with npm i -g portless.
// LCP: Priority hero image with SSR
import Image from 'next/image';
export default async function Page() {
const data = await fetchHeroData();
return (
<Image
src={data.heroImage}
alt="Hero"
priority
placeholder="blur"
sizes="100vw"
fill
/>
);
}
| Decision | Recommendation |
|---|---|
| Memoization | Let React Compiler handle it (2026 default) |
| Lists 100+ items | Use TanStack Virtual |
| Image format | AVIF with WebP fallback (30-50% smaller) |
| LCP content | SSR/SSG, never client-side fetch |
| Code splitting | Per-route for most apps, per-component for heavy widgets |
| Prefetch strategy | On hover for nav links, viewport for content |
| Quantization | AWQ for 4-bit, FP8 for H100/H200 |
| Bundle budget | Hard fail in CI to prevent regression |
ork:react-server-components-framework - Server-first renderingork:vite-advanced - Build optimizationbrowser-tools - Visual profiling with agent-browser + Portlesscaching - Cache strategies for responsesork:monitoring-observability - Production monitoring and alertingork:database-patterns - Query and index optimizationork:llm-integration - Local inference with OllamaKeywords: LCP, largest-contentful-paint, hero, preload, priority, SSR Solves:
Keywords: INP, interaction, responsiveness, long-task, transition, yield Solves:
Keywords: CLS, layout-shift, dimensions, aspect-ratio, font-display Solves:
Keywords: react-compiler, auto-memo, memoization, React 19 Solves:
Keywords: virtual, TanStack, large-list, scroll, overscan Solves:
Keywords: React.lazy, Suspense, code-splitting, dynamic-import Solves:
Keywords: next/image, AVIF, WebP, responsive, blur-placeholder Solves:
Keywords: profiler, flame-graph, py-spy, DevTools, bundle-analyzer Solves:
Keywords: INP, scheduler-yield, layout-thrashing, third-party-scripts, requestAnimationFrame Solves:
Keywords: sustainability, carbon-footprint, page-weight, green-ux, dark-mode, lazy-loading Solves:
Keywords: vllm, quantization, speculative-decoding, inference, throughput Solves:
Load on demand with Read("${CLAUDE_SKILL_DIR}/references/<file>"):
| File | Content |
|---|---|
rum-setup.md | Real User Monitoring |
react-compiler-migration.md | Compiler adoption |
tanstack-virtual-patterns.md | Virtualization patterns |
vllm-deployment.md | Production vLLM config |
quantization-guide.md | Method comparison |
cdn-setup.md | Image CDN configuration |
cc-prompt-cache-guide.md | CC 2.1.72 prompt cache optimization, stable-first prompt structure |
npx claudepluginhub yonatangross/orchestkit --plugin orkOptimizes website and web app performance by measuring Core Web Vitals with Lighthouse, analyzing bundle sizes and bottlenecks, and implementing caching, code splitting, and asset optimizations.
Guides performance measurement and optimization workflows using Core Web Vitals targets. Use when profiling reveals bottlenecks or when load time budgets exist.
Optimizes web performance using Lighthouse audits, prioritizing Core Web Vitals with code examples for server response, resource preloading, and critical rendering path improvements.