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. Examples:
npm/yarn/pnpm:
npm outdated --json
npm audit --json
pip:
pip list --outdated --format=json
pip-audit --json # if installed
cargo:
cargo outdated # if installed
cargo audit # if installed
go:
go list -m -u all
govulncheck ./... # if installed
dotnet:
dotnet list package --outdated
dotnet list package --vulnerable
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 changesWhen 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 |
development
Compare an existing PR's title and body against the actual branch diff and report drift — false claims, missing major changes, stale scope, missing risk callouts. Use after pushing changes to a branch with an open PR, or before requesting review. Read-only by default; add --fix to delegate to kramme:pr:generate-description for an updated description. Complements kramme:pr:code-review (which checks description accuracy as one signal among many code-quality checks) by being a fast, focused, single-purpose check that runs in seconds.
tools
Reviews plugin skills for focused scope, progressive disclosure, portability, safety, retry behavior, and documentation quality. Use when auditing a SKILL.md, skill directory, or proposed skill text against skill-authoring standards. Not for creating new skills, editing skills, or reviewing ordinary application code.
tools
Reviews recent agent session transcripts to find repeated manual workflows or repeated user asks, then proposes and optionally scaffolds only useful new skills or custom subagents. Use when the user asks to inspect recent sessions, find automation opportunities, or create reusable workflows from repeated work. Not for summarizing one session, general retrospectives, or codebase refactoring.
data-ai
Remove all DONE issues and renumber remaining issues within each prefix group. Not for editing live issue content, archiving still-open issues, or moving issues between prefix groups.