.cursor/skills/maintenance/SKILL.md
Resolves dependency audit (security) issues and updates outdated packages with prioritization by breaking-change risk and security/value. Prefer security fixes and non-breaking updates; defer or flag major upgrades. Use when the user asks to fix audit, update packages, resolve vulnerabilities, or run maintenance.
npx skillsauth add imvanzen/strava-kudosik maintenanceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
packageManager in root package.json, or presence of pnpm-lock.yaml / package-lock.json / yarn.lock.pnpm auditnpm auditpnpm outdatednpm outdatedOrder of operations:
| Priority | Category | Action |
|----------|----------|--------|
| 1 | Audit: critical/high | Fix via minimal version bump or pnpm.overrides (pnpm) / overrides (npm). Prefer pnpm update <pkg> or audit fix only when it doesn’t jump major. |
| 2 | Audit: moderate/low | Same as above; can batch with non-breaking updates. |
| 3 | Outdated: patch | Update (e.g. pnpm update --latest scoped to patch, or per-package update). |
| 4 | Outdated: minor | Update if no known breaking changes for this project; skip if tightly coupled (e.g. eslint + eslint-config-*). |
| 5 | Outdated: major | Do not update in this run. List in summary with “Major upgrade (deferred)” and note possible breaking changes; suggest separate task/PR. |
pnpm audit --json or npm equivalent for “fix available”).pnpm.overrides (in root package.json) only when a direct update isn’t possible (transitive dep). Match existing override style in the repo.pnpm install (or equivalent) and re-run audit to confirm vulnerabilities are gone.pnpm update <pkg> (respects semver range) or pnpm update <pkg> --latest only when targeting a specific minor.pnpm update (no args) to bump within current ranges, then re-run pnpm outdated to see remaining; for explicit latest patch/minor use pnpm update <pkg>@<version>.pnpm update -r --latest (or npm equivalent that pulls majors) unless user explicitly requested “update everything including major.”pnpm install, then pnpm audit and pnpm outdated again; run lint and tests (e.g. pnpm lint, pnpm test) to confirm no regressions.Produce a short summary:
## Maintenance Summary
### Audit
- Resolved: X vulnerabilities (critical/high/moderate/low).
- Remaining: (if any) list and reason (e.g. fix requires major upgrade).
### Updated (patch/minor)
- package@old → new
- ...
### Deferred (major upgrades)
- package@current → latest (major) – reason (e.g. breaking API changes; handle in separate PR).
Add any new overrides or lockfile changes to the same commit/PR as the rest of maintenance.
pnpm --filter) only when updating a specific workspace is required.pnpm.overrides with >=X.Y.Z). Don’t remove existing overrides unless they’re obsolete and safe to drop.pnpm store prune without user consent) or remove lockfiles.development
Discover and establish technical context before implementing any feature. Prioritize project instructions, existing codebase patterns, and external documentation in that order. Use for any task requiring understanding of project conventions, coding standards, architecture patterns, and established practices before writing code.
development
Analyse task description, performs gap analysis, expand the context for the task, analyse the current state of the system in the context of the task, helps build PRD, creates a context for the task, gathers information about the task from different sources.
testing
Implementation gap analysis. Verify what has to be implemented. Verify what was implemented. Compare plan to current state.
development
E2E testing patterns, verification procedures, and CI readiness checklists using Playwright. Use for writing, debugging, or reviewing end-to-end tests, fixing flaky tests, creating Page Objects, mocking external APIs.