Skip to main content

CLI Reference

The Skillsmith CLI (skillsmith or sklx) provides commands for skill discovery, installation, and management.

Installation

# Global installation
npm install -g @skillsmith/cli

# Or use npx for one-off commands
npx @skillsmith/cli <command>

Core Commands

search

Search for skills in the Skillsmith registry.

skillsmith search <query> [options]

# Examples
skillsmith search testing
skillsmith search git --tier verified
skillsmith search --category devops --limit 20

Options

OptionDescriptionDefault
--tierFilter by trust tier (official, verified, curated, community, unverified)all
--categoryFilter by categoryall
--min-scoreMinimum quality score (0-100)0
--limitMaximum number of results10
--jsonOutput results as JSONfalse

install

Install a skill from the registry or a GitHub URL to ~/.claude/skills/.

skillsmith install <author/name> [options]

# Examples
skillsmith install community/jest-helper
skillsmith install anthropic/official-skill --force
skillsmith install https://github.com/owner/repo
skillsmith install community/git-commit --quiet --json

The skill ID must be in author/name format or a full GitHub URL. Bare names (e.g., jest-helper) are not accepted — always include the author prefix.

Options

OptionDescriptionDefault
-f, --forceForce reinstall if already installedfalse
--skip-scanSkip security scan (not recommended)false
--skip-optimizeSkip Skillsmith optimization (decomposition, subagent generation)false
-q, --quietSuppress advisory output (security-critical warnings still print)false
--jsonOutput structured JSON resultfalse
-d, --db <path>Database file path~/.skillsmith/skills.db

remove

Remove an installed skill. Uses the manifest at ~/.skillsmith/manifest.json for clean removal (directory + manifest entry + dependency records). Falls back to direct removal for orphan skills that exist on disk but are not in the manifest.

skillsmith remove <skill-name> [options]

# Examples
skillsmith remove jest-helper
skillsmith remove git-commit --force

# Aliases
skillsmith rm jest-helper
skillsmith uninstall jest-helper

Options

OptionDescriptionDefault
-f, --forceSkip confirmation prompt and force removal of modified or orphan skillsfalse
-d, --db <path>Database file path~/.skillsmith/skills.db

setup

Set up the bundled /skillsmith slash command skill. This copies the built-in skill to ~/.claude/skills/skillsmith/ so you can use /skillsmith in Claude Code sessions. Previously named install-skill (deprecated alias still works).

skillsmith setup [options]

# Reinstall
skillsmith setup --force

Options

OptionDescriptionDefault
-f, --forceReinstall even if already installedfalse

info

Get detailed information about a skill.

skillsmith info <skill-id>

# Examples
skillsmith info jest-helper
skillsmith info community/git-commit --json

list

List installed skills.

skillsmith list [options]

# Examples
skillsmith list
skillsmith list --json
skillsmith list --path ~/custom/skills

compare

Compare multiple skills side-by-side.

skillsmith compare <skill-id> <skill-id> [...]

# Examples
skillsmith compare jest-helper vitest-helper
skillsmith compare skill-a skill-b skill-c --json

recommend

Get personalized skill recommendations.

skillsmith recommend [options]

# Examples
skillsmith recommend
skillsmith recommend --context react
skillsmith recommend --analyze ./package.json

Options

OptionDescription
--contextTechnology context (react, node, python, etc.)
--analyzeAnalyze a file for context
--limitMaximum recommendations

Management Commands

create

Scaffold a new agent skill with templates.

skillsmith create <name> [options]

# Examples
skillsmith create my-skill
skillsmith create my-skill --template subagent

diff

Compare an installed skill version with the latest available version.

skillsmith diff <skill-id>

# Examples
skillsmith diff community/jest-helper
skillsmith diff community/git-commit --json

pin

Pin a skill to its current installed version, preventing automatic updates.

skillsmith pin <skill-id>

# Examples
skillsmith pin community/jest-helper

unpin

Remove a version pin, allowing the skill to receive updates again.

skillsmith unpin <skill-id>

# Examples
skillsmith unpin community/jest-helper

audit

audit advisories

Check installed skills against known security advisories (Team+ tier). Use --fix to attempt updating skills with available patches.

skillsmith audit advisories
skillsmith audit advisories --json
skillsmith audit advisories --fix

audit collisions

Audit installed skills for namespace collisions — duplicate tool names that could cause invocation conflicts (Community+). Runs interactively by default; use --json for machine-readable output.

skillsmith audit collisions
skillsmith audit collisions --deep
skillsmith audit collisions --json
skillsmith audit collisions --report-only
OptionDescription
--deepEnable semantic-overlap detector pass
--jsonEmit JSON; bypasses prompts and file mutation
--apply-allAccept every suggestion (requires typing APPLY ALL)
--report-onlyWrite report without interactive prompts
--reset-ledgerClear namespace-override ledger (requires typing RESET LEDGER)

config

Get or set Skillsmith configuration values in ~/.skillsmith/config.json.

config get

Print the resolved value of a configuration key.

skillsmith config get audit_mode

config set

Write a configuration value. Tier-revalidated on write — community and individual users cannot select power_user or governance.

skillsmith config set audit_mode preventative
skillsmith config set audit_mode power_user   # team/enterprise
skillsmith config set audit_mode governance   # enterprise only
skillsmith config set audit_mode off

Author Commands

Commands for skill authoring and development.

author subagent

Generate a companion subagent for a skill.

skillsmith author subagent <skill-path> [options]

# Examples
skillsmith author subagent ./my-skill
skillsmith author subagent ./my-skill --output ./agents

Options

OptionDescription
--output, -oOutput directory for generated subagent
--toolsOverride detected tools (comma-separated)
--modelModel to use (sonnet, opus, haiku)
--skip-claude-mdSkip CLAUDE.md delegation snippet

author transform

Transform an existing skill to add subagent support.

skillsmith author transform <skill-path> [options]

# Examples
skillsmith author transform ./my-skill
skillsmith author transform ./skills --batch --dry-run

Options

OptionDescription
--dry-runPreview changes without writing
--batchProcess multiple skills in directory
--toolsOverride detected tools
--modelModel to use

validate

Validate a skill's structure and metadata.

skillsmith validate <skill-path>

# Examples
skillsmith validate ./my-skill
skillsmith validate ~/.claude/skills/jest-helper

Global Options

OptionDescription
--versionShow CLI version
--helpShow help for command
--verboseEnable verbose output
--quietSuppress non-essential output

Configuration

The CLI can be configured via environment variables or a config file at ~/.skillsmithrc:

# ~/.skillsmithrc
{
  "defaultTier": "community",
  "installPath": "~/.claude/skills",
  "registry": "https://registry.skillsmith.dev"
}

Environment Variables

VariableDescription
SKILLSMITH_REGISTRYCustom registry URL
SKILLSMITH_INSTALL_PATHDefault installation path
SKILLSMITH_API_KEYAPI key for authenticated requests

Lifecycle Tutorials

The CLI is the universal Skillsmith surface — every lifecycle stage has a CLI path. The lifecycle tutorials walk through each stage end-to-end:

  • Discoverskillsmith search, skillsmith recommend, filtering by trust tier
  • Evaluateskillsmith info, skillsmith diff, reading trust badges
  • Install & useskillsmith install + invoking the skill in your runtime
  • Maintainskillsmith update, skillsmith pin, skillsmith audit collisions, audit modes
  • Authorskillsmith author init/validate/publish/subagent/transform/mcp-init
  • Governskillsmith audit advisories and the audit-mode tier gates
  • Retireskillsmith remove

Troubleshooting

Common Issues

Permission Denied

If you see permission errors when installing globally, try usingnpx @skillsmith/cli instead, or fix npm permissions.

Skill Not Found

Ensure you're using the correct skill ID format (author/name). Use skillsmith search to find available skills.