agentsclimarketplace

Frontend review deps

Skill krkrkrr/skills/skills/frontend/frontend-review-deps

Use when auditing dependency health — outdated packages, CVE triage with attack-vector weighting, deprecated/declining library detection (trend-watch). Runs `audit-deps.sh` and `audit-trend-watch.sh`. Pairs with `frontend-review-security` for the full security picture.From its SKILL.md

Install
npx -y skills add krkrkrr/skills --skill frontend-review-deps

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

5.7 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Frontend Review — Dependencies

You are auditing the dependency health of a frontend project. This covers three areas:

  1. Freshness — outdated packages and breaking update procedures
  2. CVE triage — vulnerabilities weighted by actual attack vector, not just CVSS score
  3. Trend watch — deprecated, abandoned, or superseded libraries that should be migrated

Procedure

  1. In parallel, run:
    • scripts/audit-deps.sh --repo <client-repo>
    • scripts/audit-trend-watch.sh --repo <client-repo>
  2. Read raw/deps.json and raw/trend-watch.json.
  3. For each CVE finding, apply the attack-vector triage matrix below before assigning priority.
  4. For each trend-watch finding (Tier 1/2/3), confirm the installed version and assess migration cost.

CVE Triage — Attack Vector Matrix

Do not use CVSS score alone. A CVSS 9.8 RCE in a devDependency has zero production impact for a browser-only SPA.

CVE TypedevDep onlyRuntime (SPA)Runtime (SSR/Edge)
RCEignoreignoreP0
Prototype PollutionignoreP1 (check input path)P0
ReDoSignoreP1 (check user input reach)P0
Path TraversalignoreignoreP0
XSS via libraryignoreP0 (HTML-generating libs)P0
SSRFignoreignoreP0
Supply Chain (postinstall malware)CI P0CI P0P0

Triage procedure:

  1. Run pnpm audit --prod to exclude devDeps from output.
  2. Focus on Prototype Pollution / ReDoS / XSS — other types are low-risk for browser-only SPAs.
  3. For each remaining finding, check whether user-controlled input can reach the vulnerable code path. If not, downgrade to P2.
  4. For SSR / Edge Functions, treat RCE / Path Traversal / SSRF as P0.
  5. Document every ignored CVE in kpi/audit-triage.md with the reason.
# Runtime-only CVEs (excludes devDeps)
pnpm audit --prod --audit-level=moderate --json | jq '
  .vulnerabilities | to_entries[] |
  { name: .key, severity: .value.severity,
    via: [.value.via[] | select(type=="object") | .title] }'

# Prototype Pollution / ReDoS only
pnpm audit --prod --json 2>/dev/null | jq -r '
  .vulnerabilities | to_entries[] |
  .value.via[] | select(type=="object") |
  select(.title | test("prototype|pollution|redos|regex denial"; "i")) |
  "\(.severity) \(.title) in \(.name)"' | sort -u

Trend Watch — Library Tiers

Cross-references package.json against data/trend-watch-config.json:

  • Tier 1 (migrate now): Deprecated / abandoned / superseded — no rational reason to continue. Includes libraries where migration cost is low and a mature alternative exists, even if not officially deprecated (jest → vitest, axios → ky/fetch, cypress → Playwright).
  • Tier 2 (plan migration): Maintenance mode / satisfaction declining / RSC-incompatible.
  • Tier 3 (watch): EOL versions exist / satisfaction trending down.

For each Tier 1 finding: propose a concrete migration path and estimate effort (hours/days). For each Tier 2 finding: recommend scheduling a migration in the next 1–3 months. For each Tier 3 finding: add to the ongoing monitoring list.

Library Selection — Web Standards First

Before recommending a new dependency as a replacement, apply this order:

  1. Can a Web Platform / ECMAScript standard API cover this?
Use caseAvoidUse instead
Date / timemoment, date-fns, dayjsTemporal (polyfill), or Date for simple cases
Array / object utilitieslodash, ramdaArray.prototype.{flatMap,findLast,groupBy}, Object.{entries,fromEntries,groupBy}, structuredClone()
HTTP requestsaxios, requestfetch + AbortController
UUID generationuuid, nanoidcrypto.randomUUID()
URL / query paramsqs, query-stringURL, URLSearchParams
Number / date formattingnumeral.jsIntl.NumberFormat, Intl.DateTimeFormat
  1. Tree-shakable? Only what is imported should end up in the bundle.
  2. Actively maintained? Release within the last 6 months.
  3. Bundle impact < 5 kb gzip? Verify with pnpm build and a bundle analyser.

Breaking Update Procedure

  1. Propose as a standalone PR — never bundle with feature or refactor work.
  2. Read the changelog for removed APIs; grep / ast-grep the codebase for usages.
  3. Require typecheck && lint && test:ci && e2e to pass before merge.
  4. If VRT snapshots exist, regenerate them in a Linux container after the upgrade.

Output

Write <client-repo>/.frontend-review/report/latest/md/deps-review.md with:

  • Outdated packages table (name, current, latest, breaking?)
  • CVE findings after attack-vector triage (priority, package, type, reason for priority)
  • Trend watch findings by tier (Tier 1: migration now, Tier 2: plan, Tier 3: monitor)
  • Ignored CVEs with justification (for kpi/audit-triage.md)
  • Recommended PRs: update batches + migration starting points

Boundaries

  • Do NOT assess TypeScript / lint / dead code — that's frontend-review-hygiene.
  • Do NOT run the AI pentest or check HTML sinks — that's frontend-review-security.
  • Do NOT touch source files in the client repo.

Reference

  • Checklist: 02-dependencies.md, 27-dependency-audit.md, 28-trend-watch.md
  • Data: data/trend-watch-config.json, data/trend-watch-history.json
  • Scripts: scripts/audit-deps.sh, scripts/audit-trend-watch.sh, scripts/fetch-trend-data.sh
  • Phase: week-1-ci-baseline.md

Keep looking

Skills are one crate of 326,834. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.