dependency-currency

Manages npm dependency currency, major bumps, and drift diagnosis for a lockfile-free Next.js repository.

Updated Jul 3, 2026
One-click install
npx skills add https://github.com/MarineTeam/fable-video --skill dependency-currency-marineteam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dependency-currency
Source: https://github.com/MarineTeam/fable-video/tree/main/.claude/skills/dependency-currency
Command: npx skills add https://github.com/MarineTeam/fable-video --skill dependency-currency-marineteam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? This repository deliberately commits no lockfile, so every npm install (local, CI, Vercel) resolves the newest version matching each caret range independently. That means deploys can break with zero code changes, CI-green does not guarantee deploy-safe, and major bumps like ESLint 10 can crash the toolchain. This Skill makes that always-latest doctrine operational and safe. ## Core Features & Use Cases - Currency checks: Interprets npm outdated and npm ls --depth=0 output, distinguishing automatic minor/patch updates from majors needing deliberate bumps. - Major-bump runbook: A six-step procedure covering changelog review, range edits, fresh installs, gate runs (lint, test, build), smoke tests, and PR conventions, with a per-dependency risk table for next, react, Auth0, Sentry, tus-js-client, and more. - Pinned exception handling: Documents why ESLint stays capped at 9.x (the scopeManager.addGlobals crash with eslint-config-next) and provides a live smoke test to re-verify before ever bumping. - Drift diagnosis: A workflow for deploys that broke with no code changes — compare resolved versions, reproduce with a fresh install, and pin the culprit to an exact version with a dated removal condition. - Use Case: A Vercel deploy fails on install while CI was green and git log shows no relevant commits; use this Skill to confirm fresh-resolution drift, identify the newly published minor that broke the build, and pin it safely. ## Quick Start Ask the AI to run a dependency currency check on package.json and tell you which packages need a deliberate major bump versus which will self-update.

Frequently Asked Questions about dependency-currency

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I safely bump a major npm dependency version?

Read the target version's migration guide first, edit only that package's range in package.json, run npm install, then run all gates (lint, test, build) and a manual smoke test of the affected surface. Open a PR citing the changelog you reviewed.

Why did my Vercel deploy fail with no code changes?

With no committed lockfile, every install resolves the newest version matching each caret range, so an upstream minor or patch release can break a deploy between commits. Compare resolved versions in the build log against npm ls --depth=0 locally, reproduce with a fresh install, then pin the culprit to an exact version.

Should I commit a package-lock.json for reproducible builds?

No — this repository deliberately forbids lockfiles so minor and patch security fixes arrive automatically on every deploy. Reproducibility, when needed, comes from pinning exact versions in package.json as dated, documented temporary exceptions.

Why does ESLint 10 crash with eslint-config-next?

ESLint 10 changed an internal scopeManager API, causing a TypeError: scopeManager.addGlobals is not a function in the typescript-eslint parser stack used by eslint-config-next's flat config. The peer range does not encode this, so eslint stays pinned to ^9.39.0 until a live smoke test confirms the fix.

Can I use --legacy-peer-deps to fix an install conflict?

No — the flag suppresses the error without resolving the incompatibility, and with no lockfile the next fresh install on CI or Vercel can resolve differently and break. Treat the conflict as diagnostic: pair the bump with its dependent package or defer the upgrade.