npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

skill-versions

v1.0.0

Published

Freshness checker for Agent Skills — like npm outdated for skill knowledge

Readme

skill-versions

Freshness checker for Agent Skills — like npm outdated for skill knowledge.

Skills that reference versioned products (via product-version in frontmatter) can drift as upstream packages ship new releases. skill-versions detects this drift and reports which skills need updating.

Install

npm install -g skill-versions

Or run directly:

npx skill-versions check

Quick Start

1. Initialize a registry

Scan your skills directory and map products to npm packages:

# Interactive — prompts for each mapping
skill-versions init ./skills

# Non-interactive — auto-detects common packages
skill-versions init ./skills --yes

This creates a skill-versions.json registry file.

2. Check for staleness

skill-versions check
skill-versions
==================================================

STALE (2):
  Vercel AI SDK            6.0.105 → 6.1.0 (minor)
    skills: ai-sdk-core, ai-sdk-tools, ai-sdk-react

  Payload CMS              3.78.0 → 3.80.0 (minor)
    skills: payload-core, payload-data, payload-admin

CURRENT (15): upstash-redis, next, turbo, ...

Run "skill-versions report --format markdown" for a full report.

3. Generate a report

# Markdown (for PRs, issues, dashboards)
skill-versions report --format markdown > STALENESS.md

# JSON (for automation)
skill-versions report --format json

4. AI-assisted refresh

Use an LLM to propose targeted updates to stale skill files:

# Interactive — review each change
skill-versions refresh ./skills

# Auto-apply all changes
skill-versions refresh -y

# Preview only (no writes)
skill-versions refresh --dry-run

Requires a provider SDK and API key:

# Anthropic (Claude)
npm install @ai-sdk/anthropic
export ANTHROPIC_API_KEY=sk-...

# OpenAI
npm install @ai-sdk/openai
export OPENAI_API_KEY=sk-...

# Google (Gemini)
npm install @ai-sdk/google
export GOOGLE_GENERATIVE_AI_API_KEY=...

CLI Reference

skill-versions init [dir]

Scan a skills directory and generate a skill-versions.json registry.

| Flag | Description | |------|-------------| | -y, --yes | Non-interactive mode, auto-detect package mappings | | -o, --output <path> | Output path for registry file |

skill-versions check

Check skill versions against the npm registry.

| Flag | Description | |------|-------------| | -r, --registry <path> | Path to registry file (default: ./skill-versions.json) | | -p, --product <name> | Check a single product | | --json | Machine-readable JSON output | | -v, --verbose | Show all products including current | | --ci | Exit code 1 if any stale products found |

skill-versions report

Generate a full staleness report.

| Flag | Description | |------|-------------| | -r, --registry <path> | Path to registry file | | -f, --format <type> | Output format: json or markdown (default: markdown) |

skill-versions refresh [skills-dir]

Use an LLM to propose targeted updates to stale skill files.

| Flag | Description | |------|-------------| | -r, --registry <path> | Path to registry file | | -p, --product <name> | Refresh a single product | | --provider <name> | LLM provider: anthropic, openai, google | | --model <id> | Specific model ID (e.g. claude-sonnet-4-20250514) | | -y, --yes | Auto-apply without confirmation | | --dry-run | Show proposed changes, write nothing |

Exit Codes

| Code | Meaning | |------|---------| | 0 | All products current | | 1 | Stale products found (with --ci flag) | | 2 | Configuration error (missing registry, bad format) |

Registry Format

The skill-versions.json file maps products to npm packages:

{
  "$schema": "https://skill-versions.com/schema.json",
  "version": 1,
  "products": {
    "ai-sdk": {
      "displayName": "Vercel AI SDK",
      "package": "ai",
      "verifiedVersion": "6.0.105",
      "verifiedAt": "2026-02-28T00:00:00Z",
      "changelog": "https://github.com/vercel/ai/releases",
      "skills": ["ai-sdk-core", "ai-sdk-tools", "ai-sdk-react"],
      "agents": ["ai-sdk-engineer"]
    }
  }
}

CI Integration

# GitHub Actions — fail if any skills are stale
- name: Check skill freshness
  run: npx skill-versions check --ci

A reusable GitHub Action is also available with automated issue creation and weekly cron support.

Skill Frontmatter

Skills declare their product version in YAML frontmatter:

---
name: ai-sdk-core
product-version: "6.0.105"
---

The init command reads this field and groups skills by shared version + name prefix.

License

MIT