@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 listReads 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-signalDisplays: 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:
--env-varsflag (highest — user-specified override)envVarsfield in SKILL.md YAML frontmatter- 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 logintransfer
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