Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.gofastskill.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The FastSkill CLI is how you install and operate skills: manifests and skills.lock, validation and fastskill eval, search and sync, packaging and optional publish, plus serve when you want a local HTTP surface.
The CLI supports both interactive and scripting use cases, with comprehensive help text and validation for all commands.

Installation

Use the same install method as the Installation guide (release binary recommended). After install, confirm the CLI is on your PATH:
fastskill -V
For Git-based skill sources, use a build that includes Git support if your distribution splits binaries that way. See Installation for details.

Basic Usage

Get Help

1

General help

fastskill --help
This shows all available commands and global options.
2

Command-specific help

fastskill serve --help        # Help for serve command
fastskill add --help          # Help for add command
fastskill list --help         # Help for list command

Global Options

OptionDescriptionExample
-V, --versionPrint the fastskill binary version and exitfastskill -V
--verbose, -vEnable verbose loggingfastskill -v list
--repositories-pathOverride path to repositories.tomlfastskill --repositories-path ./repositories.toml list
--globalUse the user-level global skills directoryfastskill --global list
Positional SKILL_IDShorthand for fastskill read <id> when no subcommand is givenfastskill pptx
--help, -hHelpfastskill --help

Command Categories

Project and lifecycle

fastskill init

Create skill-project.toml for a skill (authors). See init Command.

fastskill install

Install skills from skill-project.toml (supports groups and --lock). See install Command.

fastskill update

Update skills to latest from source with version strategies. See update Command.

fastskill reindex

Rebuild the search index for semantic discovery. See reindex Command.

fastskill serve

Start the HTTP server (--host, --port). Web UI and API routes are served with the process. See serve Command.

Skills

fastskill add

Add skills from registry ID, git, zip, or local folder (supports -r for recursive folder add, --branch, --tag, -e, --group). See skill commands.

fastskill read

Retrieve skill documentation and base directory path in agent-optimized format. See skill commands.

fastskill list

List locally installed skills with reconciliation status (supports --format table|json|grid|xml, --json). See skill commands.

fastskill disable

Disable skills by ID. See skill commands.

fastskill remove

Remove skills by ID. See skill commands.

fastskill show

Show skill details and dependency tree. See skill commands.

fastskill search

Search remote catalogs by default; use --local for embedding search on installed skills. See search Command.

fastskill repos

Manage repositories (list/add/remove/info/update/test/refresh) and browse remote skill catalog with authentication and priority. See repos Command.

fastskill auth

Manage authentication (login/logout/whoami) with JWT tokens and RBAC. See auth Command.

Packaging & publish

fastskill package

Package skills into ZIP artifacts with change detection and version bumps. See package Command.

fastskill publish

Publish packaged artifacts to blob storage with job tracking. See publish Command.

Diagnostics and tooling

fastskill version

Show CLI version.

fastskill eval

Validate and run skill evaluation suites. See eval Command.

fastskill sync

Sync installed skills to agent metadata. See tooling commands.

fastskill analyze

Similarity matrix, clusters, duplicates. See tooling commands.

Version Command

fastskill version

Display the FastSkill CLI version information.
fastskill version
What 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.3

Configuration

Configuration Files

The CLI uses .fastskill/config.yaml for service-level configuration:
.fastskill/config.yaml
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:
skill-project.toml
[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 = 0
For publishing, create .fastskill/publish.toml:
.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"

Environment Variables

Scripting and automation

Use the CLI in scripts the same way you would run git or uv: non-interactive flags (--yes, --force, --json) are preferred for automation.

Batch operations

# 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

JSON Output

# Get machine-readable search results
fastskill search "text processing" --format json > skills.json

# Parse count
count=$(jq length skills.json)
echo "Total matches: $count"

Exit Codes

The CLI returns appropriate exit codes for scripting:
CodeMeaningExample
0SuccessCommand completed successfully
1General errorInvalid arguments or configuration
2Validation errorInvalid skill definition
3Network errorCannot connect to service
4Timeout errorCommand timed out
5Permission errorInsufficient permissions
#!/bin/bash
# Minimal install + search smoke test

set -e
fastskill install
fastskill reindex
fastskill search "smoke test"

Examples

Example: local project

# 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"

Example: reproducible install

fastskill install --lock
fastskill reindex
fastskill serve --port 8080
For 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.

Troubleshooting

Common Issues

Path issue: Ensure FastSkill is installed and in your PATH.
which fastskill
fastskill -V
File permissions: Ensure you have read/write permissions for skill directories.
# Fix permissions
chmod 755 ./skills/
chmod 644 ./skills/*.json
Service permissions: Run with appropriate privileges for system-wide operations.
Port conflicts: Check if the default port (8080) is available.
# Check port usage
netstat -tlnp | grep :8080

# Use different port
fastskill serve --port 9000

More verbose output

fastskill -v install
Some distributions document extra logging variables; check your install notes if you need trace-level diagnostics.

Best Practices

1

Commit manifest and lock

Commit skill-project.toml and skills.lock together for reproducible installs.
2

Reindex after changes

Run fastskill reindex after adding or updating skills so search stays fresh.
3

Use groups for optional skills

Use groups (for example --group dev) and install with --without dev when you want a smaller production skill set.
4

Check the server when you use serve

Confirm http://<host>:<port>/ responds after upgrades or config changes.
5

Back up manifests before big 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.