Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Node Deps

ASecurity

This skill should be used when the user asks to "update dependencies", "update npm packages", "run taze", "upgrade node packages", "check for outdated packages", "update package.json", or mentions dependency updates, npm/pnpm/yarn package upgrades, or taze CLI usage.

82 stars
0 votes
5 copies
272 views
Added 12/19/2025
toolstypescriptgobashreactnode

Works with

cli

Security Analysis

A92/100
mediumInstalls packages at runtime which could introduce malicious dependencies

Scanned 2/12/2026

Install to Claude Code

$npx -y skills add PaulRBerg/dot-claude --skill node-deps --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Node Deps?

Add the live security badge to your README — it updates automatically with every re-scan.

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

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: node-deps
description: This skill should be used when the user asks to "update dependencies", "update npm packages", "run taze", "upgrade node packages", "check for outdated packages", "update package.json", or mentions dependency updates, npm/pnpm/yarn package upgrades, or taze CLI usage.
---

# Node Dependencies Update Skill

Update Node.js dependencies using taze CLI with smart prompting: auto-apply MINOR/PATCH updates, prompt for MAJOR updates individually, skip fixed-version packages.

## Prerequisites

Before starting, verify taze is installed by running:

```bash
~/.claude/skills/node-deps/scripts/run-taze.sh
```

If exit code is 1, stop and inform the user that taze must be installed:

- Global install: `npm install -g taze`
- One-time: `nlx taze`

## Update Workflow

### Step 1: Determine Scope

Ask the user if this is a monorepo project. Use the `-r` flag for recursive scanning of workspaces.

### Step 2: Scan for Updates

Run the taze script to discover all available updates:

```bash
# Single package
~/.claude/skills/node-deps/scripts/run-taze.sh

# Monorepo (recursive)
~/.claude/skills/node-deps/scripts/run-taze.sh -r
```

### Step 3: Parse and Categorize Updates

From the taze output, categorize each package update:

| Category  | Version Change                              | Action        |
| --------- | ------------------------------------------- | ------------- |
| **Fixed** | No `^` or `~` prefix (e.g., `"1.0.0"`)      | Skip entirely |
| **PATCH** | `x.y.z` → `x.y.Z` (e.g., `1.0.0` → `1.0.1`) | Auto-apply    |
| **MINOR** | `x.y.z` → `x.Y.0` (e.g., `1.0.0` → `1.1.0`) | Auto-apply    |
| **MAJOR** | `x.y.z` → `X.0.0` (e.g., `1.0.0` → `2.0.0`) | Prompt user   |

**Identifying fixed versions:** In package.json, fixed versions have no range prefix:

- Fixed: `"lodash": "4.17.21"` → skip
- Ranged: `"lodash": "^4.17.21"` → process

### Step 4: Apply MINOR/PATCH Updates

Apply all non-major updates automatically without prompting:

```bash
# Single package
taze minor --write

# Monorepo
taze minor --write -r
```

Report the packages that were updated.

### Step 5: Prompt for MAJOR Updates

**Auto-skip packages:** Never prompt for these packages—auto-apply their major updates:

- `lucide-react` (icon library with frequent major bumps, backward-compatible in practice)

For each remaining package with a major update available, use `AskUserQuestion` to ask the user individually:

```
Package: <package-name>
Current: <current-version>
Available: <new-version>

Update to major version?
```

**Question format:**

- header: Package name (max 12 chars, truncate if needed)
- options: "Yes, update" / "No, skip"
- multiSelect: false

Collect all approved major updates.

### Step 6: Apply Approved MAJOR Updates

After collecting user approvals, apply the approved major updates:

```bash
# Apply specific packages
taze major --write --include <pkg1>,<pkg2>,<pkg3>

# With monorepo
taze major --write -r --include <pkg1>,<pkg2>,<pkg3>
```

### Step 7: Install Dependencies

After all updates are applied, remind the user to run their package manager's install command:

```bash
npm install
# or
pnpm install
# or
yarn install
```

## Taze Output Interpretation

Taze displays updates grouped by type. Example output:

```
@types/node  ^20.0.0  →  ^22.0.0   (major)
typescript   ^5.3.0   →  ^5.4.0    (minor)
eslint       ^8.56.0  →  ^8.57.0   (patch)
```

The rightmost column indicates update type (major/minor/patch).

Packages shown with `--include-locked` that have no `^` or `~` are fixed versions—skip these entirely.

## Script Reference

| Script                   | Purpose                                              |
| ------------------------ | ---------------------------------------------------- |
| `scripts/run-taze.sh`    | Run taze in non-interactive mode, check installation |
| `scripts/run-taze.sh -r` | Same with recursive monorepo scanning                |

## Important Notes

- Fixed-version dependencies (no `^` or `~`) indicate intentional pinning—never modify these
- MAJOR updates may contain breaking changes—always prompt the user
- MINOR/PATCH updates are backward-compatible by semver convention—safe to auto-apply
- The `--include` flag accepts comma-separated package names or regex patterns

Attribution

PaulRBergPaulRBerg
View sourceMore from PaulRBerg →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

ucoz-landing-skill

Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...

107 votes

Paperclip

Interact with the Paperclip control plane API to manage tasks, coordinate with other agents, and follow company governance. Use when you need to check assignments, update task status, delegate work, post comments, set up or manage routines (recurring scheduled tasks), or call any Paperclip API endpoint. Do NOT use for the actual domain work itself (writing code, research, etc.) — only for Paperclip coordination.

798221 votes

Daw Music

Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.

761 votes

Instantly Rdsthomas Mission Control

Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.

761 votes

Caveman Compress

Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman-compress FILEPATH or "compress memory file"

1023330 votes
View all in tools →