- name
- dependency-guard
- version
- 1.0.1
- description
- Use when a task adds, upgrades, removes, or reviews software dependencies and the agent should apply a Socket-based supply-chain guardrail before changing manifests or lockfiles. Prefer MCP
depscorewhen available, otherwise use the bundled Socket CLI helper. Stop and recommend an alternative or human review when risk signals are weak. - metadata
- {"openclaw":{"emoji":"🛡️","requires":{"bins":["socket"]}}}
Dependency Guard
Use this skill when dependency changes are in scope for npm, pnpm, yarn, Python packages, or other package ecosystems supported by Socket.
Prerequisites
- The
socketCLI must be installed and onPATH(npm install -g socket). - Authentication is required for CLI-based reviews. See the Authentication section below.
Workflow
- Confirm the exact dependency change being proposed.
- Check whether the feature can be implemented with the standard library or an existing project dependency.
- Prefer MCP
depscoreif the host agent exposes it. - Otherwise run
scripts/check_dependency.sh <ecosystem> <package> [version]. - Apply the policy in
references/policy.md. - Apply the decision rules in
references/decision-matrix.md. - Before making the change, report:
- why the package is needed - whether an existing alternative exists - what Socket reported - whether install scripts, risky capabilities, or transitive risk are present
- If the decision is
allow_with_warning, present the warning clearly before making the change. If the decision isblock_pending_human_revieworblock, stop and propose either:
- a safer dependency - a no-dependency implementation - explicit human review
Authentication
Three authentication paths are supported, in order of preference:
- MCP
depscore— no local credentials needed; works through the host agent's MCP connection. socket login— interactive CLI login; stores auth locally.
- If your CLI supports it, pressing Enter at the token prompt uses limited public access. - To use a private token, paste it at the prompt instead.
SOCKET_SECURITY_API_TOKENenv var — set this for CI or headless environments.
Security: Never paste private tokens into agent prompts. Use the env var or socket login instead.CI note: GitHub Actions workflows useSOCKET_SECURITY_API_KEY(a separate GitHub-integration key), notSOCKET_SECURITY_API_TOKEN. Seeexamples/github/dependency-guard.yml.
Reporting Contract
Use the short response template in references/examples.md when presenting the package review to the user.
References
- Read
references/policy.mdfor the canonical guardrail. - Read
references/decision-matrix.mdfor allow/block criteria. - Read
references/examples.mdfor user-facing review examples.
Notes
- Keep
SKILL.mdlean; do not duplicate the full policy here. - OpenClaw and ClawHub expect
metadatato be a single-line JSON object in frontmatter, so keep the OpenClaw metadata compact. - The
versionfield in frontmatter is the single source of truth; usepublish_clawhub.sh --bump patch|minor|majorto auto-increment. - Do not assume system-wide wrapper enforcement or shell-completion setup is desirable; keep CLI setup minimal.
- If Socket tooling is unavailable, require human review before adding the dependency.
- Review manifest and lockfile changes together.