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

getskillet

v1.0.0

Published

Portable CLI for managing agent skills.

Readme

Skillet

Portable CLI for managing agent skills.

Skillet installs, discovers, and updates SKILL.md-based skills across Claude Code, Codex, OpenCode, Cursor, and Windsurf.

Why Skillet

  • Manifest-driven — declare your skills in apm.yml and sklt install reproduces the tree on any machine.
  • OpenAPM-compatibleapm.yml conforms to the OpenAPM v0.1 spec, with a focused skills-only profile.
  • OCI-native — publish and consume skills as signed oci:// artifacts. Air-gapped, provenance-friendly, enterprise-ready.
  • Single static binary — no Python runtime, no Node dependency for native installs. Drops into CI runners, Docker images, and locked-down endpoints.
  • Symlink-first — edit a skill in your repo, see it live in the agent immediately. No reinstall dance.

Install

# npm / npx (any platform with Node 20+)
npm i -g getskillet
npx getskillet --help

# macOS / Linux (Homebrew)
brew install echohello-dev/tap/sklt

# Windows (winget)
winget install echohello-dev.sklt

# Container
docker run --rm ghcr.io/echohello-dev/skillet --help

# Static binary — download from GitHub Releases
# https://github.com/echohello-dev/skillet/releases

All install methods ship the same sklt binary. See docs/getting-started.md for the full install matrix and per-platform notes.

Quick start

# Scaffold an apm.yml in your project
mkdir my-agent-skills && cd my-agent-skills
sklt init

# Add a skill from any supported source
sklt add anthropics/skills

# Or declare everything up front and install in one shot
echo 'dependencies:
  apm:
    - anthropics/skills/skills/frontend-design
    - oci://ghcr.io/your-org/team-skills:v1' >> apm.yml
sklt install

# Verify what's on disk
sklt find

See docs/usage.md for the full command reference, manifest schema, and source format guide.

Commands

| Command | Description | | --- | --- | | sklt find [query] | Search discovered local skills | | sklt init [dir] | Scaffold a SKILL.md | | sklt add <source> | Install skills from a source | | sklt install | Install every dependency in apm.yml | | sklt check | (in progress) Detect upstream changes | | sklt update | (in progress) Refresh refs and reinstall | | sklt generate-lock | Regenerate skillet.lock.yaml from disk |

Run sklt --help for the full list.

Source formats

Skillet resolves any of these as a sklt add or apm.yml source:

  • Gitowner/repo, owner/repo#v1.0.0, full https:// or git@ URLs
  • OCIoci://registry/repository:tag or oci://registry/repository@sha256:<digest>
  • HTTP archive.zip, .tar.gz, .tgz (with traversal and size safety checks)
  • Local./path, ../path, /abs/path

See docs/usage.md#source-formats for details.

Supported agents

| Agent | Project scope | Global scope | | --- | --- | --- | | Claude Code | .claude/skills | ~/.claude/skills | | Codex | .codex/skills | ~/.codex/skills | | OpenCode | .opencode/skills | ~/.opencode/skills | | Cursor | .cursor/skills | ~/.cursor/skills | | Windsurf | .windsurf/skills | ~/.windsurf/skills |

APM target: and targets: values map to these names. Unknown targets (e.g. gemini, kiro, copilot) are silently ignored — Skillet is skills-only.

OCI artifact spec

oci:// artifacts must use:

  • Artifact type: application/vnd.skillet.skill.v1+tar
  • At least one tar layer containing a single skill directory with SKILL.md
  • Safe extraction — no path traversal

Tag-based refs are resolved to a manifest digest and recorded in skillet.lock.yaml for reproducibility.

Publishing example (conceptual):

tar -cf skill.tar <skill-dir>
oras push ghcr.io/<org>/<skill>:v1 \
  --artifact-type application/vnd.skillet.skill.v1+tar \
  skill.tar:application/vnd.oci.image.layer.v1.tar

Development

mise run install     # install dependencies
mise run test        # run vitest
mise run ci          # test + npm publish dry-run
mise run dev -- --help

Project conventions live in AGENTS.md. Architecture decisions are in docs/adr/.

Documentation

Distribution channels: