skills-npm CLI
skills-npm подключает скиллы агентов из зависимостей проекта в node_modules и из поля skills в package.json
- 578 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Создает и удаляет символические ссылки в каталогах агентов (`.agents/skills`, `~/.claude`) и пишет `skills-npm-lock.json`
- Для удаленных источников запускает `skills add`, то есть скачивает код из git-репозиториев, названных в `package.json` зависимостей
- Скрипт `prepare` выполняется при каждой установке зависимостей
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/skills-npmОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Создает и удаляет символические ссылки в каталогах агентов (`.agents/skills`, `~/.claude`) и пишет `skills-npm-lock.json`
- Для удаленных источников запускает `skills add`, то есть скачивает код из git-репозиториев, названных в `package.json` зависимостей
- Скрипт `prepare` выполняется при каждой установке зависимостей
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
skills-npm — консольная утилита Антони Фу, которая раздает скиллы через npm. Пакет, у которого в каталоге `skills/` лежат `SKILL.md`, ставит их вместе с зависимостью: skills-npm находит такие скиллы в `node_modules` и создает символические ссылки в каталогах ваших агентов под именем из frontmatter скилла. Каталог `.agents/skills` связывается всегда, его читают Cursor, Codex, OpenCode и Amp. Кроме встроенных скиллов утилита читает поле `skills` в `package.json`. Запись вроде `vercel-labs/agent-skills@web-design-guidelines` или `owner/repo#v1.2.0` задает скилл из git-репозитория, и skills-npm вызывает для него `skills add` из CLI skills. Пакет с одним таким полем становится набором скиллов, который ставится командой `npm i -D @acme/frontend-skills` на все машины команды. Записи `npm:пакет` берут скиллы из зависимости. Порядок работы: `npm i -D skills-npm`, затем `npx skills-npm setup` прописывает `skills-npm` в скрипт `prepare` и делает первую синхронизацию. Дальше скиллы обновляются при каждой установке зависимостей. Версии и источники записываются в `skills-npm-lock.json`, который коммитят. Агентов утилита определяет по домашним каталогам и командам в PATH, а внутри Claude Code или Cursor сама выбирает текущего агента.
Для кого. Авторам npm-пакетов, которые хотят отдавать скиллы вместе с библиотекой, и командам, где у каждого разработчика должен быть один и тот же набор скиллов на нужных версиях.
Подходит, если
- Вы выпускаете библиотеку и кладете `skills/my-skill/SKILL.md` в пакет, чтобы агент пользователя знал ваш API нужной версии
- Команде нужен единый набор из десятка скиллов, и его проще собрать как пакет с полем `skills`, чем клонировать репозитории по одному
- Скиллы должны обновляться вместе с зависимостями, а не руками: хватает `prepare` в `package.json`
- Агенты у участников разные, и ссылки нужно разложить по каталогам Claude Code, Cursor и Codex одним запуском
- Нужно проверить, что поставлено: `skills-npm-lock.json` показывает пакет, версию и путь к `SKILL.md`
Не подходит, если
- Проект не на Node.js и без `package.json`: утилита читает зависимости из `node_modules` и поле `skills`
- Нужно разово поставить один скилл из GitHub: хватит `npx skills add owner/repo`
- Версия Node ниже 22.20: утилита требует эту версию и выше
- Вам нужен долгосрочный инструмент: автор готовит слияние с CLI skills и со временем объявит `skills-npm` устаревшим
Пример запроса к агенту
Подключи skills-npm в этот проект и покажи, какие скиллы из наших зависимостей он нашел для Claude Code и CursorОграничения
- Нужен Node.js 22.20 или новее. Утилита вызывает CLI skills и опирается на его формат.
- Автор сливает пакет с CLI skills: на смену `npx skills-npm` идет `npx skills experimental_sync`, а `npx skills-npm migrate` переводит проект. Пакет будет объявлен устаревшим после переноса функций.
- Задержки при установке: для каждого нового удаленного источника запускается `skills add`, а источник, не доступный по сети, завершает запуск с ошибкой. Для офлайна есть `--no-remote`.
- Если одно имя скилла приходит из двух прямых зависимостей, оба пропускаются с предупреждением, и спор решают через `include` и `exclude`.
Как отключить. Уберите `skills-npm` из скрипта `prepare` и из `devDependencies`, затем удалите `skills-npm-lock.json`. Ссылки в каталогах агентов, ведущие в `node_modules`, утилита чистит сама при следующем запуске, пока она установлена. Скиллы, поставленные вручную, она не трогает.
Частые вопросы
Как поставить skills-npm в проект?
Выполните `npm i -D skills-npm` и один раз `npx skills-npm setup`. Команда добавит `skills-npm` в скрипт `prepare` и запустит первую синхронизацию. Утилиту держите в `devDependencies`: `prepare` не запускается у тех, кто ставит ваш опубликованный пакет.
Как отдать скилл вместе со своим npm-пакетом?
Положите `SKILL.md` в каталог `skills/<имя>/` пакета, например `skills/my-skill/SKILL.md`. Просматриваются также `dist/skills/` и `.agents/skills/`, а пакет из одного скилла может держать `SKILL.md` в корне. После `npm install` у пользователя skills-npm создаст ссылку для его агента.
Как собрать набор скиллов для команды?
Создайте пакет, в `package.json` которого есть только поле `skills`, например `"vercel-labs/agent-skills#v1.4.0@web-design-guidelines"` или `"npm:@vueuse/skills"`. Закрепляйте версии через `#тег` или полный SHA из 40 символов. Команда ставит пакет как `npm i -D @acme/frontend-skills`.
Чем skills-npm отличается от `npx skills add`?
`npx skills add` ставит скилл из git-репозитория один раз и вручную. skills-npm делает это при каждой установке зависимостей, берет скиллы, которые поставляются внутри npm-пакетов, и фиксирует их в `skills-npm-lock.json`. Удаленные источники он все равно ставит через `skills add`.
Что делать, если проект уже на CLI skills?
Выполните `npx skills-npm migrate`. Команда заменит вызовы в скриптах на `skills experimental_sync -y`, перейдет на `skills@^1.7.2` и удалит `skills-npm-lock.json`. Конфиг `skills-npm.config.*` она не читает, его параметры перенесите во флаги.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыЛичный набор автора: общие правила для агентов и десятки скиллов для GitHub, браузера, macOS, сообщений и релизов, плюс скрипт синхронизации
Десятки скиллов инженера mizchi: аудит фронтенда, AWS, Cloudflare, SQL, Playwright и OpenTelemetry, ставятся по одному
Набор скиллов из реальной работы: аудит цепочки поставок npm, сборка CLI, релиз плагина Obsidian и иерархия AGENTS.md
dotnet-skills — установщик скиллов для .NET
dotnet-skills
Установщик каталога скиллов для .NET: сам подбирает их по файлам проекта и ставит в Claude Code, Codex, Copilot и Gemini CLI
Свыше 1100 готовых скиллов для Claude Code, Codex, Gemini CLI и Cursor и MCP-сервер, который подбирает скилл под задачу
Builder Skills
Skills for agents
Набор небольших скиллов от Builder.io для рабочих привычек агента: визуальные планы и разборы диффов, сверка с документацией, кросс-агентное ревью и аккуратные
Коротко о README
README начинается с заметки о слиянии с CLI skills и объясняет, чем неудобно клонировать скиллы по одному: версии расходятся, команды повторяются. Дальше идут установка, удаленные скиллы и наборы, файл блокировки, правила разрешения конфликтов, миграции между версиями, конфигурация и опции CLI. В конце раздел для авторов пакетов и список пакетов, которые уже поставляют скиллы.