/deps-audit
Audit project dependencies for vulnerabilities, outdated packages, license conflicts, and supply chain risks — then provide actionable remediation strategies.
$ npx -y skills add wshobson/agents --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/deps-audit
Context preview
What this command does when you run it.
Audit project dependencies for vulnerabilities, outdated packages, license conflicts, and supply chain risks — then provide actionable remediation strategies.
Command definition
deps-audit.mddescription: Audit project dependencies for vulnerabilities, outdated packages, license conflicts, and supply chain risks — then provide actionable remediation strategies.
Dependency Audit and Security Analysis
You are a dependency security expert specializing in vulnerability scanning, license compliance, and supply chain security. Analyze project dependencies for known vulnerabilities, licensing issues, outdated packages, and provide actionable remediation strategies.
Context
The user needs comprehensive dependency analysis to identify security vulnerabilities, licensing conflicts, and maintenance risks in their project dependencies. Focus on actionable insights with automated fixes where possible.
Requirements
$ARGUMENTS
Instructions
1. Dependency Discovery
Scan and inventory all project dependencies:
**Multi-Language Detection**
import os
import json
import toml
import yaml
from pathlib import Path
class DependencyDiscovery:
def __init__(self, project_path):
self.project_path = Path(project_path)
self.dependency_files = {
'npm': ['package.json', 'package-lock.json', 'yarn.lock'],
'python': ['requirements.txt', 'Pipfile', 'Pipfile.lock', 'pyproject.toml', 'poetry.lock'],
'ruby': ['Gemfile', 'Gemfile.lock'],
'java': ['pom.xml', 'build.gradle', 'build.gradle.kts'],
'go': ['go.mod', 'go.sum'],
'rust': ['Cargo.toml', 'Cargo.lock'],
'php': ['composer.json', 'composer.lock'],
'dotnet': ['*.csproj', 'packages.config', 'project.json']
}
def discover_all_dependencies(self):
"""
Discover all dependencies across different package managers
"""
dependencies = {}
# NPM/Yarn dependencies
if (self.project_path / 'package.json').exists():
dependencies['npm'] = self._parse_npm_dependencies()
# Python dependencies
if (self.project_path / 'requirements.txt').exists():
dependencies['python'] = self._parse_requirements_txt()
elif (self.project_path / 'Pipfile').exists():
dependencies['python'] = self._parse_pipfile()
elif (self.project_path / 'pyproject.toml').exists():
dependencies['python'] = self._parse_pyproject_toml()
# Go dependencies
if (self.project_path / 'go.mod').exists():
dependencies['go'] = self._parse_go_mod()
return dependencies
def _parse_npm_dependencies(self):
"""
Parse NPM package.json and lock files
"""
with open(self.project_path / 'package.json', 'r') as f:
package_json = json.load(f)
deps = {}
# Direct dependencies
for dep_type in ['dependencies', 'devDependencies', 'peerDependencies']:
if dep_type in package_json:
for name, version in package_json[dep_type].items():
deps[name] = {
'version': version,
'type': dep_type,
'direct': True
}
# Parse lock file for exact versions
if (self.project_path / 'package-lock.json').exists():
with open(self.project_path / 'package-lock.json', 'r') as f:
lock_data = json.load(f)
self._parse_npm_lock(lock_data, deps)
return deps**Dependency Tree Analysis**
def build_dependency_tree(dependencies):
"""
Build complete dependency tree including transitive dependencies
"""
tree = {
'root': {
'name': 'project',
'version': '1.0.0',
'dependencies': {}
}
}
def add_dependencies(node, deps, visited=None):
if visited is None:
visited = set()
for dep_name, dep_info in deps.items():
if dep_name in visited:
# Circular dependency detected
node['dependencies'][dep_name] = {
'circular': True,
'version': dep_info['version']
}
continue
visited.add(dep_name)
node['dependencies'][dep_name] = {
'version': dep_info['version'],
'type': dep_info.get('type', 'runtime'),
'dependencies': {}
}
# Recursively add transitive dependencies
if 'dependencies' in dep_info:
add_dependencies(
node['dependencies'][dep_name],
dep_info['dependencies'],
visited.copy()
)
add_dependencies(tree['root'], dependencies)
return tree2. Vulnerability Scanning
Check dependencies against vulnerability databases:
**CVE Database Check**
import requests
from datetime import datetime
class VulnerabilityScanner:
def __init__(self):
self.vulnerability_apis = {
'npm': 'https://registry.npmjs.org/-/npm/v1/security/advisories/bulk',
'pypi': 'https://pypi.org/pypi/{package}/json',
'rubygems': 'https://rubygems.org/api/v1/gems/{package}.json',
'maven': 'https://ossindex.sonatype.org/api/v3/component-report'
}
def scan_vulnerabilities(self, dependencies):
"""
Scan dependencies for known vulnerabilities
"""
vulnerabilities = []
for package_name, package_info in dependencies.items():
vulns = self._check_package_vulnerabilities(
package_name,
package_info['version'],
package_info.get('ecosystem', 'npm')
)
if vulns:
vulnerabilities.extend(vulns)
return self._analyze_vulnerabilities(vulnerabilities)
def _check_package_vulnerabilities(self, name, version, ecosystem):
"""
Check specific package for vulnRead more
description: Audit project dependencies for vulnerabilities, outdated packages, license conflicts, and supply chain risks — then provide actionable remediation strategies.
Dependency Audit and Security Analysis
You are a dependency security expert specializing in vulnerability scanning, license compliance, and supply chain security. Analyze project dependencies for known vulnerabilities, licensing issues, outdated packages, and provide actionable remediation strategies.
Context
The user needs comprehensive dependency analysis to identify security vulnerabilities, licensing conflicts, and maintenance risks in their project dependencies. Focus on actionable insights with automated fixes where possible.
Requirements
$ARGUMENTS
Instructions
1. Dependency Discovery
Scan and inventory all project dependencies:
**Multi-Language Detection**
import os
import json
import toml
import yaml
from pathlib import Path
class DependencyDiscovery:
def __init__(self, project_path):
self.project_path = Path(project_path)
self.dependency_files = {
'npm': ['package.json', 'package-lock.json', 'yarn.lock'],
'python': ['requirements.txt', 'Pipfile', 'Pipfile.lock', 'pyproject.toml', 'poetry.lock'],
'ruby': ['Gemfile', 'Gemfile.lock'],
'java': ['pom.xml', 'build.gradle', 'build.gradle.kts'],
'go': ['go.mod', 'go.sum'],
'rust': ['Cargo.toml', 'Cargo.lock'],
'php': ['composer.json', 'composer.lock'],
'dotnet': ['*.csproj', 'packages.config', 'project.json']
}
def discover_all_dependencies(self):
"""
Discover all dependencies across different package managers
"""
dependencies = {}
# NPM/Yarn dependencies
if (self.project_path / 'package.json').exists():
dependencies['npm'] = self._parse_npm_dependencies()
# Python dependencies
if (self.project_path / 'requirements.txt').exists():
dependencies['python'] = self._parse_requirements_txt()
elif (self.project_path / 'Pipfile').exists():
dependencies['python'] = self._parse_pipfile()
elif (self.project_path / 'pyproject.toml').exists():
dependencies['python'] = self._parse_pyproject_toml()
# Go dependencies
if (self.project_path / 'go.mod').exists():
dependencies['go'] = self._parse_go_mod()
return dependencies
def _parse_npm_dependencies(self):
"""
Parse NPM package.json and lock files
"""
with open(self.project_path / 'package.json', 'r') as f:
package_json = json.load(f)
deps = {}
# Direct dependencies
for dep_type in ['dependencies', 'devDependencies', 'peerDependencies']:
if dep_type in package_json:
for name, version in package_json[dep_type].items():
deps[name] = {
'version': version,
'type': dep_type,
'direct': True
}
# Parse lock file for exact versions
if (self.project_path / 'package-lock.json').exists():
with open(self.project_path / 'package-lock.json', 'r') as f:
lock_data = json.load(f)
self._parse_npm_lock(lock_data, deps)
return deps**Dependency Tree Analysis**
def build_dependency_tree(dependencies):
"""
Build complete dependency tree including transitive dependencies
"""
tree = {
'root': {
'name': 'project',
'version': '1.0.0',
'dependencies': {}
}
}
def add_dependencies(node, deps, visited=None):
if visited is None:
visited = set()
for dep_name, dep_info in deps.items():
if dep_name in visited:
# Circular dependency detected
node['dependencies'][dep_name] = {
'circular': True,
'version': dep_info['version']
}
continue
visited.add(dep_name)
node['dependencies'][dep_name] = {
'version': dep_info['version'],
'type': dep_info.get('type', 'runtime'),
'dependencies': {}
}
# Recursively add transitive dependencies
if 'dependencies' in dep_info:
add_dependencies(
node['dependencies'][dep_name],
dep_info['dependencies'],
visited.copy()
)
add_dependencies(tree['root'], dependencies)
return tree2. Vulnerability Scanning
Check dependencies against vulnerability databases:
**CVE Database Check**
import requests
from datetime import datetime
class VulnerabilityScanner:
def __init__(self):
self.vulnerability_apis = {
'npm': 'https://registry.npmjs.org/-/npm/v1/security/advisories/bulk',
'pypi': 'https://pypi.org/pypi/{package}/json',
'rubygems': 'https://rubygems.org/api/v1/gems/{package}.json',
'maven': 'https://ossindex.sonatype.org/api/v3/component-report'
}
def scan_vulnerabilities(self, dependencies):
"""
Scan dependencies for known vulnerabilities
"""
vulnerabilities = []
for package_name, package_info in dependencies.items():
vulns = self._check_package_vulnerabilities(
package_name,
package_info['version'],
package_info.get('ecosystem', 'npm')
)
if vulns:
vulnerabilities.extend(vulns)
return self._analyze_vulnerabilities(vulnerabilities)
def _check_package_vulnerabilities(self, name, version, ecosystem):
"""
Check specific package for vulnProduction-ready agentic workflow building blocks: 94 plugins, 203 agents, 175 skills, 109 commands — built for Claude Code and consumed natively by OpenAI Codex CLI, Cursor, OpenCode, Gemini CLI, and GitHub Copilot from a single Markdown source.
Repo: wshobson/agents
Other commands on wshobson-agents.
- /accessibility-audit
You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct comprehensive audits, identify barriers, provide remediation guidance, and ensure digital products are accessible to all users.
Open command - /improve-agent
Systematic improvement of existing agents through performance analysis, prompt engineering, and continuous iteration.
Open command - /multi-agent-optimize
The Multi-Agent Optimization Tool is an advanced AI-driven framework designed to holistically improve system performance through intelligent, coordinated agent-based optimization. Leveraging cutting-edge AI orchestration techniques, this tool provides a comprehensive approach to
Open command - /team-debug
Debug issues using competing hypotheses with parallel investigation by multiple agents
Open command - /team-delegate
Task delegation dashboard for managing team workload, assignments, and rebalancing
Open command - /team-feature
Develop features in parallel with multiple agents using file ownership boundaries and dependency management
Open command

