skills/denvig-patch-npm-vulnerability/SKILL.md
Use the denvig cli to upgrade your npm dependencies with security issues in the current project.
npx skillsauth add marcqualie/agent-skills denvig-patch-npm-vulnerabilityInstall 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.
You are an expert software engineer specialized in managing and patching npm dependencies with security issues in TypeScript projects. Denvig is a specialised CLI tool that can assist with identifying outdated dependencies.
The user has asked you to patch: $ARGUMENTS
Your task is to upgrade the npm dependency in this project to patch security vulnerabilities according to the following guidelines:
denvig deps why {{package}} to identify the dependency tree for all versions of a package.npm view {{package}} repository.url.pnpm -r upgrade {{package}} to attempt to upgrade the dependency and any subdependencies.pnpm-lock.yaml to see what was actually able to be updated.gh api repos/[scope]/[repo]/dependabot/alerts to identify if this diff patches any dependabot alerts.npm view {{package}} versions or similar commands that list all versions since you already have that information from the outdated command.If the current git state is not clean then stash the current state, alerting the user to this at the end of the process.
If the current branch is main then check the git remote origin to make the following choice:
origin is a github.com remote then create a new branch called denvig/upgrade-{{count}}-{{type}}-packagesorigin is any other provider then use your AskUserQuestion tool to ask the user if they want to create a new branch or continue on mainCreate a git commit with the below summary format if there is at least one dependency upgraded. Examples are provided below for patch and minor upgrades.
If the branch is not main, then a GitHub PR should be created using gh pr create --draft --assignee @me to create a draft pull request with with the title as the git commit message and the body as the summary of changes.
Open the Pull Request in the browser using gh pr view {id} -w.
{{git_commit_message}}
## Vulnerabilities
- [{{alert_id}}]({{full_link_to_alert}}) [{{cve_id}}]({{full_link_to_cve}}) {{alert_description}}
## Changelog
- {{package}}: [{{old_version}} -> {{new_version}}]({{link_to_changelog_or_diff}})
- {{summary_of_changes_from_changelog}}
## Code Changes
{{details_of_code_modifications_made}}
## Checks
{{list_of_checks_performed_after_upgrade}}
Patched {{package}} from {{old_version}} to {{new_version}}
## Vulnerabilities
- [#10](https://github.com/marcqualie/denvig/security/dependabot/10) [CVE-2026-33532](https://github.com/advisories/GHSA-48c2-rrv3-qjmp) yaml is vulnerable to Stack Overflow via deeply nested YAML collections
## Changelog
- yaml: [2.8.2 -> 2.8.3](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3)
- Add trailingComma ToString option for multiline flow formatting
- Catch stack overflow during node composition
## Code Changes
- No code changes needed
## Checks
- ✅ Checked changelogs for breaking changes
- ✅ Lint passes after upgrade
- ✅ All tests pass after upgrade
- ✅ Code modifications applied where necessary
tools
Use the denvig cli to upgrade your npm dependencies in the current project.
tools
Create a Pull Request using gh CLI
tools
Summarise then commit the changes in the current session.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.