Dev & Engineering

Vibeyard: Add npm Dependency Skill

A project-specific playbook for adding npm dependencies to an Electron app with three build targets, preventing silent breakage of CSS, native modules, and the renderer bundle.

55/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 1.4k
Last updated
1mo ago
License
MIT
npm-dependency-managementelectronesbuildnative-modules
+3typescriptpackage-lockcross-platform-builds

What does this skill do, and when should you use it?

add-npm-dependency is a project-specific Agent Skill in the Vibeyard repository, located at .claude/skills/add-npm-dependency/SKILL.md. It defines the mandatory rules for installing, adding, or upgrading npm dependencies in this Electron project: always install the latest version with a caret range, use npm only, and commit both package. and package-lock.. Its core logic is deciding which build target consumes a package (renderer / main / preload), because the renderer is bundled by esbuild into a single IIFE that forbids Node built-ins and native modules and has no CSS loader, requiring manual stylesheet copying. It also covers native-module postinstall rebuilds, asar unpacking, type installation, and build/test/packaging verification. Note: this is a repository-specific skill that only applies inside the Vibeyard codebase, not a general dependency-management tool.

The skill is an instruction document that guides an AI agent to: install packages with npm install <pkg>@latest while keeping the caret range; classify each dependency by target — renderer (pure JS/TS, esbuild-bundled) vs main/preload (Node/native modules allowed, tsc to CommonJS); for styled libraries (gridstack, @xterm/*), add a CSS copy step in scripts/copy-assets.js and a link tag in index.html; for native modules, rely on the postinstall electron-builder install-app-deps rebuild and add asarUnpack entries when needed; install @types/<pkg> when types are missing; and finally run npm run build and npm test, ensuring runtime deps live in dependencies rather than devDependencies.

How do you install this skill?

Before you start
Your agent needs
  • Shell / CLI
  • Local filesystem
Install first
  • Node.js (v24 pinned via .nvmrc)
  • npm (not yarn/pnpm)
  • Electron toolchain

The skill lives in Vibeyard's .claude/skills/ directory (the repo bundles 2 skills; this is one of them). To get it: git clone https://github.com/elirantutia/vibeyard.git — the file is already at .claude/skills/add-npm-dependency/SKILL.md. To reuse it elsewhere, copy the skill folder into your own project's .claude/skills/ directory, but be aware its rules are tailored to Vibeyard's build structure and would need editing. Installing the Vibeyard app itself: download the .dmg (macOS), .deb/.AppImage (Linux), or .exe (Windows) from GitHub Releases, or run npm i -g vibeyard; building from source requires Node v24+.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/elirantutia/vibeyard.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.claude/skills/add-npm-dependency" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • add gridstack as a dependency

Inside the Vibeyard project, the skill triggers automatically whenever you ask Claude Code to add, install, or upgrade an npm package (its description marks such tasks as MUST-use), e.g. "install dompurify", "add gridstack as a dependency", or "upgrade better-sqlite3". The agent then follows the skill's six steps: pick the build target, handle CSS/native-module gotchas, add types, and verify with build and test runs. With other clients, supply the SKILL.md content as context to the agent.

What are this skill's strengths and limitations?

Pros
  • Closely tailored to Vibeyard's real build structure, addressing concrete failure points like esbuild's missing CSS loader and native-module ABI rebuilds.
  • Enforces repo conventions: latest version with caret range, npm only, lockfile always committed — reducing human error.
  • Includes required verification steps (npm run build + npm test) and a Do/Don't checklist that agents can follow mechanically.
  • Points to in-repo precedents (gridstack, better-sqlite3, @types packages) that lower judgment cost.
Limitations
  • Tightly bound to Vibeyard's build structure (three targets, copy-assets.js, .nvmrc) — not reusable in other projects as-is.
  • The mandatory always-latest-version policy may conflict with teams that pin exact versions.
  • Native modules must compile on macOS, Linux, and Windows; cross-platform risk is explicitly left to the user to watch.
  • Effectiveness depends on the connected agent triggering and following the skill; no independent tests or success metrics are provided in the source.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Vibeyard: Add npm Dependency Skill this page 55 · Use with care ★ 1.4k 1mo ago MIT
Expo Native Module Builder 51 · Use with care ★ 2.9k 20d ago MIT
Vibeyard UI Development Skill 56 · Use with care ★ 1.4k 1mo ago MIT
VS Code Unit Test Runner ✓ Microsoft · Official 55 · Use with care ★ 194k 11d ago MIT
VS Code Smoke Test Failure Diagnosis ✓ Microsoft · Official 45 · Not recommended ★ 194k 11d ago MIT

How did FollowSkills review this skill?

FollowSkills review · FSRS-1.0
Use with care
55/ 100 5-point scale 2.8 / 5
1Utility9 / 20 · 2.3/5

The project's own dependency-addition conventions (Electron three-build-target packaging rules), for its contributors, not a general-purpose skill.

2Reliability11 / 20 · 2.8/5
3Safety19 / 25 · 3.8/5
4Evidence4 / 15 · 1.3/5
5Usability7 / 10 · 3.5/5
6Maintenance5 / 10 · 2.5/5
1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 17, 2026 Review evidence[1]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

This review was completed under FSRS 1.0. Dimension scores are not converted; it is queued for re-review under FSRS 2.0.

See the full review method →

More skills from this repository

All from elirantutia/vibeyard

Related skills