Complete reference for all rolecraft commands, flags, and options.
Node.js API: rolecraft also exposes a programmatic API. See
src/index.jsorimport { ... } from 'rolecraft'. All API functions return plain objects with no side-effects.
| Command | Description |
|---|---|
init [name] |
Scaffold a new SKILL.md (--template, --list) |
install <source> |
Install a skill with security scan |
bundle <sources...> |
Install multiple skills from inline sources |
bundle create [name] |
Create a new bundle JSON file |
use <source> |
Preview a skill's files without installing |
list |
Show all installed skills |
remove <slug> |
Uninstall a skill |
update <slug> |
Re-install a skill to latest version |
rollback <slug> |
Restore a skill to previous version (from backup history) |
setup [source] |
Detect agents and optionally install a skill |
search <query> |
Search GitHub for skills (--skills-sh for skills.sh) |
check |
Check for available updates |
ci |
Re-install all skills from lockfile (CI mode) |
verify |
Check installed skill integrity via content hash |
doctor |
Run system health check |
watch [slug] |
Watch skills for changes and auto-sync |
convert <source> |
Convert between SKILL.md and .mdc formats |
profile save/apply/list |
Save, apply, and manage multi-agent profiles |
mcp install/list/remove/update/check/search |
Install, list, remove, update, check, and search MCP servers |
agents-xml [--write] |
Generate skills XML for AGENTS.md |
completions bash|zsh|fish |
Generate shell completion scripts |
test <skill-path> |
Test a skill quality with built-in assertions |
diff <a> <b> |
Compare two skills section-by-section |
compose <a> <b> [<c>...] |
Compose multiple skills into one |
upgrade |
Upgrade rolecraft to latest version |
--help, -h |
Show usage |
--version, -v |
Show version |
--verbose, --help and --version are accepted by every command. Every
other flag is accepted only by the commands listed here — this table is
generated from src/commands/spec.js, which is also what --help and the
shell completions are generated from, so the three cannot drift.
| Flag | Commands | Description |
|---|---|---|
--agent |
list | Filter by installed agent |
--agents |
init | Declare target agents |
--all |
install | Install to all locations |
--all |
mcp | Install to all supported agents |
--all |
test | Test all installed skills |
--brief |
diff | Show only a summary |
--chain |
compose | Override mode (last skill wins) |
--context |
diff | Lines of context around each change |
--copy |
install | Install as copy (default) |
--deep |
doctor | Run deep checks |
--description |
init | Set the skill description |
--dry-run |
install, bundle, remove, update, rollback, setup, watch, profile, mcp, upgrade, convert, compose | Preview without making changes |
--force |
compose | Overwrite existing output file |
--frozen-lockfile |
install | Fail if skill already installed |
--global |
install | Install to ~/.agents/skills/ |
--interactive |
search, mcp | Choose and install from results |
--json |
list, search, doctor, agents, diff, compose, test | Output structured JSON |
--list |
install, setup | List available skills without installing |
--list |
use | List available skills without previewing |
--list |
rollback | Show available rollback versions |
--list |
init | List available templates |
--min-score |
test | Fail if score is below threshold |
--name |
mcp | Override server name |
--name |
compose | Set output skill name |
--network |
doctor | Run network checks |
--no-color |
diff, compose, test | Disable colored output |
--no-emoji |
test | Use ASCII fallback for emojis |
--no-mcp |
install, bundle | Skip MCP server installation |
--npm |
mcp | Search npm instead of GitHub |
--only |
test | Run specific checks |
--output |
convert | Write result to file |
--output |
compose | Write to file instead of stdout |
--project |
install | Install to ./.agents/skills/ |
--skill |
install | Select skills by name |
--skill |
use | Preview skills by name |
--skill |
setup | Install skills by name |
--skills-sh |
search | Search skills.sh instead of GitHub |
--symlink |
install | Install as symlink instead of copy |
--template |
init | Scaffold from a named template |
--write |
agents-xml | Write skills XML to AGENTS.md |
--yes |
install | Non-interactive: accept all defaults |
--yes |
bundle, update, setup, search, profile, mcp | Skip confirmation |
--<agent> |
install | One flag per agent, e.g. --claude. See Agent-specific flags |
ci takes no flags at all — it installs immediately and rejects anything else.
Flags take their value as a separate argument (--agent opencode), never as
--agent=opencode. The = form is rejected with a hint rather than silently
ignored.
| Code | Meaning |
|---|---|
| 0 | Success — the command did what it said |
| 1 | Failure, including: a prompt was needed but stdin is not a terminal, an unknown flag, an unknown subcommand, a network error, or a skill that could not be found |
If a command needs to ask a question and stdin is not a terminal, it fails with
an actionable message rather than proceeding with a default. Pass the
non-interactive flag for that command (--yes, --project, --all) to run it
in a script.
| Variable | Effect |
|---|---|
NO_COLOR |
Disable colored output (also honoured automatically when stdout is not a TTY) |
FORCE_COLOR |
Keep colored output even when stdout is piped |
Pass any of these to install, setup, or profile to target specific agents:
| Flag | Agent | Skill directory |
|---|---|---|
--agents |
opencode | ~/.agents/skills/ |
--claude |
claude-code | ~/.claude/skills/ |
--cursor |
cursor | ~/.cursor/skills/ |
--windsurf |
windsurf | ~/.codeium/windsurf/skills/ |
--devin |
devin | ./.devin/skills/ |
--codex |
codex | ~/.agents/skills/ |
--copilot |
copilot | ./.github/skills/ |
--aider |
aider | ~/.aider/skills/ |
--cline |
cline | ~/.cline/skills/ |
--gemini |
gemini-cli | ~/.gemini/skills/ |
--cody |
cody | ~/.cody/skills/ |
--continue |
continue | ~/.continue/skills/ |
--warp |
warp | ~/.agents/skills/ |
--codeium |
codeium | ~/.codeium/skills/ |
--fabric |
fabric | ~/.fabric/skills/ |
--goose |
goose | ~/.agents/skills/ |
--tabnine |
tabnine | ~/.tabnine/agent/skills/ |
--supermaven |
supermaven | ~/.supermaven/skills/ |
--pr-pilot |
pr-pilot | ~/.pr-pilot/skills/ |
--loom |
loom | ~/.loom/skills/ |
--roo |
roo | ~/.roo/skills/ |
--trae |
trae | ~/.trae/skills/ |
--hermes |
hermes | ~/.hermes/skills/ |
--kiro |
kiro | ~/.kiro/skills/ |
--augment |
augment | ~/.augment/skills/ |
--kilo |
kilo | ~/.kilo/skills/ |
--openhands |
openhands | ~/.agents/skills/ |
--junie |
junie | ~/.junie/skills/ |
--factory |
factory | ~/.factory/skills/ |
--command-code |
command-code | ~/.commandcode/skills/ |
--cortex |
cortex | ~/.snowflake/cortex/skills/ |
--mistral-vibe |
mistral-vibe | ~/.vibe/skills/ |
--qwen-code |
qwen-code | ~/.qwen/skills/ |
--openclaw |
openclaw | ~/.openclaw/skills/ |
--codebuddy |
codebuddy | ~/.codebuddy/skills/ |
--mux |
mux | ~/.mux/skills/ |
--pi |
pi | ~/.pi/agent/skills/ |
--autohand-code |
autohand-code | ~/.autohand/skills/ |
--rovo |
rovo-dev | ~/.rovodev/skills/ |
--firebender |
firebender | ~/.firebender/skills/ |
--bob |
ibm-bob | ~/.bob/skills/ |
--aider-desk |
aider-desk | ~/.aider-desk/skills/ |
--zap |
zap | ~/.zap/skills/ |
--codeep |
codeep | ~/.codeep/skills/ |
--kimi-code |
kimi-code | ~/.kimi-code/skills/ |
--zcode |
zcode | ~/.zcode/skills/ |
--astrbot |
astrbot | ~/.astrbot/data/skills/ |
--qoder-cn |
qoder-cn | ~/.qoder-cn/skills/ |
--trae-cn |
trae-cn | ~/.trae-cn/skills/ |
--zenflow |
zenflow | ~/.zenflow/skills/ |
--neovate |
neovate | ~/.neovate/skills/ |
--pochi |
pochi | ~/.pochi/skills/ |
--adal |
adal | ~/.adal/skills/ |
--droid |
droid | ~/.droid/skills/ |
--chatgpt |
chatgpt | ~/.agents/skills/ |
--codearts-agent |
codearts-agent | ~/.codeartsdoer/skills/ |
--universal |
universal | ~/.config/agents/skills/ |
--amp |
amp | ~/.config/agents/skills/ |
--antigravity |
antigravity | ~/.agents/skills/ |
--antigravity-cli |
antigravity-cli | ~/.agents/skills/ |
--deepagents |
deep-agents | ~/.agents/skills/ |
--dexto |
dexto | ~/.agents/skills/ |
--loaf |
loaf | ~/.agents/skills/ |
--replit |
replit | ./.agents/skills/ |
--zed |
zed | ~/.agents/skills/ |
--promptscript |
promptscript | ./agent/skills/ |
--code-arts-doer |
code-arts-doer | ~/.codeartsdoer/skills/ |
--code-maker |
code-maker | ~/.codemaker/skills/ |
--code-studio |
code-studio | ~/.codestudio/skills/ |
--crush |
crush | ~/.crush/skills/ |
--eve |
eve | ./agent/skills/ |
--forge |
forge | ./.forge/skills/ |
--inference-sh |
inference-sh | ~/.inferencesh/skills/ |
--jazz |
jazz | ~/.jazz/skills/ |
--iflow |
iflow | ~/.iflow/skills/ |
--kilo-code |
kilo-code | ~/.kilocode/skills/ |
--kode |
kode | ~/.kode/skills/ |
--lingma |
lingma | ~/.lingma/skills/ |
--mcp-jam |
mcp-jam | ~/.mcpjam/skills/ |
--moxby |
moxby | ~/.moxby/skills/ |
--ona |
ona | ~/.ona/skills/ |
--qoder |
qoder | ~/.qoder/skills/ |
--reasonix |
reasonix | ~/.reasonix/skills/ |
--terra-mind |
terra-mind | ~/.terramind/skills/ |
--tiny-cloud |
tiny-cloud | ~/.tinycloud/skills/ |
--zencoder |
zencoder | ~/.zencoder/skills/ |
--codebuddy |
codebuddy | ~/.codebuddy/skills/ |
| (see full list for all 90 agents) |
Combine multiple flags in one command:
rolecraft install ./my-skill --cursor --claude --devin --copilotScaffold a new skill:
rolecraft init my-skill # creates ./my-skill/SKILL.md
rolecraft init # creates ./my-skill/SKILL.md (default: my-skill)
rolecraft init --list # list available templates
rolecraft init my-skill --template basic # scaffold from a specific templateOptions:
| Option | Description |
|---|---|
--list |
List available templates with descriptions |
--template <name> |
Scaffold from a named template (basic, code-review, git-workflow, testing, security, react) |
See the init command docs for available templates and full examples.
Install a skill from any source:
rolecraft install ./path # local directory
rolecraft install owner/repo # GitHub shorthand
rolecraft install https://gitlab.com/org/project # Git URL
rolecraft install git@github.com:owner/repo.git # SSH URL
rolecraft install npm:package # npm packageAccepts: --yes, -y, --dry-run, --global, --project, --all, --symlink, --frozen-lockfile, --no-mcp, --list, --skill, agent flags.
rolecraft bundle owner/skill1 owner/skill2 ./local
rolecraft bundle bundle.json
rolecraft bundle bundle.txt
rolecraft bundle create [name]Flags:
| Flag | Description |
|---|---|
--dry-run |
Preview without installing |
--no-mcp |
Skip MCP server installation from skills |
Preview without installing. Same source types as install.
rolecraft use ./my-skill # show files
rolecraft use owner/repo # from GitHub
rolecraft use ./my-skill | head -50 # pipe to pagerFlags:
| Flag | Description |
|---|---|
--list |
List available skills from a source without previewing |
--skill <names> |
Preview specific skills by name (comma-separated) |
rolecraft list # all installed skills
rolecraft list --json # machine-readable JSON output
rolecraft list --agent cursor # only skills installed to cursor (-a alias)rolecraft remove my-skill
rolecraft remove my-skill --dry-runRe-install from original source:
rolecraft update my-skillrolecraft setup # detect agents only
rolecraft setup ./my-skill # detect + install
rolecraft setup owner/repo --yesFlags:
| Flag | Description |
|---|---|
--yes, -y |
Install all skills without prompt |
--dry-run |
Preview without installing |
--list |
List available skills from a source without installing |
--skill <names> |
Install specific skills by name (comma-separated) |
rolecraft search code-review # GitHub search
rolecraft search code-review --interactive # TUI picker
rolecraft search react --skills-sh # skills.sh (experimental)No arguments. Checks all installed skills for newer versions.
Re-install all skills and MCP servers from lockfiles. Non-interactive by design — it takes no flags, and any flag (including --dry-run) is rejected rather than ignored, because ci writes to disk the moment it runs.
Verifies SHA256 content hashes of all installed skills.
rolecraft doctor # standard health check
rolecraft doctor --json # JSON output for scripting
rolecraft doctor --network # include GitHub connectivity test
rolecraft doctor --deep # skill conflict detectionRuns comprehensive system health checks: Node.js version, platform info, Git/npm availability, agent directories, lockfile schema validation, disk usage, orphaned directory detection, skill integrity (hash + symlink), MCP server configuration, optional network connectivity (--network), and conflict detection (--deep).
rolecraft watch # watch all skills
rolecraft watch my-skill # watch specific skill
rolecraft watch --dry-run # preview what would be watchedConverts between formats. Auto-detects direction:
rolecraft convert ./skill/SKILL.md # → .mdc
rolecraft convert ./rule.mdc # → SKILL.md
rolecraft convert ./dir/ # directory, auto-detects format
rolecraft convert ./dir/ --output ./out
rolecraft convert ./skill --dry-runFlags:
| Flag | Description |
|---|---|
--dry-run |
Preview without converting |
--output <dir> |
Output directory (default: current dir) |
profile save <name> # capture current config
profile apply <name> # apply saved config
profile list # list all profiles
profile show <name> # show profile details
profile diff <name> # compare with current
profile edit <name> # edit with $EDITOR
profile delete <name> # remove profile
profile export <name> # export as JSON
profile import <path> # import from file/URL
profile link [name] # link to projectCommon flags: --yes/-y, --dry-run, --all, agent flags (--cursor, --claude, etc.)
mcp install <source> [flags] # install MCP server
mcp list # list all MCP servers
mcp search <query> [flags] # search MCP servers (--npm, --interactive)
mcp check # check for MCP server updates
mcp update <name> [flags] # update an MCP server
mcp remove <name> [flags] # remove MCP serverFlags: --yes/-y, --dry-run, --name <name>, --all, agent flags (--cursor, --claude, etc.), --npm, --interactive (for search).
Generates XML block for AGENTS.md. Use --write to auto-insert.
rolecraft completions bash >> ~/.bashrc
rolecraft completions zsh >> ~/.zshrc
rolecraft completions fish >> ~/.config/fish/completions/rolecraft.fishTest a SKILL.md quality with 13 built-in assertions. Supports single skill or batch mode.
rolecraft test ./my-skill/SKILL.md # test a single skill
rolecraft test --all # test all installed skills
rolecraft test --all --json # JSON output for CI
rolecraft test ./skill --min-score 80 # fail if below 80
rolecraft test ./skill --only name,slug # run specific assertions
rolecraft test ./skill --verbose # detailed results
rolecraft test ./skill --no-color # disable ANSI colors
rolecraft test ./skill --no-emoji # ASCII fallback for emojisCompare two SKILL.md files section-by-section. Parses frontmatter and body independently.
rolecraft diff ./a.SKILL.md ./b.SKILL.md # full diff
rolecraft diff ./a.SKILL.md ./b.SKILL.md --brief # summary only
rolecraft diff ./a.SKILL.md ./b.SKILL.md --json # JSON output
rolecraft diff ./a.SKILL.md ./b.SKILL.md --no-color # no ANSI
rolecraft diff ./a.SKILL.md ./b.SKILL.md --context 3 # show 3 lines contextOutput includes frontmatter changes, section-level diffs, and a summary of changed/added/removed sections.
Combine multiple SKILL.md files into a single composed skill.
rolecraft compose ./a.SKILL.md ./b.SKILL.md # stdout (merge mode)
rolecraft compose ./a.SKILL.md ./b.SKILL.md -o combined.md # write to file
rolecraft compose ./a.SKILL.md ./b.SKILL.md --chain --name Final # chain mode
rolecraft compose ./a.SKILL.md ./b.SKILL.md --dry-run # preview only
rolecraft compose ./a.SKILL.md ./b.SKILL.md --force # overwrite output
rolecraft compose ./a.SKILL.md ./b.SKILL.md --json # JSON output
rolecraft compose ./a.SKILL.md ./b.SKILL.md --no-color # disable ANSI colorsModes:
merge(default): same-named sections are combined, lines deduplicatedchain: later skills override same sections
Upgrades rolecraft to the latest npm version.