updating-npm-package — скилл для Claude Code: что делает и установка
Инструмент помогает обновлять npm-пакеты без скрытых поломок в коде. Он сверяет версии через npmjs.com и строит отчёт о миграции при мажорных релизах.
npx skills add spencerpauly/awesome-cursor-skills --skill updating-npm-package -a claude-codeЧто делает updating-npm-package
Скилл автоматизирует разбор зависимостей в проектах Node.js. Сначала агент выясняет текущую версию через npm ls и запрашивает свежие релизы через npm view. Дальше логика ветвится по SemVer. Для патчей и минорных версий агент ставит пакет и сразу запускает npm run build && npm test.
Мажорные переходы требуют отдельного разбора. Агент ищет файлы CHANGELOG.md, изучает руководства по миграции и сканирует импорты через grep. Правки вносятся файл за файлом. Для финальной проверки запускается связка из линтера, npx tsc --noEmit, тестов и сборки.
Если для библиотеки существует готовый кодмод вроде npx @next/codemod, скилл отдаёт приоритет ему. В монорепозиториях обновлять пакет выборочно нельзя, потому что конфликт версий между воркспейсами сломает проект. Агент также проверяет предупреждения о peer dependencies и фиксирует package-lock.json.
Какие задачи решает
- Проверить свежие версии библиотеки в реестре npmjs.com
- Найти несовместимые изменения и инструкции по миграции на мажорный релиз
- Обнаружить все импорты устаревшего пакета через поиск в кодовой базе
- Запустить проверку проекта через сборку, тесты, линтер и проверку типов
Примеры запросов агенту
- Обнови пакет react до последней версии и проверь тесты
- Сделай мажорный апгрейд next, проверь breaking changes и подготовь отчёт о миграции
- Подними версию zod в package.json и исправь устаревшие вызовы
Как установить updating-npm-package
1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill updating-npm-package -a claude-code2Вручную: положить файлы
~/.claude/skills/updating-npm-package/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/updating-npm-package/
1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill updating-npm-package -a codex2Вручную: положить файлы
.agents/skills/updating-npm-package/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill updating-npm-package -a cursor2Вручную: положить файлы
.cursor/skills/updating-npm-package/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install spencerpauly/awesome-cursor-skills updating-npm-package2Вручную: положить файлы
.github/skills/updating-npm-package/SKILL.md1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill updating-npm-package -a gemini-cli2Командой платформы
gemini skills install https://github.com/spencerpauly/awesome-cursor-skills --path resources/updating-npm-packageВручную: положить файлы
.devin/skills/updating-npm-package/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill updating-npm-package -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора59
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о updating-npm-package
Как установить updating-npm-package в Claude Code?
Выполните команду npx skills add spencerpauly/awesome-cursor-skills --skill updating-npm-package -a claude-code. Утилита зарегистрирует скилл в конфигурации агента.
Что делает скилл updating-npm-package?
Скилл управляет обновлением зависимостей npm. Он определяет тип обновления по SemVer, ищет руководства по миграции при мажорных релизах и проверяет проект сборкой и тестами.
Чем отличается обработка минорных и мажорных обновлений?
Для патчей и минорных версий агент сразу ставит пакет и запускает тесты со сборкой. При мажорном обновлении агент сначала изучает несовместимые изменения, сканирует импорты через grep, вносит правки и формирует отчёт о миграции.
Исходный текст
SKILL.md · CC0-1.0
--- name: updating-npm-package description: Safely update an npm package by checking npmjs.com for the latest version, reading release notes, and handling minor vs major upgrades differently. For minor updates, just do it. For major updates, find the upgrade guide, validate breaking changes, and produce a detailed migration report. --- # Updating an npm Package Use this skill when the user asks to update, upgrade, or bump a specific npm dependency. ## Steps 1. **Check the current version** — read `package.json` to find the installed version: ```bash npm ls <package-name> ``` 2. **Find the latest version on npm** — fetch the package info: ```bash npm view <package-name> versions --json npm view <package-name> dist-tags --json ``` This gives you the `latest` tag and all published versions. 3. **Determine the update type** — compare current version to latest: - **Patch** (1.2.3 → 1.2.4): bug fixes only - **Minor** (1.2.3 → 1.3.0): new features, backwards compatible - **Major** (1.2.3 → 2.0.0): breaking changes 4. **For patch or minor updates** — just do it: ```bash npm install <package-name>@latest ``` Run the build and tests to make sure nothing broke: ```bash npm run build && npm test ``` If everything passes, commit and report what changed. 5. **For major updates** — do a thorough investigation first: a. **Fetch the changelog and release notes** — check the package's GitHub repo for `CHANGELOG.md`, `MIGRATION.md`, or release notes. Use the web to find the official upgrade guide: ``` Search: "<package-name> v<major> migration guide" OR "<package-name> v<major> upgrade guide" ``` b. **Read the breaking changes** — identify every breaking change between the current and target version. Common things to check: - Removed or renamed APIs - Changed function signatures or return types - Dropped Node.js version support - New peer dependency requirements - Changed default behavior - Config file format changes c. **Scan the codebase for impact** — search for every usage of the package: ```bash # Find all imports grep -r "from ['\"]<package-name>" src/ grep -r "require(['\"]<package-name>" src/ ``` For each usage, check if it's affected by a breaking change. d. **Apply the update**: ```bash npm install <package-name>@latest ``` e. **Fix breaking changes** — update each affected usage based on the migration guide. Apply changes file by file. f. **Verify** — run the full suite: ```bash npm run lint && npx tsc --noEmit && npm test && npm run build ``` g. **Produce a migration report** — summarize: ```markdown ## Package Update: <package-name> v<old> → v<new> (Major) ### Breaking Changes Applied - `oldFunction()` renamed to `newFunction()` — updated in 3 files - Config format changed from `.js` to `.config.ts` — migrated - Dropped support for Node 16 — verified we're on Node 20 ### Files Modified - src/lib/client.ts — updated import and function call - src/config/settings.ts — migrated config format - package.json — bumped version ### Validation - ✅ Lint passes - ✅ TypeScript compiles - ✅ All 47 tests pass - ✅ Build succeeds ``` ## Notes - Always check peer dependency compatibility before updating — `npm install` will warn about mismatches. - For monorepos, check if the package is used in multiple workspaces and update them all together. - If the package has a codemod tool (e.g. `npx @next/codemod`), use it instead of manual migration. - Lock file (`package-lock.json`) changes are expected — commit them with the update.
© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills