| title | CLI Reference Overview |
|---|---|
| description | The canonical FastSkill command tree for skills, bundles, projects, sources, quality, and operations. |
The FastSkill CLI groups commands by the resource or operational area they control. Every operation
uses an explicit two-word path, such as skill add, bundle add, or server serve.
Use the same install method as the Installation guide (release binary recommended). After install, confirm the CLI is on your PATH:
fastskill -VGit-based sources require system Git on your PATH.
fastskill --helpThis shows all available commands and global options.
fastskill server serve --help # Help for the HTTP server
fastskill skill add --help # Help for adding an individual skill
fastskill bundle add --help # Help for adding a bundle artifact| Option | Description | Example |
|---|---|---|
-V, --version |
Print the fastskill binary version and exit |
fastskill -V |
--verbose, -v |
Enable verbose logging | fastskill -v skill list |
--skills-dir <PATH> |
Override the skills directory path | fastskill --skills-dir ./skills skill list |
--global |
Use the user-level global skills directory (~/.config/fastskill/skills) |
fastskill --global skill list |
--help, -h |
Help | fastskill --help |
| Namespace | Actions |
|---|---|
fastskill skill |
add, remove, update, list, read, search |
fastskill bundle |
build, add, list, update, remove, override |
fastskill project |
init, install, repin |
fastskill repo |
add, list, info, update, remove, test, refresh, skills, show, versions |
fastskill marketplace |
create |
fastskill analysis |
matrix, cluster, duplicates |
fastskill eval |
validate, run, judge, report, score, scorecard |
fastskill optimization |
run, resume, status, inspect, export |
fastskill index |
rebuild |
fastskill cache |
info, clean |
fastskill server |
serve |
fastskill mcp |
serve, install, list |
fastskill cli |
doctor, completion, spec |
The tree contains 50 leaf commands. Root help shows the namespaces as a compact table of contents.
Run fastskill <namespace> --help to discover that namespace, then run
fastskill <namespace> <action> --help for arguments and examples. A bare skill ID is not a
command; use fastskill skill read <skill-id>.
All configuration lives in skill-project.toml at your project root. Skill dependencies go under [dependencies]; embedding, skills directory, and repositories go under the [tool.fastskill] tables:
[dependencies]
web-scraper = { origin = { type = "git", url = "https://github.com/org/web-scraper.git" } }
[tool.fastskill]
skills_directory = ".claude/skills"
[tool.fastskill.embedding]
openai_base_url = "https://api.openai.com/v1"
embedding_model = "text-embedding-3-small"
[[tool.fastskill.repositories]]
name = "public-registry"
type = "http-registry"
index_url = "https://api.fastskill.io/index"
priority = 0Host catalog metadata and skill artifacts using your team’s distribution infrastructure; FastSkill does not provide a CLI publishing service. Example IDs and URLs here must be replaced with sources you can access.
Run fastskill --help for the registered environment settings. The following are
optional and apply only to the corresponding capability:
| Variable | Purpose |
|---|---|
FASTSKILL_CACHE_DIR |
Shared skill cache directory |
FASTSKILL_EMBEDDING_MODEL |
Embedding model override |
FASTSKILL_NO_PROGRESS |
Disable progress indicators when set |
OPENAI_API_KEY |
Semantic search and embedding credentials |
OPENAI_BASE_URL |
Embedding provider base URL |
PAT_TOKEN |
Default authenticated HTTP registry token |
REGISTRY_INDEX_PATH |
Local registry index path |
RUST_LOG |
Logging filter |
XDG_CONFIG_HOME |
Global configuration directory on Unix |
NO_COLOR / FORCE_COLOR |
ANSI color control where supported |
Use the CLI in scripts the same way you would run git or uv: non-interactive flags (--yes, --force, --json) are preferred for automation.
# Add multiple local skills (editable) and install
for dir in ./skills/*; do
fastskill skill add "$dir" -e --group dev
done
# Alternative: use recursive add for all skills under a directory
fastskill skill add ./skills -r -e --group dev
fastskill project install
fastskill index rebuild# Get machine-readable search results
fastskill skill search "text processing" --format json > skills.json
# Parse count
count=$(jq length skills.json)
echo "Total matches: $count"Commands that accept --json or --format json write exactly one JSON value to stdout on both
success and failure. On failure, inspect the nonzero exit code and the returned error or lifecycle
diagnostics field.
The CLI returns appropriate exit codes for scripting:
| Code | Meaning |
|---|---|
0 |
Command completed successfully |
1 |
Command returned an error, including validation, configuration, or service failures |
In JSON mode, a nonzero exit can accompany a structured error or a partial result. Inspect diagnostics as well as the process status.
#!/bin/bash
# Minimal install + search smoke test
set -e
fastskill project install
fastskill index rebuild
fastskill skill search "smoke test"# 1. Add a skill you are iterating on (optional group)
fastskill skill add ./skills/my-skill -e --group dev
# 2. Apply the manifest and refresh the local index
fastskill project install
fastskill index rebuild
# 3. Browse with the bundled web UI
fastskill server serve --port 8080
# 4. Search the installed skills
fastskill skill search "text processing" --localfastskill project install --lock
fastskill index rebuild
fastskill server serve --port 8080For running fastskill in automation (build machines, sandboxes), install the CLI in the job image, check out your repo, then run the same commands with secrets injected for registry tokens and OPENAI_API_KEY when needed.
fastskill server serve --port 9000
</Callout>
</Accordion>
</Accordions>
### More verbose output
```bash
fastskill -v project install
Some distributions document extra logging variables; check your install notes if you need trace-level diagnostics.
Commit skill-project.toml and skills.lock together for reproducible installs.
Run fastskill index rebuild after adding or updating skills so search stays fresh.
Use groups (for example --group dev) and install with --without dev when you want a smaller production skill set.
Confirm http://<host>:<port>/ responds after upgrades or config changes.
Keep copies of skill-project.toml, skills.lock, and any custom .fastskill config before bulk edits.