Agent Native

secure-dependency-health-check

This skill evaluates open-source packages for vulnerability status, maintenance health, popularity, and community activity using the Snyk package health API.

by SnykOfficial publisher

Identity proven by GitHub's verified organisation badge (snyk)

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
Apache-2.0 (permissive)
Pin
691f03cpinned Oct 9, 2026
Context cost
about 1,400 tokenswhen the skill loads
GitHub stars
66on snyk/studio-recipes
Scripts
None found

What it does

“Helps choose secure, healthy open-source packages by evaluating vulnerability status, maintenance health, popularity, community, and security posture. Use this skill when: - Agent needs to import a new dependency - User asks "which package should I use for X?" - User wants to compare packages (A vs B) - User asks "is this package safe?" - User asks for a "secure alternative" to a package - User mentions "dependency health", "package chooser", or "package security"”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill evaluates open-source packages for vulnerability status, maintenance health, popularity, and community activity using the Snyk package health API. It helps agents recommend the most suitable package when users ask for dependency suggestions, comparisons, or security assessments across npm, pypi, maven, nuget, and golang ecosystems.

When to use it

  • User asks which package to use for a specific task
  • Choosing between multiple candidate packages
  • Evaluating if a package is safe to use
  • User requests a secure alternative to current dependency

When not to

  • Snyk MCP server is not available or not authenticated
  • Evaluating packages in unsupported language ecosystems
  • Package already installed and in use

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add snyk/studio-recipes --skill secure-dependency-health-check

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install snyk/studio-recipes secure-dependency-health-check@691f03ce1b74d16514686601d4cb1b033a492518

Installs the commit we checked (691f03c).

Copy by hand

Download the folder at 691f03c and put it in .claude/skills/secure-dependency-health-check for Claude Code and in .agents/skills/secure-dependency-health-check for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 691f03c

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "secure-dependency-health-check" by Snyk.

Source, pinned to commit 691f03ce1b74d16514686601d4cb1b033a492518:
https://github.com/snyk/studio-recipes/tree/691f03ce1b74d16514686601d4cb1b033a492518/command_directives/synchronous_remediation/skills/secure-dependency-health-check

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/secure-dependency-health-check/ for Claude Code and .agents/skills/secure-dependency-health-check/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/snyk/secure-dependency-health-check

SKILL.md at the pin

---
name: secure-dependency-health-check
description: |
  Helps choose secure, healthy open-source packages by evaluating vulnerability status, maintenance 
  health, popularity, community, and security posture. Use this skill when:
  - Agent needs to import a new dependency
  - User asks "which package should I use for X?"
  - User wants to compare packages (A vs B)
  - User asks "is this package safe?"
  - User asks for a "secure alternative" to a package
  - User mentions "dependency health", "package chooser", or "package security"
allowed-tools: "mcp_snyk_snyk_package_health_check Read Write Bash Grep"
license: Apache-2.0
compatibility: |
  Requires Snyk MCP server connection and authenticated Snyk account.
  Supported ecosystems: npm, pypi, maven, nuget, golang.
metadata:
  author: Snyk
  version: 1.1.0
---

# Secure Dependency Health Check

Help developers and AI agents make informed decisions when selecting open-source packages by evaluating security health, vulnerability history, popularity, community, and maintenance status.

**Core Principle**: Choose dependencies wisely to minimize supply chain risk.

---

## Quick Start

When asked to recommend a package:
1. Identify the functional requirement
2. Research candidate packages
3. Run `snyk_package_health_check` on each candidate
4. Compare and recommend the healthiest, most secure option

---

## Phase 1: Understand Requirements

**Goal**: Clarify what the user needs before recommending packages.

### Step 1.1: Identify Candidates

If user provided candidates:
- Note each package name and version (if specified)
- Identify the package ecosystem

If user needs suggestions:
- Search for packages that meet the functional requirement
- Select 2-4 top candidates based on popularity/relevance

---

## Phase 2: Security & Health Analysis

**Goal**: Evaluate each candidate package's security posture and overall health.

### Step 2.1: Run Package Health Check for Each Candidate

For each candidate package, run `snyk_package_health_check` with the package name, version, and ecosystem (`npm`, `pypi`, `maven`, `nuget`, or `golang`). Key fields returned:
- **`overall_rating`**: "Healthy" or "Review recommended" — use as the primary evaluation metric
- **`security`**: vulnerability counts by severity (critical/high/medium/low) and a security rating
- **`maintenance`**: lifecycle status, latest release date, `is_archived` flag, and a maintenance rating ("Healthy", "Sustainable", or "Inactive")
- **`popularity`**: download counts, dependent packages/repos, and a popularity rating
- **`community`**: stargazers count, community file presence, and a rating ("Active" or "Sustainable")
- **`latest_version`**: the most recent published version
- **`recommendation`**: a human-readable summary of the overall assessment

### Step 2.2: Review Tool Results

Surface the following from the tool response for comparison:
- Overall rating ("Healthy" vs "Review recommended")
- Security rating and vulnerability breakdown by severity
- Maintenance rating and lifecycle status (check `is_archived`, `latest_release_published_at`)
- Popularity and community ratings

### Step 2.3: Disqualifiers

**Immediately disqualify packages regardless of overall rating if**:
- Security issues found with critical or high severity vulnerabilities
- Maintenance rating is "Inactive" or package is archived (`is_archived: true`)
- No releases in 3+ years (check `latest_release_published_at`)
- Known malicious package (supply chain attack)
- Typosquatting indicators (similar name to popular package)

---

## Phase 3: Generate Recommendation

**Goal**: Present a clear, actionable comparison.

### Step 3.1: Comparison Table

