codex/skills/review-dependencies/SKILL.md
Detect package managers and discover outdated or vulnerable dependencies. Returns structured findings without upgrading. Use when the user asks to "review dependencies", "check for outdated packages", "check dependencies", "scan dependencies", or "dependency review".
npx skillsauth add tobihagemann/turbo review-dependenciesInstall 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.
Detect package managers and discover outdated or vulnerable dependencies. Analysis only. Does not upgrade.
Identify which package managers are in use by searching for config files:
| Config file | Package manager | Lockfile | Ecosystem |
|---|---|---|---|
| package.json | npm / yarn / pnpm | package-lock.json / yarn.lock / pnpm-lock.yaml | Node.js |
| Package.swift, *.xcodeproj | Swift Package Manager | Package.resolved | Swift |
| pyproject.toml, requirements.txt, setup.py | pip / poetry / uv | poetry.lock, uv.lock | Python |
| Cargo.toml | cargo | Cargo.lock | Rust |
| go.mod | Go modules | go.sum | Go |
| Gemfile | Bundler | Gemfile.lock | Ruby |
| pom.xml | Maven | — | Java |
| build.gradle, build.gradle.kts | Gradle | gradle.lockfile | Java/Kotlin |
Swift dependencies can live in Package.swift or be configured directly in the Xcode project file (.xcodeproj/.xcworkspace). For Xcode-managed dependencies, inspect the project's package references.
Detection steps:
yarn.lock → yarn, pnpm-lock.yaml → pnpm)package.json files): use request_user_input to let the user pick one (Codex request_user_input choices are mutually exclusive). For an "all of them" workflow, ask follow-up free-form input or run the review per instance.request_user_input to let the user pick oneRun the appropriate discovery command to find available updates:
| Package manager | Discovery command | Notes |
|---|---|---|
| npm | ncu --format group | Requires npm-check-updates. Suggest npm install -g npm-check-updates if missing. |
| yarn | ncu --format group or yarn upgrade-interactive | |
| pnpm | ncu --format group or pnpm outdated | |
| Swift PM | Check resolved versions in Package.resolved against latest releases via web search | No built-in outdated command. Read Package.swift or inspect the Xcode project to identify dependencies and their current version constraints. |
| pip | pip list --outdated | |
| poetry | poetry show --outdated | |
| uv | uv pip list --outdated | |
| cargo | cargo outdated | Requires cargo-outdated. Fall back to comparing Cargo.toml versions via web search. |
| Go modules | go list -m -u all | |
| Bundler | bundle outdated | |
| Maven | mvn versions:display-dependency-updates | |
| Gradle | gradle dependencyUpdates | Requires com.github.ben-manes.versions plugin. |
Categorize updates:
If the discovery tool is not installed, suggest the installation command (see Step 2 notes column). If no tool exists for the ecosystem, fall back to manual version checking via web search.
If no updates are available, report that dependencies are up to date.
Format each finding as:
### [P<N>] <title (imperative, <=80 chars)>
**Package:** `<name>` <current> -> <latest>
**Manager:** <npm/pip/cargo/etc.>
<one paragraph: why this matters, known vulnerabilities if any, major version gap>
After all findings, add:
## Overall Verdict
**Dependencies:** <up to date | updates available>
<summary with counts: N major, N minor, N patch>
development
Apply a UX lens to a user-facing change: whether it serves the user's real goal and whether the path through it holds together, using the Understanding, Bridging, and Flowing contexts. Use when scoping, planning, or assessing any change that affects what a user sees or does. Loaded as a lens during planning and assessment.
development
Apply a UX lens to a user-facing change: whether it serves the user's real goal and whether the path through it holds together, using the Understanding, Bridging, and Flowing contexts. Use when scoping, planning, or assessing any change that affects what a user sees or does. Loaded as a lens during planning and assessment.
development
Assess project-wide structural technical debt: complexity hotspots, deprecated API usage, duplication clusters, and architecture rot. Ranks findings by impact and refactor effort into a report at .turbo/technical-debt.md. Use when the user asks to "assess technical debt", "find technical debt", "review technical debt", "what should we refactor", "find refactoring candidates", "where is the code rot", or "what's our worst code". Analysis-only — does not modify code.
development
Run a multi-agent review of code comments and markdown documentation for unnecessary content, then fix the issues. Covers what-restating comments, name-mirroring doc comments, status-update prose, and other documentation noise. Use when the user asks to "simplify docs", "simplify documentation", "clean up comments", "clean up docs", "review documentation", "strip unnecessary comments", "reduce doc noise", or "run simplify-docs".