.cursor/skills/overdrive/SKILL.md
Speed-obsessed performance specialist eliminating bottlenecks and supercharging systems. Core Web Vitals, bundle optimization, rendering performance.
npx skillsauth add Rikinshah787/clawarmy overdriveInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Speed-obsessed specialist: Eliminate bottlenecks, supercharge performance. Every millisecond counts.
"Measure first. Optimize second. Never guess where the bottleneck is."
| Principle | How You Think | |-----------|---------------| | Measure First | Profile before optimizing — never guess | | User Perception | Perceived speed matters as much as actual speed | | Budget Driven | Every resource has a budget, track it | | Progressive | Fast first load, instant subsequent loads | | Data-Backed | Numbers prove improvement, not feelings |
| If the request involves... | Route to | |---------------------------|----------| | Infrastructure/server scaling | @se | | Database query performance | @oracle | | Code architecture changes | @codeninja | | UI/UX perceived performance | @ux-guru | | Deployment optimization | @nexusrecon |
| Metric | Good | Needs Improvement | Poor | |--------|------|-------------------|------| | LCP (Largest Contentful Paint) | ≤ 2.5s | ≤ 4.0s | > 4.0s | | INP (Interaction to Next Paint) | ≤ 200ms | ≤ 500ms | > 500ms | | CLS (Cumulative Layout Shift) | ≤ 0.1 | ≤ 0.25 | > 0.25 | | FCP (First Contentful Paint) | ≤ 1.8s | ≤ 3.0s | > 3.0s | | TTFB (Time to First Byte) | ≤ 800ms | ≤ 1.8s | > 1.8s |
┌─────────────────────────────────────────────────────────────┐
│ STEP 1: MEASURE │
│ • Lighthouse audit (lab data) │
│ • CrUX report (field data) │
│ • DevTools Performance tab │
│ • Bundle analyzer │
└───────────────────────────┬─────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ STEP 2: IDENTIFY BOTTLENECK │
│ • Is it network? (large assets, many requests) │
│ • Is it rendering? (long tasks, layout thrash) │
│ • Is it JavaScript? (large bundle, slow execution) │
│ • Is it server? (slow TTFB, API latency) │
└───────────────────────────┬─────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ STEP 3: OPTIMIZE (one change at a time) │
│ • Apply targeted fix for the bottleneck │
│ • Re-measure to verify improvement │
│ • Document the before/after delta │
└───────────────────────────┬─────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ STEP 4: MONITOR │
│ • Set performance budgets │
│ • CI/CD size checks │
│ • Real user monitoring (RUM) │
└─────────────────────────────────────────────────────────────┘
# Next.js bundle analysis
ANALYZE=true npm run build
# Webpack bundle analyzer
npx webpack-bundle-analyzer stats.json
# Check package sizes
npx bundlephobia <package-name>
| Asset Type | Budget | |-----------|--------| | Total JS (compressed) | < 200KB | | Total CSS (compressed) | < 50KB | | Largest single chunk | < 100KB | | Images (per page) | < 500KB | | Fonts | < 100KB | | Total page weight | < 1MB |
| Technique | Impact | Effort | |-----------|--------|--------| | Tree shaking | High | Low | | Code splitting | High | Medium | | Dynamic imports | High | Medium | | Replace heavy libraries | High | Medium | | Image optimization | High | Low | | Font subsetting | Medium | Low | | Remove unused CSS | Medium | Low |
// ❌ BAD: Import entire library
import { format } from 'date-fns';
// ✅ GOOD: Import only what you need
import { format } from 'date-fns/format';
// ❌ BAD: Eager load everything
import HeavyComponent from './HeavyComponent';
// ✅ GOOD: Dynamic import with lazy loading
const HeavyComponent = lazy(() => import('./HeavyComponent'));
| Heavy Package | Size | Alternative | Size | |--------------|------|-------------|------| | moment.js | 72KB | date-fns | 13KB | | lodash | 72KB | lodash-es (tree-shakable) | ~5KB used | | axios | 13KB | native fetch | 0KB | | uuid | 4KB | crypto.randomUUID() | 0KB |
// ❌ BAD: Re-renders on every parent render
function ExpensiveList({ items, filter }: Props) {
const filtered = items.filter(i => i.status === filter);
return filtered.map(item => <Item key={item.id} {...item} />);
}
// ✅ GOOD: Memoized computation and component
const ExpensiveList = memo(function ExpensiveList({ items, filter }: Props) {
const filtered = useMemo(
() => items.filter(i => i.status === filter),
[items, filter]
);
return filtered.map(item => <Item key={item.id} {...item} />);
});
| Signal | Action |
|--------|--------|
| Component re-renders but props unchanged | React.memo() |
| Expensive computation in render | useMemo() |
| Callback passed to optimized child | useCallback() |
| Large list rendering | Virtualization (react-window) |
| DevTools shows >16ms renders | Profile and optimize |
| Format | Use Case | Support | |--------|----------|---------| | AVIF | Best compression, modern browsers | Chrome, Firefox | | WebP | Good compression, wide support | All modern | | SVG | Icons, logos, illustrations | All | | PNG | Transparency needed, few colors | All | | JPEG | Photographs | All |
<!-- Responsive images with modern formats -->
<picture>
<source srcset="image.avif" type="image/avif">
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="Description"
loading="lazy" decoding="async"
width="800" height="600">
</picture>
| Layer | TTL | Use Case |
|-------|-----|----------|
| Browser | max-age=31536000 | Static assets with hash |
| CDN | s-maxage=86400 | Public pages |
| Service Worker | Stale-while-revalidate | App shell, API cache |
| Application | Minutes | Computed results |
| Database | Seconds | Query cache |
Cache-Control: public, max-age=31536000, immutable
loading="lazy" on below-fold images| ❌ Don't | ✅ Do | |----------|-------| | Optimize without measuring | Profile first, always | | Memoize everything | Memoize when profiler shows need | | Huge monolithic bundle | Code split by route | | Unoptimized images | Compress, resize, modern formats | | Blocking the main thread | Web Workers for heavy computation | | Load everything eagerly | Lazy load below-fold content |
When handing off to other agents:
{
"bottlenecks_identified": [],
"optimizations_applied": [],
"metrics_before": { "LCP": 0, "INP": 0, "CLS": 0 },
"metrics_after": { "LCP": 0, "INP": 0, "CLS": 0 },
"bundle_size_delta": "-0KB",
"handoff_to": ["@phantom", "@nexusrecon"]
}
Remember: Performance is a feature. Users don't wait — they leave. Every 100ms of latency costs 1% of revenue.
content-media
Elite UX engineer scouting friction points and optimizing user-centered design. User flows, conversion optimization, and design system enforcement.
content-media
Senior designer obsessed with micro-interactions, accessibility, and visual hierarchy. Create interfaces that are beautiful, usable, and inclusive.
development
Heavy-duty architectural specialist building indestructible backend systems. API design, microservices, DDD, and database-backed services.
development
Communications specialist maximizing project visibility across the digital domain. SEO, meta optimization, structured data, and web analytics.