```
## Package Comparison: [Use Case]

| Criteria | Package A | Package B | Package C |
|----------|-----------|-----------|-----------|
| **Overall Rating** | Healthy | Review recommended | Healthy |
| **Security Rating** | Security issues found | Security issues found | No known security issues |
| **Critical CVEs** | 0 | 1 | 0 |
| **High CVEs** | 1 | 2 | 0 |
| **Maintenance** | Healthy | Inactive | Healthy |
| **Last Release** | 2 weeks ago | 8 months ago | 1 month ago |
| **Downloads** | 500K | 2M | 300K |
| **Popularity** | Influential project | Influential project | Influential project |

### Recommendation: **Package C**

**Reasons**:
1. "Healthy" overall rating with no known security issues
2. Healthy maintenance rating - actively maintained with recent release
3. Fewest vulnerabilities across all severity levels

**Trade-offs**:
- Fewer downloads than Package B (less battle-tested)
- Consider if specific features of Package A/B are required

**Recommended version**: Use the `latest_version` from the tool response to pin an exact version.
```

### Step 3.2: Alternative Scenarios

If no package meets the security threshold:

```
## Warning: No Secure Option Available

All evaluated packages have significant security concerns:
- Package A: 2 Critical CVEs (actively exploited)
- Package B: Abandoned - no updates in 3 years
- Package C: Multiple high-severity vulnerabilities with no fix available

### Alternatives:
1. **Implement in-house**: For simple functionality
2. **Fork and fix**: If one package is close but has fixable issues
3. **Wait**: If updates are expected soon
4. **Accept risk**: With documented justification and monitoring
```

---

## Phase 4: Integration Guidance

**Goal**: Help the user safely add the recommended package.

### Step 4.1: Post-Installation Scan

Recommend running `snyk_sca_scan` after installation to verify the full dependency tree doesn't introduce unexpected vulnerabilities.

### Step 4.2: Monitoring Recommendation

Advise committing lock files, enabling vulnerability notifications, and checking for security updates regularly.

---

## Error Handling

### Package Not Found
- Verify package name and ecosystem
- Check for typos
- Search for alternative names

### Scan Fails or Insufficient Data
- The tool may return "Snyk doesn't have sufficient information about this package" for some packages
- Retry once; if still no data, fall back to manual research
- Report partial results with disclaimer that the tool could not assess this package

### No Candidates Meet Threshold
- Report why each failed
- Suggest alternatives (in-house, fork, wait)
- Document risk if user proceeds anyway

---

## Constraints

1. **Never recommend packages with known exploits**
2. **Always specify exact version** in recommendations
3. **Disclose limitations** if full analysis isn't possible
4. **Update recommendations** if user provides new constraints

From snyk/studio-recipes at 691f03c, shown as plain text under its license: Apache-2.0 (permissive). The license text is in command_directives/synchronous_remediation/skills/secure-dependency-health-check/SKILL.md.

View SKILL.md on GitHub at 691f03c

Files

3 files, 15 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 691f03c
All 34 skills from Snyk

More from Snyk

  • algorithmic-art

    This skill generates algorithmic art using p5.js by first creating a computational philosophy describing the generative aesthetic, then implementing it as an…

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 4.8K tokens · pinned 7 days ago

  • brand-guidelines

    This skill applies Anthropic's official brand identity to artifacts by setting specific colors, typography, and design standards.

    Claude Code, Codex, Cursor +4 · about 480 tokens · pinned 7 days ago

  • canary-project-skill

    This is a test fixture skill used by the canary testing system to verify that the agent-scan inspect command properly detects project-scoped skills located in…

    Claude Code, Codex, Cursor +4 · about 45 tokens · pinned 7 days ago

  • canvas-design

    This skill helps agents create visual art and design work as PNG or PDF files by first developing a design philosophy or aesthetic movement, then expressing…

    Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 7 days ago

  • doc-coauthoring

    This skill guides users through a structured three-stage workflow for co-authoring documentation, proposals, specs, and similar structured content.

    Claude Code, Codex, Cursor +4 · about 3.8K tokens · pinned 7 days ago

  • docx

    This skill enables the agent to create, edit, and analyze Word documents (.docx files) with support for tracked changes, comments, and formatting preservation.

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 2.4K tokens · pinned 7 days ago

All Security skills
  • claude-security

    Scans your repository for security issues using Claude, examines code changes or commits for vulnerabilities, and generates patch files to fix findings.

    by AnthropicOfficial publisher

    Claude Code · about 1K tokens · pinned 7 days ago

  • sensitive-logging-audit

    The skill helps audit and fix sensitive data leaks in Python SDK logging, exceptions, and telemetry by collecting candidate sinks, manually tracing values…

    by OpenAIOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 970 tokens · pinned 7 days ago

  • security-audit

    This skill guides security audits of codebases, APIs, and services by finding vulnerabilities that cross real trust boundaries.

    by CloudflareOfficial publisher

    Contains scripts

    Claude Code · about 5.4K tokens · pinned 7 days ago

  • assess-patch-risk

    This skill analyzes patch artifacts to assess their program impact, regression risk, and suitability for automated merging.

    by OpenAIOfficial publisher

    Codex · about 2.3K tokens · pinned 7 days ago

  • attack-path-analysis

    This skill analyzes security findings to build explicit attack paths from source to sink, calibrates severity, and decides whether each finding is reportable.

    by OpenAIOfficial publisher

    Codex · about 2.1K tokens · pinned 7 days ago

  • deep-security-scan

    Performs exhaustive, multi-pass security analysis across a repository or scoped directory by running repeated independent security scans and aggregating…

    by OpenAIOfficial publisher

    Codex · about 3.4K tokens · pinned 7 days ago

Open roles at Snyk

1 open role on the jobs board

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use