Skip to content
Back to skills

Update Deps

ASecurity

Use this skill when the user asks to update dependencies, upgrade packages, update npm packages, or keep the project up to date. Trigger phrases: "update dependencies", "upgrade packages", "npm update", "update npm".

  • 30 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 8, 2026
developmenttypescriptbashnodegitapi

Works with

  • terminal
  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned June 8, 2026

npx -y skills add uxname/liteend --skill update-deps --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Update Deps?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Update Deps
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/uxname-update-deps/badge)](https://www.skillsdirectory.com/skills/uxname-update-deps)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: update-deps
description: Use this skill when the user asks to update dependencies, upgrade packages, update npm packages, or keep the project up to date. Trigger phrases: "update dependencies", "upgrade packages", "npm update", "update npm".
---

# Update Dependencies

Updates project dependencies using the project's interactive update workflow.

## Update Command

```bash
npm run update
```

This does:
1. `npm-check-updates -u` — bumps all versions in `package.json` to latest
2. `rimraf node_modules package-lock.json` — cleans old install
3. `npm i` — fresh install with new versions
4. `npm run lint:fix && npm run check` — auto-fix and verify (postupdate hook)

**This updates ALL dependencies at once.** It's aggressive — see selective update below for safer approach.

## Selective Update (Safer)

To update specific packages only:

```bash
npx ncu -u @nestjs/common @nestjs/core   # Update specific packages
npm install                                 # Reinstall
npm run check                               # Verify
```

To preview what would change without applying:

```bash
npx ncu   # Shows available updates without modifying package.json
```

## High-Risk Packages (Extra Caution)

These packages often have breaking changes — read the changelog before updating:

| Package | Why risky |
|---|---|
| `@nestjs/*` | Core API changes, decorator signatures, module registration |
| `@prisma/client`, `prisma` | Migration system, client API, adapter changes |
| `fastify` | Plugin API changes, lifecycle hooks |
| `bullmq`, `@nestjs/bullmq` | Job queue API, worker configuration |
| `mercurius`, `@nestjs/graphql` | GraphQL schema generation, resolver signatures |
| `@biomejs/biome` | New lint rules that fail existing code |
| `typescript` | Stricter type checking may break existing code |
| `zod`, `nestjs-zod` | Validation API changes |

## After Updating

1. Run `npm run check` — if it fails, invoke the `/check` skill to diagnose and fix issues, then return here
2. Run `npm run test` — ensure no regressions
3. Run `npm run build` — verify production build works
4. Ask the user to manually run `npm run start:dev` locally to verify runtime stability. Do NOT run start:dev yourself, as it is a blocking process that will hang your terminal.

## If Something Breaks

Revert specific packages:

```bash
# Reinstall a specific version
npm install fastify@5.8.4

# Or revert package.json and reinstall
git checkout package.json
npm install
```

## Overrides

The project uses `overrides` in `package.json` to force specific transitive dependency versions.

### What are overrides?

`overrides` force npm to use a specific version of a transitive dependency regardless of what parent packages request. Example:

```json
{
  "overrides": {
    "fastify": "5.8.4"
  }
}
```

### When to add overrides

- A transitive dependency has a known vulnerability
- The upstream package maintainer hasn't updated the dependency
- The fix is a patch version (low risk of breaking changes)

### When to remove overrides

After each `npm run update`, check if overrides are still needed:

1. Temporarily remove an override from `package.json`
2. Run `npm install`
3. Run `npm audit` — if the vulnerability disappears, the override is no longer needed
4. Run `npm run check` — make sure nothing broke
5. If clean, commit the removal

### Maintenance schedule

- **After every `npm run update`**: review overrides, remove obsolete ones
- **Monthly**: run `npm audit` and check if remaining overrides can be dropped
- **Quarterly**: audit all remaining overrides with `npm ls <package>` to see which parent still needs them

### Finding which override is still needed

```bash
# See which package depends on the overridden package
npm ls fastify
```

If no parent package requires the specific version, the override is safe to remove.

## Checklist

- [ ] Preview changes with `npx ncu` before applying
- [ ] Check changelogs of high-risk packages
- [ ] `npm run check` passes after update
- [ ] `npm run test` passes
- [ ] `npm run build` succeeds
- [ ] Review and clean up `overrides` section
- [ ] Commit `package.json` and `package-lock.json` together

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.