| title | CLI Reference Overview |
|---|---|
| description | CLI for the FastSkill package manager: installs, manifests, validation, evals, search, package, publish, and serve. |
The FastSkill CLI is how you install and operate skills: manifests and skills.lock, validation and fastskill eval, search, packaging and optional publish, plus serve when you want a local HTTP surface.
Use the same install method as the Installation guide (release binary recommended). After install, confirm the CLI is on your PATH:
fastskill -VFor Git-based skill sources, use a build that includes Git support if your distribution splits binaries that way. See Installation for details.
```bash fastskill --help ```This shows all available commands and global options.
```bash fastskill serve --help # Help for serve command fastskill add --help # Help for add command fastskill list --help # Help for list command ```| Option | Description | Example |
|---|---|---|
-V, --version |
Print the fastskill binary version and exit |
fastskill -V |
--verbose, -v |
Enable verbose logging | fastskill -v list |
--repositories-path |
Override path to repositories.toml |
fastskill --repositories-path ./repositories.toml list |
--global |
Use the user-level global skills directory | fastskill --global list |
Positional SKILL_ID |
Shorthand for fastskill read <id> when no subcommand is given |
fastskill pptx |
--help, -h |
Help | fastskill --help |
Display the FastSkill CLI version information.
fastskill versionWhat it shows:
- CLI version number (e.g.,
fastskill 0.9.3) - Based on the version defined in Cargo.toml
Use cases:
- Verify FastSkill installation
- Check version for compatibility
- Include in bug reports
Example output:
$ fastskill version
fastskill 0.9.3The CLI uses .fastskill/config.yaml for service-level configuration:
embedding:
openai_base_url: "https://api.openai.com/v1"
embedding_model: "text-embedding-3-small"
# Optional: Custom skills directory
skills_directory: ".claude/skills"Project-level configuration (skill dependencies and repositories) is stored in skill-project.toml at your project root:
[dependencies]
web-scraper = { source = "git", url = "https://github.com/org/web-scraper.git" }
[tool.fastskill.repositories]
[[tool.fastskill.repositories]]
name = "public-registry"
type = "http-registry"
index_url = "https://api.fastskill.io/index"
priority = 0For publishing, create .fastskill/publish.toml:
[blob_storage]
type = "s3"
endpoint = "https://s3.example.com"
bucket = "skills-registry"
region = "us-east-1"
[registry]
git_url = "https://github.com/org/skill-registry.git"
branch = "main"
blob_base_url = "https://blob.example.com/skills"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 add "$dir" -e --group dev
done
# Alternative: use recursive add for all skills under a directory
fastskill add ./skills -r -e --group dev
fastskill install
fastskill reindex# Get machine-readable search results
fastskill search "text processing" --format json > skills.json
# Parse count
count=$(jq length skills.json)
echo "Total matches: $count"The CLI returns appropriate exit codes for scripting:
| Code | Meaning | Example |
|---|---|---|
0 |
Success | Command completed successfully |
1 |
General error | Invalid arguments or configuration |
2 |
Validation error | Invalid skill definition |
3 |
Network error | Cannot connect to service |
4 |
Timeout error | Command timed out |
5 |
Permission error | Insufficient permissions |
#!/bin/bash
# Minimal install + search smoke test
set -e
fastskill install
fastskill reindex
fastskill search "smoke test"# 1. Add a skill you are iterating on (optional group)
fastskill add ./skills/my-skill -e --group dev
# 2. Apply the manifest and refresh the local index
fastskill install
fastskill reindex
# 3. Browse with the bundled web UI
fastskill serve --port 8080
# 4. Try search (remote catalog by default; add --local for installed skills)
fastskill search "text processing"fastskill install --lock
fastskill reindex
fastskill 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. See CI/CD integration for patterns without repository-specific paths.
fastskill serve --port 9000
</Info>
</Accordion>
</AccordionGroup>
### More verbose output
```bash
fastskill -v 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 reindex` 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://:/` responds after upgrades or config changes. Keep copies of `skill-project.toml`, `skills.lock`, and any custom `.fastskill` config before bulk edits. Commands can change installed skills and manifest files. Try changes on a copy of the project or a branch first if you are unsure.