kramme-cc-workflow/skills/kramme:deps:audit/SKILL.md
(experimental) Audit project dependencies for outdated packages, security vulnerabilities, and staleness. Generates a prioritized upgrade plan with risk assessment.
npx skillsauth add abildtoft/kramme-cc-workflow kramme:deps:auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Audit project dependencies for outdated packages, security vulnerabilities, and staleness. Groups related packages, assesses risk per update, and generates a prioritized upgrade plan.
Parse $ARGUMENTS for --auto before Step 1.
AUTO_MODE=true and remove the flag from the remaining input.--auto means: audit all detected ecosystems, write DEPENDENCY_AUDIT.md, and stop in review-only mode without applying updates or creating SIW issues.Read the detection details from references/package-manager-commands.md and use it as the source of truth for lock-file mappings, manifest patterns, and monorepo markers.
If multiple ecosystems are detected:
AUTO_MODE=true, set PACKAGE_MANAGER to the list of all detected ecosystems and continue.PACKAGE_MANAGER.For each ecosystem in PACKAGE_MANAGER, run the outdated and audit commands from references/package-manager-commands.md. For example, npm:
npm outdated --json
npm audit --json
Error capture: Do not suppress stderr. Capture both stdout and stderr so failures are visible. Distinguish three outcomes per command:
Capture per package:
Group related packages by org or scope:
@angular/core, @angular/cli, @angular/common → Angular groupeslint, eslint-plugin-*, @typescript-eslint/* → ESLint group@ngrx/store, @ngrx/effects → NgRx groupClassify each update:
Calculate staleness: how many versions behind, time since current version.
Read the scoring rubric from references/risk-assessment-matrix.md.
For each package group, assess:
node_modules/, dist/, build/, out/, vendor/, target/, .venv/, and bin/obj/ so file counts reflect first-party usage.Priority ordering:
Each entry includes: packages, current → target versions, risk level, recommended testing.
If AUTO_MODE=true:
DEPENDENCY_AUDIT.md using the template at assets/audit-report.md (see "Writing the report" below).Otherwise, ask the user one combined question:
How should I present the results, and what should I do next?
Present these options:
DEPENDENCY_AUDIT.md, no changesDEPENDENCY_AUDIT.md, then apply Phase 2 (low-risk patches + minors) and run /kramme:verify:runDEPENDENCY_AUDIT.md, then create a SIW workflow with one issue per Phase 4 campaign (via /kramme:siw:init)/kramme:visual:diagram, no changesFor option 4: /kramme:siw:init is user-invoked (the model cannot invoke it directly) — write the report, then present the exact /kramme:siw:init command for the user to run. If / invocation is unavailable on the platform, locate and Read that skill's SKILL.md from the installed skills directory and follow its steps inline.
When the chosen action writes the report:
assets/audit-report.md.<project-root>/DEPENDENCY_AUDIT.md.DEPENDENCY_AUDIT.md without prompting (the report is a snapshot, not append-only). Note the overwrite in the Step 7 summary.## Ecosystem: <name> heading, in the order ecosystems are listed in PACKAGE_MANAGER. Keep the top-of-file Summary section as a single combined view across ecosystems.Before running update commands:
git status --porcelain). If it is dirty, stop and ask the user to commit or stash first./kramme:verify:run. If verification fails, stop, report which packages were updated, and leave the lockfile changes in place for the user to inspect or revert.Dependency Audit Complete
Package Manager: {PACKAGE_MANAGER}
Total Dependencies: {N} ({direct} direct, {transitive} transitive)
Security Vulnerabilities:
Critical: {N}
High: {N}
Medium: {N}
Low: {N}
Outdated Packages:
Major: {N} packages ({groups} groups)
Minor: {N} packages
Patch: {N} packages
Upgrade Plan:
Phase 1 (Immediate): {N} security fixes
Phase 2 (Quick Wins): {N} patch + minor updates
Phase 3 (Planned): {N} grouped minor updates
Phase 4 (Major): {N} major upgrades ({campaigns} campaigns)
{if report_written}
Report: DEPENDENCY_AUDIT.md{if overwritten} (overwrote previous report){/if}
{/if}
{if partial_results}
Partial results — the following commands failed and were excluded:
- {ecosystem}: {command} → {stderr first line}
{/if}
STOP — Do not continue beyond this point.
| Scenario | Action |
| --- | --- |
| No package manager detected | Abort: No supported package manager found in this directory. |
| Audit tool not installed | Warn, skip vulnerability check, suggest install command from the reference file |
| Command failed (non-zero exit) | Retry once; if still failing, mark ecosystem as partial and surface stderr in Step 7 |
| No outdated packages | Report clean: All dependencies are up to date. |
| Monorepo with many workspaces | Audit root-level first, suggest per-workspace audit |
| Working tree dirty when applying Phase 2 | Stop and ask user to commit or stash before proceeding |
| /kramme:verify:run fails after applying Phase 2 | Stop, report which packages were updated, leave lockfile changes for the user |
tools
Requires Linear MCP. Implements one Linear issue end to end, selects applicable code-review, convention, and PR-refactor gates, runs them to bounded convergence, verifies, and optionally opens the PR and iterates on CI and review feedback until green. Use when the user wants a single Linear issue taken from implementation through a clean Pull Request. Not for implementation-only work, SIW-tracked issues, stacked PRs, existing PR updates, or post-merge rollout.
development
Reviews PR and local changes for convention drift and overcaution against documented rules and mined peer-file practice. Use for new patterns, dependencies, abstractions, or defensive complexity that departs from established practice; every finding cites evidence. Supports --inline. Not for general code quality (use kramme:pr:code-review) or spec review (use kramme:siw:spec-audit --team).
testing
Charts huge or foggy initiatives into a local `.context` decision map and resolves one typed frontier ticket per session until the work is ready for SIW or another execution workflow. Use when the route to a destination cannot fit in one agent session or parallel workspaces need coordinated planning state. Not for clear specs, ordinary issue decomposition, implementation, or Linear-native tracking.
development
Investigates a question against primary sources and saves one cited Markdown artifact. Use for reading legwork: official docs/API facts, source-code or spec checks, standards, and first-party service behavior before planning or implementation. Not for making product or architecture decisions, implementing code, broad web search, secondary blog summaries, or uncited answers.