# plugin-bundle-size

Помогает уменьшить размер входного файла module.js в плагинах приложений Grafana через React.lazy и разделение чанков в Webpack.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 4200 установок · ★ 290
- Автор: grafana
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/grafana/skills/tree/HEAD/skills/grafana-plugins/plugin-bundle-size/SKILL.md
- Обновлён: 2026-10-25
- HTML: https://affpapa.org/nevibecode/skills/plugin-bundle-size

## Что делает

Входной файл `module.js` блокирует рендеринг плагина приложения в Grafana. Скилл задаёт целевой ориентир: облегчить `module.js` до менее чем 200 КБ и разбить код на 15–25 чанков. Больше 50 чанков автор считает избыточным усложнением.

Работа идёт по уровням риска. Сначала ассистент выносит в ленивые обёртки `module.tsx` и отдельные маршруты через `React.lazy()`. Это срезает до 95% объёма входного файла без изменения логики. При этом вендорные библиотеки вроде `@grafana/scenes` и общие утилиты скилл трогать запрещает, потому что Webpack делит их самостоятельно.

Инструкция рассчитана строго на плагины типа `app` из `plugin.json`. Для панелей и источников данных такая схема разделения не подойдёт из-за других требований платформы.

## Требования
- Работает с: Grafana

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill plugin-bundle-size -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/plugin-bundle-size/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/plugin-bundle-size/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill plugin-bundle-size -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/plugin-bundle-size/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill plugin-bundle-size -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/plugin-bundle-size/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install grafana/skills plugin-bundle-size
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/plugin-bundle-size/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill plugin-bundle-size -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/grafana/skills --path skills/grafana-plugins/plugin-bundle-size
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/plugin-bundle-size/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill plugin-bundle-size -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/grafana/skills/tree/HEAD/skills/grafana-plugins/plugin-bundle-size/SKILL.md

## Когда брать
- уменьшить вес блокирующего файла module.js до 200 КБ
- настроить ленивую загрузку страниц через React.lazy и Suspense
- настроить проверку размера бандла в GitHub Actions через grafana/plugin-actions/bundle-size
- разделить код расширений и тяжелые вкладки на независимые чанки

## Примеры запросов агенту
- Помоги оптимизировать размер бандла в моем плагине Grafana, module.js слишком большой
- Настрой code splitting и ленивую загрузку маршрутов через Suspense
- Проверь плагин на тяжелые синхронные импорты перед сборкой

## Похожие
- [rspeedy-bundle-size](https://affpapa.org/nevibecode/skills/rspeedy-bundle-size.md) — скилл · 458 установок
- [nextjs-bundle-analyzer](https://affpapa.org/nevibecode/commands/nextjs-bundle-analyzer.md) — команда · 560 установок
- [react-performance-optimization](https://affpapa.org/nevibecode/skills/react-performance-optimization.md) — скилл · 1900 установок
- [router-plugin](https://affpapa.org/nevibecode/skills/router-plugin.md) — скилл · 339 установок
- [vite-bundle-optimization](https://affpapa.org/nevibecode/skills/vite-bundle-optimization.md) — скилл · 667 установок
- [bundle-splitting](https://affpapa.org/nevibecode/skills/bundle-splitting.md) — скилл · 1500 установок

Из того же набора: [grafana/skills](https://affpapa.org/nevibecode/by/grafana/skills.md) — 51 карточка

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
