Performance
Comprehensive performance optimization patterns for frontend, backend, and LLM inference.
Quick Reference
| 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 |
2 |
HIGH |
AVIF/WebP formats, 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: 23 rules across 9 categories
Core Web Vitals
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 |
2026 Thresholds
| Metric |
Current Good |
2026 Good |
| LCP |
<= 2.5s |
<= 2.0s |
| INP |
<= 200ms |
<= 150ms |
| CLS |
<= 0.1 |
<= 0.08 |
Render Optimization
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 |
Lazy Loading
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 |
Image Optimization
Production image optimization for modern web applications.
| Rule |
File |
Key Pattern |
| 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 |
Next.js Image component usage and the v16 image config defaults are first-party territory; see "Upstream coverage (do not restate)" below.
Profiling & Backend
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 |
LLM Inference
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 |
Caching
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 |
Query & Data Fetching
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 |
Sustainability
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 |
Local Profiling Target
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 (port 3000)
# Profile with agent-browser (preferred for visual metrics)
agent-browser open "https://app.localhost"
agent-browser profiler start
agent-browser wait --load networkidle
agent-browser profiler stop /tmp/profile.json
# Lighthouse via agent-browser
agent-browser open "https://app.localhost"
agent-browser screenshot /tmp/perf-baseline.png
# Or direct Lighthouse CLI
npx lighthouse https://app.localhost --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.
Quick Start Example
// 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
/>
);
}
Key Decisions
| 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 |
Common Mistakes
- Client-side fetching LCP content (delays render)
- Images without explicit dimensions (causes CLS)
- Lazy loading LCP images (delays largest paint)
- Heavy computation in event handlers (blocks INP)
- Layout-shifting animations (use transform instead)
- Lazy loading tiny components < 5KB (overhead > savings)
- Missing error boundaries on lazy components
- Using GPTQ without calibration data
- Not benchmarking actual workload patterns
- Only measuring in lab environment (need RUM)
Related Skills
ork:react-server-components-framework - Server-first rendering
ork:vite-advanced - Build optimization
browser-tools - Visual profiling with agent-browser + Portless
caching - Cache strategies for responses
ork:monitoring-observability - Production monitoring and alerting
ork:database-patterns - Query and index optimization
ork:llm-integration - Local inference with Ollama
Capability Details
lcp-optimization
Keywords: LCP, largest-contentful-paint, hero, preload, priority, SSR
Solves:
- Optimize hero image loading
- Server-render critical content
- Preload and prioritize LCP resources
inp-optimization
Keywords: INP, interaction, responsiveness, long-task, transition, yield
Solves:
- Break up long tasks with scheduler.yield
- Defer non-urgent updates with useTransition
- Optimize event handler performance
cls-prevention
Keywords: CLS, layout-shift, dimensions, aspect-ratio, font-display
Solves:
- Reserve space for dynamic content
- Prevent font flash and image pop-in
- Use transform for animations
react-compiler
Keywords: react-compiler, auto-memo, memoization, React 19
Solves:
- Enable automatic memoization
- Identify when manual memoization needed
- Verify compiler is working
virtualization
Keywords: virtual, TanStack, large-list, scroll, overscan
Solves:
- Render 100+ item lists efficiently
- Dynamic height virtualization
- Window scrolling patterns
lazy-loading
Keywords: React.lazy, Suspense, code-splitting, dynamic-import
Solves:
- Route-based code splitting
- Component lazy loading with error boundaries
- Prefetch on hover and viewport
image-optimization
Keywords: next/image, AVIF, WebP, responsive, blur-placeholder
Solves:
- Next.js Image component patterns
- Format selection and quality settings
- Responsive sizing and CDN configuration
profiling
Keywords: profiler, flame-graph, py-spy, DevTools, bundle-analyzer
Solves:
- Profile React renders and backend code
- Generate and interpret flame graphs
- Analyze and optimize bundle size
inp-advanced
Keywords: INP, scheduler-yield, layout-thrashing, third-party-scripts, requestAnimationFrame
Solves:
- Break long tasks with scheduler.yield()
- Audit and defer blocking third-party scripts
- Avoid synchronous layout thrashing in event handlers
- Optimize form submissions, dropdowns, accordions, filters
sustainability
Keywords: sustainability, carbon-footprint, page-weight, green-ux, dark-mode, lazy-loading
Solves:
- Enforce page weight budgets (< 1MB)
- Eliminate auto-playing videos and heavy decorative animations
- Serve optimized image formats (AVIF/WebP)
- Implement cursor-based pagination to prevent over-fetching
llm-inference
Keywords: vllm, quantization, speculative-decoding, inference, throughput
Solves:
- Deploy LLMs with vLLM for production
- Choose quantization method for hardware
- Accelerate generation with speculative decoding
Upstream coverage (do not restate)
These topics used to be restated in this skill's references, checklists, and examples. They are owned by first-party sources now; consult those instead of re-adding tutorials here. The ork-specific floors and scars that survived the cut live in references/ork-delta.md.
| Topic |
First-party source |
| Core Web Vitals mechanics, audit checklists, before/after examples |
skill: web-perf / cloudflare:web-perf (Chrome DevTools MCP); https://web.dev/vitals/ |
| Real User Monitoring with the web-vitals library |
skill: web-perf; https://github.com/GoogleChrome/web-vitals |
| Next.js Image component, v16 image config defaults, image CDN loaders |
skills: vercel:nextjs + vercel:next-upgrade; https://nextjs.org/docs/app/api-reference/components/image |
| Image format selection and optimization checklists |
skill: vercel:nextjs; https://web.dev/learn/images |
| React Compiler migration, memoization escape hatches, state colocation |
skill: vercel-react-best-practices; https://react.dev/learn/react-compiler |
| React DevTools Profiler workflow, render audits |
skill: vercel-react-best-practices; https://react.dev/reference/react/Profiler |
| TanStack Virtual list/grid virtualization patterns |
https://tanstack.com/virtual/latest/docs/introduction |
| Route-based code splitting (React Router, Vite manual chunks) |
https://reactrouter.com/ and https://vite.dev/guide/build |
| Generic profiling workflows (Lighthouse, py-spy, bundle analyzers) |
skill: web-perf; https://github.com/benfred/py-spy |
| Redis and HTTP caching strategy patterns |
skill: upstash-redis-js; https://redis.io/docs/latest/ |
| vLLM deployment, quantization, speculative decoding, edge inference |
https://docs.vllm.ai/ |
| Full-stack performance audit walkthrough |
https://developer.chrome.com/docs/lighthouse/; ork delta in references/ork-delta.md + examples/orchestkit-performance-wins.md |
References
Load on demand with Read("references/<file>"):
| File |
Content |
ork-delta.md |
OrchestKit floors, scars, and house decisions for this skill |
cc-prompt-cache-guide.md |
CC 2.1.72 prompt cache optimization, stable-first prompt structure |
database-optimization.md |
Postgres indexing and N+1 fixes backing the recorded audit wins |
Real production before/after evidence (cache hierarchy, cost math): examples/orchestkit-performance-wins.md.
1---2name: performance3description: Performance optimization patterns covering Core Web Vitals, React render optimization, lazy loading, image optimization, backend profiling, LLM inference, and sustainability UX. Use when improving page speed, debugging slow renders, optimizing bundles, reducing image payload, profiling backend, deploying LLMs efficiently, or reducing digital carbon footprint.4license: MIT5---6
7# Performance
8
9Comprehensive performance optimization patterns for frontend, backend, and LLM inference.
10
11## Quick Reference
12
13| Category | Rules | Impact | When to Use |
14|----------|-------|--------|-------------|
15| [Core Web Vitals](#core-web-vitals) | 4 | CRITICAL | LCP, INP, CLS optimization with 2026 thresholds |
16| [Render Optimization](#render-optimization) | 3 | HIGH | React Compiler, memoization, virtualization |
17| [Lazy Loading](#lazy-loading) | 3 | HIGH | Code splitting, route splitting, preloading |
18| [Image Optimization](#image-optimization) | 2 | HIGH | AVIF/WebP formats, responsive images |
19| [Profiling & Backend](#profiling--backend) | 3 | MEDIUM | React DevTools, py-spy, bundle analysis |
20| [LLM Inference](#llm-inference) | 3 | MEDIUM | vLLM, quantization, speculative decoding |
21| [Caching](#caching) | 2 | HIGH | Redis cache-aside, prompt caching, HTTP cache headers |
22| [Query & Data Fetching](#query--data-fetching) | 2 | HIGH | TanStack Query prefetching, optimistic updates, rollback |
23| [Sustainability](#sustainability) | 1 | MEDIUM | Page weight budgets, lazy loading, optimized formats, dark mode |
24
25**Total: 23 rules across 9 categories**
26
27## Core Web Vitals
28
29Google's Core Web Vitals with 2026 stricter thresholds.
30
31| Rule | File | Key Pattern |
32|------|------|-------------|
33| LCP Optimization | `rules/cwv-lcp.md` | Preload hero, SSR, fetchpriority="high" |
34| INP Optimization | `rules/cwv-inp.md` | scheduler.yield, useTransition, requestIdleCallback |
35| INP Advanced | `rules/cwv-inp-advanced.md` | Layout thrashing, third-party scripts, rAF patterns |
36| CLS Prevention | `rules/cwv-cls.md` | Explicit dimensions, aspect-ratio, font-display |
37
38### 2026 Thresholds
39
40| Metric | Current Good | 2026 Good |
41|--------|--------------|-----------|
42| LCP | <= 2.5s | <= 2.0s |
43| INP | <= 200ms | <= 150ms |
44| CLS | <= 0.1 | <= 0.08 |
45
46## Render Optimization
47
48React render performance patterns for React 19+.
49
50| Rule | File | Key Pattern |
51|------|------|-------------|
52| React Compiler | `rules/render-compiler.md` | Auto-memoization, "Memo" badge verification |
53| Manual Memoization | `rules/render-memo.md` | useMemo/useCallback escape hatches, state colocation |
54| Virtualization | `rules/render-virtual.md` | TanStack Virtual for 100+ item lists |
55
56## Lazy Loading
57
58Code splitting and lazy loading with React.lazy and Suspense.
59
60| Rule | File | Key Pattern |
61|------|------|-------------|
62| React.lazy + Suspense | `rules/loading-lazy.md` | Component lazy loading, error boundaries |
63| Route Splitting | `rules/loading-splitting.md` | React Router 7.x, Vite manual chunks |
64| Preloading | `rules/loading-preload.md` | Prefetch on hover, modulepreload hints |
65
66## Image Optimization
67
68Production image optimization for modern web applications.
69
70| Rule | File | Key Pattern |
71|------|------|-------------|
72| Format Selection | `rules/images-formats.md` | AVIF/WebP, quality 75-85, picture element |
73| Responsive Images | `rules/images-responsive.md` | sizes prop, art direction, CDN loaders |
74
75Next.js `Image` component usage and the v16 image config defaults are first-party territory; see "Upstream coverage (do not restate)" below.
76
77## Profiling & Backend
78
79Profiling tools and backend optimization patterns.
80
81| Rule | File | Key Pattern |
82|------|------|-------------|
83| React Profiling | `rules/profiling-react.md` | DevTools Profiler, flamegraph, render counts |
84| Backend Profiling | `rules/profiling-backend.md` | py-spy, cProfile, memory_profiler, flame graphs |
85| Bundle Analysis | `rules/profiling-bundle.md` | vite-bundle-visualizer, tree shaking, performance budgets |
86
87## LLM Inference
88
89High-performance LLM inference with vLLM, quantization, and speculative decoding.
90
91| Rule | File | Key Pattern |
92|------|------|-------------|
93| vLLM Deployment | `rules/inference-vllm.md` | PagedAttention, continuous batching, tensor parallelism |
94| Quantization | `rules/inference-quantization.md` | AWQ, GPTQ, FP8, INT8 method selection |
95| Speculative Decoding | `rules/inference-speculative.md` | N-gram, draft model, 1.5-2.5x throughput |
96
97## Caching
98
99Backend Redis caching and LLM prompt caching for cost savings and performance.
100
101| Rule | File | Key Pattern |
102|------|------|-------------|
103| Redis & Backend | `rules/caching-redis.md` | Cache-aside, write-through, invalidation, stampede prevention |
104| HTTP & Prompt | `rules/caching-http.md` | HTTP cache headers, LLM prompt caching, semantic caching |
105
106## Query & Data Fetching
107
108TanStack Query v5 patterns for prefetching and optimistic updates.
109
110| Rule | File | Key Pattern |
111|------|------|-------------|
112| Prefetching | `rules/query-prefetching.md` | Hover prefetch, route loaders, queryOptions, Suspense |
113| Optimistic Updates | `rules/query-optimistic.md` | Optimistic mutations, rollback, cache invalidation |
114
115## Sustainability
116
117Digital sustainability patterns for reducing carbon footprint and energy usage.
118
119| Rule | File | Key Pattern |
120|------|------|-------------|
121| Sustainability UX | `rules/sustainability-ux.md` | Page weight budgets, AVIF/WebP, lazy loading, dark mode |
122
123## Local Profiling Target
124
125When profiling a local app (Lighthouse, Core Web Vitals, bundle analysis), use Portless named URLs for stable, self-documenting targets:
126
127```bash
128# Discover services
129portless list
130# app → app.localhost (port 3000)
131
132# Profile with agent-browser (preferred for visual metrics)
133agent-browser open "https://app.localhost"
134agent-browser profiler start
135agent-browser wait --load networkidle
136agent-browser profiler stop /tmp/profile.json
137
138# Lighthouse via agent-browser
139agent-browser open "https://app.localhost"
140agent-browser screenshot /tmp/perf-baseline.png
141
142# Or direct Lighthouse CLI
143npx lighthouse https://app.localhost --output=json --output-path=/tmp/lighthouse.json
144```
145
146Named URLs are stable across restarts and self-documenting in performance reports. Install Portless with `npm i -g portless`.
147
148## Quick Start Example
149
150```tsx
151// LCP: Priority hero image with SSR
152import Image from 'next/image';
153
154export default async function Page() {
155 const data = await fetchHeroData();
156 return (
157 <Image
158 src={data.heroImage}
159 alt="Hero"
160 priority
161 placeholder="blur"
162 sizes="100vw"
163 fill
164 />
165 );
166}
167```
168
169## Key Decisions
170
171| Decision | Recommendation |
172|----------|----------------|
173| Memoization | Let React Compiler handle it (2026 default) |
174| Lists 100+ items | Use TanStack Virtual |
175| Image format | AVIF with WebP fallback (30-50% smaller) |
176| LCP content | SSR/SSG, never client-side fetch |
177| Code splitting | Per-route for most apps, per-component for heavy widgets |
178| Prefetch strategy | On hover for nav links, viewport for content |
179| Quantization | AWQ for 4-bit, FP8 for H100/H200 |
180| Bundle budget | Hard fail in CI to prevent regression |
181
182## Common Mistakes
183
1841. Client-side fetching LCP content (delays render)
1852. Images without explicit dimensions (causes CLS)
1863. Lazy loading LCP images (delays largest paint)
1874. Heavy computation in event handlers (blocks INP)
1885. Layout-shifting animations (use transform instead)
1896. Lazy loading tiny components < 5KB (overhead > savings)
1907. Missing error boundaries on lazy components
1918. Using GPTQ without calibration data
1929. Not benchmarking actual workload patterns
19310. Only measuring in lab environment (need RUM)
194
195## Related Skills
196
197- `ork:react-server-components-framework` - Server-first rendering
198- `ork:vite-advanced` - Build optimization
199- `browser-tools` - Visual profiling with agent-browser + Portless
200- `caching` - Cache strategies for responses
201- `ork:monitoring-observability` - Production monitoring and alerting
202- `ork:database-patterns` - Query and index optimization
203- `ork:llm-integration` - Local inference with Ollama
204
205## Capability Details
206
207### lcp-optimization
208**Keywords:** LCP, largest-contentful-paint, hero, preload, priority, SSR
209**Solves:**
210- Optimize hero image loading
211- Server-render critical content
212- Preload and prioritize LCP resources
213
214### inp-optimization
215**Keywords:** INP, interaction, responsiveness, long-task, transition, yield
216**Solves:**
217- Break up long tasks with scheduler.yield
218- Defer non-urgent updates with useTransition
219- Optimize event handler performance
220
221### cls-prevention
222**Keywords:** CLS, layout-shift, dimensions, aspect-ratio, font-display
223**Solves:**
224- Reserve space for dynamic content
225- Prevent font flash and image pop-in
226- Use transform for animations
227
228### react-compiler
229**Keywords:** react-compiler, auto-memo, memoization, React 19
230**Solves:**
231- Enable automatic memoization
232- Identify when manual memoization needed
233- Verify compiler is working
234
235### virtualization
236**Keywords:** virtual, TanStack, large-list, scroll, overscan
237**Solves:**
238- Render 100+ item lists efficiently
239- Dynamic height virtualization
240- Window scrolling patterns
241
242### lazy-loading
243**Keywords:** React.lazy, Suspense, code-splitting, dynamic-import
244**Solves:**
245- Route-based code splitting
246- Component lazy loading with error boundaries
247- Prefetch on hover and viewport
248
249### image-optimization
250**Keywords:** next/image, AVIF, WebP, responsive, blur-placeholder
251**Solves:**
252- Next.js Image component patterns
253- Format selection and quality settings
254- Responsive sizing and CDN configuration
255
256### profiling
257**Keywords:** profiler, flame-graph, py-spy, DevTools, bundle-analyzer
258**Solves:**
259- Profile React renders and backend code
260- Generate and interpret flame graphs
261- Analyze and optimize bundle size
262
263### inp-advanced
264**Keywords:** INP, scheduler-yield, layout-thrashing, third-party-scripts, requestAnimationFrame
265**Solves:**
266- Break long tasks with scheduler.yield()
267- Audit and defer blocking third-party scripts
268- Avoid synchronous layout thrashing in event handlers
269- Optimize form submissions, dropdowns, accordions, filters
270
271### sustainability
272**Keywords:** sustainability, carbon-footprint, page-weight, green-ux, dark-mode, lazy-loading
273**Solves:**
274- Enforce page weight budgets (< 1MB)
275- Eliminate auto-playing videos and heavy decorative animations
276- Serve optimized image formats (AVIF/WebP)
277- Implement cursor-based pagination to prevent over-fetching
278
279### llm-inference
280**Keywords:** vllm, quantization, speculative-decoding, inference, throughput
281**Solves:**
282- Deploy LLMs with vLLM for production
283- Choose quantization method for hardware
284- Accelerate generation with speculative decoding
285
286## Upstream coverage (do not restate)
287
288These topics used to be restated in this skill's references, checklists, and examples. They are owned by first-party sources now; consult those instead of re-adding tutorials here. The ork-specific floors and scars that survived the cut live in `references/ork-delta.md`.
289
290| Topic | First-party source |
291|-------|--------------------|
292| Core Web Vitals mechanics, audit checklists, before/after examples | skill: web-perf / cloudflare:web-perf (Chrome DevTools MCP); https://web.dev/vitals/ |
293| Real User Monitoring with the web-vitals library | skill: web-perf; https://github.com/GoogleChrome/web-vitals |
294| Next.js Image component, v16 image config defaults, image CDN loaders | skills: vercel:nextjs + vercel:next-upgrade; https://nextjs.org/docs/app/api-reference/components/image |
295| Image format selection and optimization checklists | skill: vercel:nextjs; https://web.dev/learn/images |
296| React Compiler migration, memoization escape hatches, state colocation | skill: vercel-react-best-practices; https://react.dev/learn/react-compiler |
297| React DevTools Profiler workflow, render audits | skill: vercel-react-best-practices; https://react.dev/reference/react/Profiler |
298| TanStack Virtual list/grid virtualization patterns | https://tanstack.com/virtual/latest/docs/introduction |
299| Route-based code splitting (React Router, Vite manual chunks) | https://reactrouter.com/ and https://vite.dev/guide/build |
300| Generic profiling workflows (Lighthouse, py-spy, bundle analyzers) | skill: web-perf; https://github.com/benfred/py-spy |
301| Redis and HTTP caching strategy patterns | skill: upstash-redis-js; https://redis.io/docs/latest/ |
302| vLLM deployment, quantization, speculative decoding, edge inference | https://docs.vllm.ai/ |
303| Full-stack performance audit walkthrough | https://developer.chrome.com/docs/lighthouse/; ork delta in `references/ork-delta.md` + `examples/orchestkit-performance-wins.md` |
304
305## References
306
307Load on demand with `Read("references/<file>")`:
308| File | Content |
309|------|---------|
310| `ork-delta.md` | OrchestKit floors, scars, and house decisions for this skill |
311| `cc-prompt-cache-guide.md` | CC 2.1.72 prompt cache optimization, stable-first prompt structure |
312| `database-optimization.md` | Postgres indexing and N+1 fixes backing the recorded audit wins |
313
314Real production before/after evidence (cache hierarchy, cost math): `examples/orchestkit-performance-wins.md`.