microsoft/powerplatform-build-tools · Archived

fix-dependencies

Fix all vulnerabilities on the current branch using npm audit. Local branch only — no ADO/GitHub queries.

First seen Jul 10, 2026

Installation

$ npx skills add microsoft/powerplatform-build-tools --skill fix-dependencies

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from microsoft/powerplatform-build-tools.

npx skills add microsoft/powerplatform-build-tools

Browse all from microsoft/powerplatform-build-tools

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 303
License LICENSE
Default branch main
Open issues 188
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,643 B
  • docs SUMMARY.md 131 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

Fix Dependencies

Fix all vulnerabilities on the current branch using npm audit. No user input required.

Scope: local branch only — no origin sync, no ADO queries, no Dependabot. For S360 / ADO / GitHub alerts use /security-alerts.


Step 1 — Audit

npm audit --json 2>&1

Build a fix list. For each vulnerability, apply the first matching rule:

Condition Action
patched_version exists Fix it — patch/minor/major all acceptable for security
inBundle: true, parent has newer version Upgrade parent (Strategy B)
inBundle: true, no parent upgrade Patch lock file directly (Strategy C)
patched_version: null Accept risk, document, move on
scope: development + low severity + no patch Accept risk, move on

Known permanent accepted risk — do not flag: elliptic (GHSA-848j-6mx2-7j84) via rewiremock — dev-only, no patched version.


Step 2 — Fix (no pausing between fixes)

Strategy A — npm override (non-bundled transitive dep)

Add/update the entry in "overrides" in package.json, then:

npm view <pkg>@<version> version   # confirm version exists
# edit package.json overrides
npm install 2>&1
npm ls <pkg> 2>&1                  # confirm version took effect

Hard rules:

  • Never add "minimatch": "^3.x" as a flat override — infinite npm loop
  • ajv override must stay at ^6.x — v8 breaks ESLint
  • Do not change intentionally-pinned overrides (nanoid, electron-to-chromium, @types/node) unless explicitly asked

Strategy B — Direct dependency bump

Update the version in dependencies or devDependencies in package.json, then npm install.

Strategy C — Lock file patch (for inBundle: true packages)

# Find all paths for the package
node -e "
const l = require('./package-lock.json');
console.log(
  Object.keys(l.packages)
    .filter(k => k.endsWith('/<pkg>'))
    .map(k => k + ' -> ' + l.packages[k].version + ' inBundle:' + l.packages[k].inBundle)
    .join('\n')
);"

# Get safe version metadata
npm view <pkg>@<patched-version> dist.tarball dist.integrity --json

# Patch all matching entries
node -e "
const fs = require('fs');
const l = require('./package-lock.json');
Object.keys(l.packages)
  .filter(k => k.endsWith('/<pkg>'))
  .forEach(k => {
    l.packages[k].version = '<patched-version>';
    l.packages[k].resolved = '<tarball-url>';
    l.packages[k].integrity = '<integrity>';
  });
fs.writeFileSync('./package-lock.json', JSON.stringify(l, null, 2) + '\n');
console.log('Patched');
"
npm install 2>&1

Strategy D — Accept risk

Document in final summary. Do not block or ask.


Step 3 — Verify

npm audit 2>&1
npm run ci 2>&1

npm run ci functional tests will fail locally (require PABTORG_PASSWORD) — expected, not a blocker.

If npm run ci fails on a non-functional-test step (TypeScript error, lint, unit test), fix it and re-run before continuing. Do not commit a broken build.


Step 4 — Commit and PR (only if Step 3 passes)

git add package.json package-lock.json
git status   # confirm nothing accidental staged
git commit -m "chore: fix dependency vulnerabilities"

Then run /create-pr to create the pull request.


Final Summary

Print before handing off to /create-pr:

  • Fixed: package, old → new version, strategy used
  • Accepted risk: package, GHSA ID, reason