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

@dcentralab/skills

v0.1.28

Published

CLI for the SkillHub — OpenClaw skill registry. Search, install, publish, and manage skills.

Readme

@dcentralab/skills

CLI for the SkillHub — OpenClaw skill registry. Search, install, publish, and manage skills.

Quick Start

# No install needed — run directly via npx
npx @dcentralab/skills <command>

# Or use the test channel
npx @dcentralab/skills@test <command>

Authentication happens automatically — when a command needs auth, your browser opens for wallet sign-in (SIWE). If the browser doesn't open, a URL is printed to visit manually. Sessions last 5 minutes.

Commands

search

Search the registry for skills. Omit the query to list all skills.

npx @dcentralab/skills search                     # List all skills
npx @dcentralab/skills search "wallet"
npx @dcentralab/skills search "wallet" --verified
npx @dcentralab/skills search "defi" --tags swap,bridge
npx @dcentralab/skills search "mcp" --payment d402

| Option | Description | |--------|-------------| | --tags <tags> | Filter by tags (comma-separated) | | --verified | Only show verified skills | | --payment <type> | Filter by payment protocol |

When --verified is used, a header indicates filtering is active. Unverified skills are labeled (unverified) in all results.

install

Install one or more skills from the registry. Duplicate slugs are automatically deduplicated. Already-installed skills at the same version are skipped.

npx @dcentralab/skills install <slug>
npx @dcentralab/skills install d402-mcp-creator
npx @dcentralab/skills install [email protected]
npx @dcentralab/skills install skill-a skill-b          # Install multiple
npx @dcentralab/skills install d402-mcp-creator --dir ./skills

| Option | Description | |--------|-------------| | --dir <path> | Install to a custom directory instead of ~/.openclaw/skills/ |

Respects OPENCLAW_STATE_DIR env var — if set, installs to $OPENCLAW_STATE_DIR/skills/.

Skill directory names are sanitized (lowercase, spaces replaced with hyphens) to avoid filesystem issues.

list

List all locally installed skills with their versions.

npx @dcentralab/skills list

Reads from the lockfile (skills.lock) in the managed skills directory.

info

Show detailed information about a skill from the registry.

npx @dcentralab/skills info <slug>
npx @dcentralab/skills info rsi-signal

Displays: name, description, verified status, latest version, download count, author, category, tags, and version history.

publish

Publish a skill directory to the registry. Reads metadata from SKILL.md frontmatter and prompts for any missing fields.

npx @dcentralab/skills publish ./my-skill/
npx @dcentralab/skills publish ./my-skill/ --skill-version 2.0.0
npx @dcentralab/skills publish ./my-skill/ --changelog "Added streaming support"
npx @dcentralab/skills publish ./my-skill/ --category "execution" --tags "defi,swap"
npx @dcentralab/skills publish ./my-skill/ --env-vars "COINGECKO_API_KEY,ETHERSCAN_KEY"

| Option | Description | |--------|-------------| | --skill-version <version> | Version to publish (skips prompt) | | --name <name> | Skill name/slug (skips prompt) | | --description <text> | Override description | | --category <categories> | Comma-separated categories (see below) | | --tags <tags> | Comma-separated tags | | --tools <tools> | Comma-separated tools | | --hooks <hooks> | Comma-separated hooks | | --payment-protocol <protocol> | Payment protocol | | --env-vars <vars> | Comma-separated required env var names (see below) | | --changelog <text> | Changelog for this version |

Required fields (name, description, category) are prompted interactively if not provided via flags or SKILL.md.

Categories

Each skill must have at least one category. Valid categories:

| Category | Description | |----------|-------------| | data | Fetches or provides market/on-chain data | | strategy | Implements trading strategies or decision logic | | execution | Executes on-chain transactions (swaps, lending, etc.) |

Environment Variables

Skills that require API keys or secrets should declare them via --env-vars or in SKILL.md frontmatter. This tells the platform which env vars the user needs to configure before the skill can run.

npx @dcentralab/skills publish . --env-vars "COINGECKO_API_KEY,ETHERSCAN_KEY"

Resolution priority:

  1. --env-vars flag (highest — user-specified override)
  2. envVars field in SKILL.md YAML frontmatter
  3. Auto-detected from SKILL.md body (scans for process.env.VAR, export VAR=, `VAR_KEY` patterns)

The directory must contain a SKILL.md with YAML frontmatter:

---
name: my-skill
description: What the skill does
version: 1.0.0
category: [execution]
tags: [defi, swap]
envVars: [COINGECKO_API_KEY]
---

# My Skill

Skill instructions for the agent...

If republishing, the CLI checks the registry for the latest version and suggests a patch bump.

update

Check for and apply skill updates. With --yes, outdated skills are automatically downloaded and installed.

npx @dcentralab/skills update                      # Check all installed skills
npx @dcentralab/skills update my-skill              # Check a specific skill
npx @dcentralab/skills update --all                 # Check all, show available updates
npx @dcentralab/skills update --all --yes           # Auto-update all outdated skills
npx @dcentralab/skills update my-skill --yes        # Auto-update a specific skill

| Option | Description | |--------|-------------| | --all | Update all installed skills | | --yes | Apply updates without prompting |

login

Manually authenticate (usually not needed — commands auto-trigger login).

npx @dcentralab/skills login

transfer

Transfer skill ownership to another wallet address.

npx @dcentralab/skills transfer <slug> <address>

publishers

Manage who can publish versions of a skill.

npx @dcentralab/skills publishers add <slug> <address>
npx @dcentralab/skills publishers remove <slug> <address>

Environment Variables

| Variable | Description | |----------|-------------| | SKILLHUB_REGISTRY | Override the default registry URL | | OPENCLAW_STATE_DIR | Override OpenClaw state directory (affects install path) | | SKILLHUB_BROWSER | Browser to open for login (e.g. "Firefox") |

Credentials

Stored at ~/.skills/credentials.json with a 5-minute TTL. To clear manually:

rm ~/.skills/credentials.json