К основному содержанию
скилл CX Codex

performance-profiler · onewave-ai — скилл для Claude Code: установка

Скилл помогает находить узкие места в сети, рендеринге, памяти и вычислениях. Пригодится для разбора медленных приложений и утечек памяти.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add OneWave-AI/claude-skills --skill performance-profiler -a claude-code
Открыть на GitHub

Что делает performance-profiler

Скилл задаёт последовательность профилирования: определить тип узкого места, снять базовые измерения, выбрать инструмент, внести оптимизацию и проверить результат. Для веб-приложений он использует Lighthouse и Core Web Vitals, а также подсказывает анализ JavaScript-бандла для Next.js, Webpack и Vite.

Отдельные разделы посвящены React DevTools Profiler, мемоизации, виртуализации списков и ленивой загрузке. Для Node.js описаны CPU-профиль, heap snapshot и инструменты Clinic.js. В части баз данных есть примеры EXPLAIN ANALYZE, поиска пропущенных индексов и устранения N+1-запросов.

Для профилирования React нужно заранее установить браузерное расширение React DevTools. Скилл также затрагивает сжатие, кэширование, CDN, оптимизацию изображений и connection pooling.

Какие задачи решает

  • найти узкое место в загрузке веб-страницы
  • сравнить показатели Core Web Vitals
  • разобрать медленный React-компонент
  • обнаружить утечку памяти в Node.js
  • проверить медленные запросы PostgreSQL

Примеры запросов агенту

  • Профилируй загрузку приложения через Lighthouse и разберись с плохими показателями Core Web Vitals.
  • Найди причину медленного рендера в React с помощью React DevTools Profiler и предложи проверяемые изменения.
  • Проверь запросы PostgreSQL через EXPLAIN ANALYZE и найди возможные проблемы с индексами.

Как установить performance-profiler

1Через Skills CLI (Vercel)

npx skills add OneWave-AI/claude-skills --skill performance-profiler -a claude-code

2Вручную: положить файлы

~/.claude/skills/performance-profiler/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/performance-profiler/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о performance-profiler

Как установить performance-profiler в Claude Code?

Выполните npx skills add OneWave-AI/claude-skills --skill performance-profiler -a claude-code, затем проверьте файл ~/.claude/skills/performance-profiler/SKILL.md.

Что делает performance-profiler?

Он помогает измерить производительность приложения, определить тип узкого места и подобрать шаги для оптимизации веб-кода, React, Node.js и запросов PostgreSQL.

Что нужно для профилирования React?

Нужно установить браузерное расширение React DevTools и открыть вкладку Profiler в DevTools.

Исходный текст

SKILL.md · MIT
---
name: performance-profiler
description: Profile and optimize application performance including load times, memory usage, and rendering. Use when debugging slow performance, memory leaks, or optimizing app speed.
---

# Performance Profiler

## Instructions

When profiling performance:

1. **Identify the bottleneck type**: Network, rendering, memory, or compute
2. **Measure baseline** before optimizing
3. **Profile with appropriate tools**
4. **Apply optimizations**
5. **Measure improvement**

## Web Performance

### Core Web Vitals

```bash
# Lighthouse CLI
npx lighthouse https://yoursite.com --view

# With specific metrics
npx lighthouse https://yoursite.com --only-categories=performance
```

**Target Metrics**:
| Metric | Good | Needs Work | Poor |
|--------|------|------------|------|
| LCP (Largest Contentful Paint) | < 2.5s | 2.5-4s | > 4s |
| INP (Interaction to Next Paint) | < 200ms | 200-500ms | > 500ms |
| CLS (Cumulative Layout Shift) | < 0.1 | 0.1-0.25 | > 0.25 |

### Bundle Analysis

```bash
# Next.js
ANALYZE=true npm run build

# Webpack
npx webpack-bundle-analyzer stats.json

# Vite
npx vite-bundle-visualizer
```

## React Performance

### React DevTools Profiler

1. Install React DevTools browser extension
2. Open DevTools → Profiler tab
3. Click Record, interact with app, stop recording
4. Analyze flame graph for slow components

### Common React Optimizations

```tsx
// 1. Memoize expensive components
const MemoizedList = React.memo(function List({ items }) {
  return items.map(item => <Item key={item.id} {...item} />);
});

// 2. Use useMemo for expensive calculations
const sortedItems = useMemo(() => {
  return [...items].sort((a, b) => a.name.localeCompare(b.name));
}, [items]);

// 3. Use useCallback for stable function references
const handleClick = useCallback((id: string) => {
  setSelected(id);
}, []);

// 4. Virtualize long lists
import { FixedSizeList } from 'react-window';

function VirtualList({ items }) {
  return (
    <FixedSizeList
      height={400}
      itemCount={items.length}
      itemSize={50}
      width="100%"
    >
      {({ index, style }) => (
        <div style={style}>{items[index].name}</div>
      )}
    </FixedSizeList>
  );
}

// 5. Lazy load components
const HeavyComponent = React.lazy(() => import('./HeavyComponent'));

function App() {
  return (
    <Suspense fallback={<Loading />}>
      <HeavyComponent />
    </Suspense>
  );
}
```

## Node.js Performance

### Profiling

```bash
# CPU profile
node --prof app.js
node --prof-process isolate-*.log > profile.txt

# Heap snapshot
node --inspect app.js
# Then use Chrome DevTools Memory tab

# Clinic.js (comprehensive)
npx clinic doctor -- node app.js
npx clinic flame -- node app.js
npx clinic bubbleprof -- node app.js
```

### Memory Leak Detection

```javascript
// Add to app for debugging
const used = process.memoryUsage();
console.log({
  heapUsed: `${Math.round(used.heapUsed / 1024 / 1024)} MB`,
  heapTotal: `${Math.round(used.heapTotal / 1024 / 1024)} MB`,
  external: `${Math.round(used.external / 1024 / 1024)} MB`,
});
```

## Database Performance

```sql
-- PostgreSQL: Analyze slow queries
EXPLAIN ANALYZE SELECT * FROM users WHERE email = '[email protected]';

-- Find missing indexes
SELECT relname, seq_scan, idx_scan
FROM pg_stat_user_tables
WHERE seq_scan > idx_scan;
```

### Query Optimization

```typescript
// Bad: N+1 query
const users = await db.user.findMany();
for (const user of users) {
  const posts = await db.post.findMany({ where: { userId: user.id } });
}

// Good: Single query with include
const users = await db.user.findMany({
  include: { posts: true }
});

// Good: Select only needed fields
const users = await db.user.findMany({
  select: { id: true, name: true, email: true }
});
```

## Quick Wins Checklist

- [ ] Enable gzip/brotli compression
- [ ] Add caching headers
- [ ] Lazy load images (`loading="lazy"`)
- [ ] Preconnect to external domains
- [ ] Use CDN for static assets
- [ ] Minimize JavaScript bundle
- [ ] Defer non-critical JS
- [ ] Optimize images (WebP, proper sizing)
- [ ] Add database indexes
- [ ] Use connection pooling

© OneWave-AI · MIT · OneWave-AI/claude-skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →

Сначала — performance-profiler от других авторов.

performance-profiler Alireza Rezvani Скилл помогает искать узкие места CPU, памяти, ввода-вывода и запросов в приложениях на Node.js, Python и Go. Подойдёт, когда нужно разобраться с медленным endpoint или ростом потребления памяти. 720установок frontend-design официальный anthropics Скилл задаёт осмысленное визуальное направление для новых интерфейсов и редизайна. Подойдёт, когда стандартный шаблонный UI не устраивает. 1 025 790установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. CX Codex +1 678 700установок prototype Matt Pocock Создаёт временный прототип, чтобы проверить логику, модель состояния или вид интерфейса до работы над основным кодом. 986 201установок hyperframes heygen-com Скилл задаёт агенту правила рендера HTML-кода в видео через HyperFrames. Помогает собирать проморолики, эксплейнеры и титры прямо в коде проекта. CX Codex +1 1 200 000установок hyperframes-cli heygen-com Управляет проектами HyperFrames через терминал: собирает таймлайн, проверяет контраст кадров, запускает предпросмотр и рендерит видео локально или в облаке. CX Codex +1 1 300 000установок webapp-testing официальный anthropics Скилл запускает проверки локальных веб-приложений через Playwright: помогает отлаживать UI, делать скриншоты и смотреть логи браузера. 186 758установок

Из того же набора95

deal-review-framework Скилл ведёт разбор сделки по MEDDIC и BANT: считает риск, требует доказательства на каждой стадии и подсвечивает красные флаги. CX Codex +1 317установок skill-composer-studio Скилл объединяет готовые навыки агента в цепочки с передачей данных между шагами и ветвлением. Пригодится, когда сложную задачу нужно разбить на несколько связанных этапов. CX Codex +1 314установок champion-identifier Разбирает профили LinkedIn в целевой компании и подсказывает, кто внутри будет продвигать ваш продукт. Полезно перед холодным аутричем в крупный аккаунт. CX Codex +1 312установок team-chemistry-evaluator Оценивает спортивную психологию, совместимость игроков в ростере и структуру лидерства. Помогает спрогнозировать влияние трансферов на обстановку в раздевалке. CX Codex +1 311установок intent-signal-aggregator Скилл собирает сигналы о готовности клиента покупать — вакансии, раунды инвестиций, смену руководителей — и расставляет аккаунты по приоритету. CX Codex +1 310установок practice-plan-creator Скилл собирает план спортивной тренировки: разминка, работа над навыком, игровая часть, заминка — с учётом уровня игроков и времени. CX Codex +1 310установок deal-momentum-analyzer Оценивает динамику сделок по частоте встреч, ответам на письма и вовлечённости контактов. Помогает понять, закроется продажа или зависнет. CX Codex +1 309установок quota-setting-calculator Скилл помогает собрать модель квот для менеджеров по продажам: сверху вниз или снизу вверх, с поправкой на территории и сроки выхода на план. CX Codex +1 309установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой