# add-npm-dependency

Скилл ведёт агента по правилам добавления npm-зависимостей в Electron-проект: три цели сборки, CSS и нативные модули.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 1388
- Автор: elirantutia
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/elirantutia/vibeyard/tree/HEAD/.claude/skills/add-npm-dependency/SKILL.md
- Обновлён: 2026-09-03
- HTML: https://affpapa.org/nevibecode/skills/add-npm-dependency

## Что делает

Скилл включается, когда задача касается установки, добавления или обновления npm-пакета, либо любой правки зависимостей в `package.json`. Он задаёт агенту порядок действий вместо импровизации.

Внутри описан проект с тремя целями сборки: main, preload и renderer. Renderer собирается через esbuild в один IIFE и не терпит Node built-ins и нативных модулей — такие пакеты идут только в main и preload. У esbuild нет CSS-загрузчика, поэтому стили пакета копируются вручную в `scripts/copy-assets.js` и подключаются ссылкой в `src/renderer/index.html`. Нативные модули вроде `better-sqlite3` пересобираются через `postinstall` под ABI Electron, а если бинарник не грузится из asar, пакет добавляют в `asarUnpack`. Всё это придётся проверять самому: горячей перезагрузки нет, каждый шаг требует `npm run build` и `npm test`.

Ставить пакеты скилл советует через `npm install <pkg>@latest` с каретным диапазоном, руками версию в `package.json` не править. Только npm — локфайл здесь `package-lock.json`. Node v24 закреплён в `.nvmrc`, в `engines.node` стоит `>=18`.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add elirantutia/vibeyard --skill add-npm-dependency -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add elirantutia/vibeyard --skill add-npm-dependency -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add elirantutia/vibeyard --skill add-npm-dependency -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install elirantutia/vibeyard add-npm-dependency
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add elirantutia/vibeyard --skill add-npm-dependency -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/elirantutia/vibeyard --path .claude/skills/add-npm-dependency
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add elirantutia/vibeyard --skill add-npm-dependency -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/elirantutia/vibeyard/tree/HEAD/.claude/skills/add-npm-dependency/SKILL.md

## Когда брать
- добавить npm-пакет, не сломав сборку renderer
- подключить CSS библиотеки при сборке через esbuild
- пересобрать нативный модуль под ABI Electron
- разложить зависимости между main, preload и renderer
- обновить пакет и не забыть про `package-lock.json`

## Примеры запросов агенту
- добавь библиотеку gridstack в проект
- поставь better-sqlite3 и проверь, что нативный модуль грузится
- обнови marked до последней версии

## Похожие
- [npm-security-best-practices](https://affpapa.org/nevibecode/skills/npm-security-best-practices.md) — скилл · 919 установок
- [dependency-auditor](https://affpapa.org/nevibecode/skills/onewave-ai-dependency-auditor.md) — скилл · 302 установки
- [updating-npm-package](https://affpapa.org/nevibecode/skills/updating-npm-package.md) — скилл · 398 установок
- [check-npm](https://affpapa.org/nevibecode/skills/check-npm.md) — скилл · 2800 установок
- [npm-package](https://affpapa.org/nevibecode/skills/npm-package.md) — скилл · 331 установка
- [dependency-check](https://affpapa.org/nevibecode/skills/dependency-check.md) — скилл · 748 установок

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

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