Package manager and operational toolkit for Agent AI Skills. FastSkill enables discovery, installation, versioning, and deployment of skills at scale.
fastskill add https://github.com/org/skill-repoQuickly add skills from Git, local folders, or registries to extend your AI agent's capabilities.
FastSkill is a skill package manager and operational toolkit for the AI agent ecosystem. It builds on Anthropic's standardized Skills format so you can install, validate, version, and ship skills the same way you manage other dependencies: manifests and lockfiles, fastskill eval for quality checks, semantic and catalog search, optional registry publish, plus a local HTTP API and UI when you run fastskill serve.
What are skills? Skills are reusable instruction sets in SKILL.md that extend an AI agent's capabilities with specialized procedures, tool integrations, and domain knowledge. FastSkill focuses on managing that corpus: what is installed, whether metadata is valid, how versions move, and how teams keep agents in sync—not on executing skill code inside FastSkill itself.
FastSkill supports the AI Agentic Skills Specification.
According to the standard, a skill must have:
-
Required:
SKILL.mdfile with YAML frontmattername: Skill identifier (1-64 chars, lowercase alphanumeric + hyphens)description: What the skill does (1-1024 chars)
-
Optional:
skill-project.tomlfor advanced features- Recommended for skill authors
- Provides dependency management
- Enables version tracking
# Works with standard-compliant skills
fastskill add ./my-skill
# Will use metadata from SKILL.md:
# - Skill ID: from metadata.id or name field
# - Version: from metadata.version or defaults to 1.0.0
# - Warning displayed recommending 'fastskill init'For existing skills without skill-project.toml:
# Navigate to skill directory
cd my-skill
# Run fastskill init to add skill-project.toml
fastskill init
# This creates skill-project.toml with:
# [metadata]
# id = "my-skill" # From SKILL.md name
# version = "1.0.0" # From SKILL.md metadata.version- Package management: Install, update, and remove skills from multiple sources (Git, local, ZIP, registries)
- Manifests & locks: Declarative
skill-project.tomlandskills.lockfor reproducible installs and groups - Validation & reconciliation: Catch bad metadata and drift between manifest, lock, and installed skills
- Evaluations:
fastskill evalto validate and run structured checks against skills (seefastskill eval --help) - Semantic search: Find installed skills with embeddings and natural language; catalog search for remote discovery
- Agent sync:
fastskill syncwrites installed skills into agent metadata files (Claude Code–compatible layouts) - Publish & registries: Package ZIPs and publish to an API or storage when you distribute skills to others
- HTTP API & Web UI: Optional local
fastskill servefor browsing and integration (unauthenticated by default)
Optimized for Claude Code. Skills follow the same SKILL.md format used by Cursor and other AI agents.
- Skill authors:
fastskill init, package, validate, and run evals before you publish - Agent developers: Install, list, show, read, and search skills your agents actually load
- Teams: One manifest and lockfile, optional groups, private sources when you share internally
- CI/CD: Reproducible
install --lock, packaging, and publish steps in pipelines - Production systems: Operate skill sets at scale—updates, rollbacks, and drift checks—not ad-hoc copies
Without FastSkill, teams manually manage skills through ad-hoc scripts, copy-paste workflows, and manual version tracking. FastSkill provides:
- Standardized Workflows: Consistent patterns for skill lifecycle management
- Version Control: Semantic versioning and dependency resolution
- Discovery: Semantic search eliminates manual skill cataloging
- Reproducibility: Lock files ensure consistent installations across environments
- Scalability: Handles large skill trees, many projects, and multiple sources without manual bookkeeping
- Automation: CLI and API enable CI/CD integration
FastSkill can be installed in several ways depending on your use case:
Quick Install (Recommended)
Install FastSkill with a single command:
curl -fsSL https://raw.githubusercontent.com/gofastskill/fastskill/main/scripts/install.sh | bashOr download and run the script manually:
wget https://raw.githubusercontent.com/gofastskill/fastskill/main/scripts/install.sh
chmod +x install.sh
./install.shThe script automatically:
- Detects your platform
- Downloads the latest version (or specify a version:
./install.sh v0.6.8) - Installs to
/usr/local/bin(or~/.local/binif sudo is unavailable) - Verifies the installation
Options:
--user: Install to~/.local/bininstead of system directory--prefix DIR: Install to a custom directory--force: Overwrite existing installation--help: Show all available options
Homebrew (macOS + Linux)
Install FastSkill via Homebrew on macOS or Linux:
brew install gofastskill/cli/fastskillFor more details, see the Homebrew tap repository.
Scoop (Windows)
Install FastSkill via Scoop on Windows:
scoop bucket add gofastskill https://github.com/gofastskill/scoop-bucket
scoop install fastskillFor more details, see the Scoop bucket repository.
Manual Installation from GitHub Releases
Download the pre-built binary for your platform from GitHub Releases.
macOS:
Two macOS binaries are available:
| Binary | Hardware |
|---|---|
fastskill-aarch64-apple-darwin.tar.gz |
Apple Silicon (M1/M2/M3+) |
fastskill-x86_64-apple-darwin.tar.gz |
Intel Macs |
Apple Silicon example:
VERSION="0.8.6" # Replace with latest version
wget https://github.com/gofastskill/fastskill/releases/download/v${VERSION}/fastskill-aarch64-apple-darwin.tar.gz
tar -xzf fastskill-aarch64-apple-darwin.tar.gz
sudo mv fastskill /usr/local/bin/
fastskill --versionIntel macOS example:
VERSION="0.8.6" # Replace with latest version
wget https://github.com/gofastskill/fastskill/releases/download/v${VERSION}/fastskill-x86_64-apple-darwin.tar.gz
tar -xzf fastskill-x86_64-apple-darwin.tar.gz
sudo mv fastskill /usr/local/bin/
fastskill --versionLinux:
Two Linux binaries are available:
| Binary | Best For | Compatibility |
|---|---|---|
fastskill-x86_64-unknown-linux-musl.tar.gz |
Containers, CI/CD, older distributions | Universal - works on any Linux (Ubuntu 18.04+, RHEL 7+, Alpine, etc.). Note: Built without git-support; use system git for git operations. |
fastskill-x86_64-unknown-linux-gnu.tar.gz |
FIPS/compliance, full git2 support | Requires glibc 2.38+ (Ubuntu 24.04+, Fedora 39+). Includes native git integration. |
Recommended: Use the musl (static) binary for maximum compatibility:
VERSION="0.8.6" # Replace with latest version
wget https://github.com/gofastskill/fastskill/releases/download/v${VERSION}/fastskill-x86_64-unknown-linux-musl.tar.gz
tar -xzf fastskill-x86_64-unknown-linux-musl.tar.gz
sudo mv fastskill /usr/local/bin/
fastskill --versionFor FIPS/compliance environments requiring dynamic linking:
VERSION="0.8.6" # Replace with latest version
wget https://github.com/gofastskill/fastskill/releases/download/v${VERSION}/fastskill-x86_64-unknown-linux-gnu.tar.gz
tar -xzf fastskill-x86_64-unknown-linux-gnu.tar.gz
sudo mv fastskill /usr/local/bin/
fastskill --versionFrom Source:
cargo install fastskill
# Or build from source
git clone https://github.com/gofastskill/fastskill.git
cd fastskill
cargo install --path .Requirements: Rust nightly (for source builds), OpenAI API key for embedding features
Deploy FastSkill as a production service in Kubernetes using Helm:
# Create secrets and install chart
kubectl create namespace fastskill
kubectl create secret generic fastskill-github-token \
--from-literal=GITHUB_TOKEN=your-token -n fastskill
kubectl create secret generic fastskill-s3-credentials \
--from-literal=AWS_ACCESS_KEY_ID=your-key \
--from-literal=AWS_SECRET_ACCESS_KEY=your-secret -n fastskill
helm install fastskill ./tools/fastskill/helm/fastskill \
--namespace fastskill --create-namespaceFor detailed Kubernetes deployment instructions, see the Kubernetes Deployment Guide.
Create skill-project.toml in your project root:
[metadata]
id = "my-project"
version = "1.0.0"
[dependencies]
# Add skill dependencies here
[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 = "anthropic"
type = "git-marketplace"
url = "https://github.com/anthropics/skills"
priority = 0Or use the init command:
fastskill initSet your OpenAI API key:
export OPENAI_API_KEY="your-key-here"Source formats
| Source | Example |
|---|---|
| Git URL | https://github.com/org/skill.git |
| Tree URL (subdir) | https://github.com/org/repo/tree/main/path/to/skill |
| Local path | ./local-skill |
| Recursive directory | ./skills -r |
| Editable (dev) | ./local-skill -e |
Options
| Flag | Description |
|---|---|
-r, --recursive |
Add all skills under directory (local folders only) |
-e, --editable |
Install in editable mode for local development |
-f, --force |
Force registration even if skill exists |
--branch <BRANCH> |
Git branch to checkout (git URLs only) |
--tag <TAG> |
Git tag to checkout (git URLs only) |
--source-type <TYPE> |
Override source type (registry, github, local) |
--group <GROUP> |
Add skill to a specific group |
# Add skill from git URL
fastskill add https://github.com/org/skill.git
# Add skill from a subdirectory (GitHub tree URL: tree/branch/path/to/skill)
fastskill add "https://github.com/org/repo/tree/main/path/to/skill"
# Add skill from local folder
fastskill add ./local-skill
# Add skill in editable mode (for local development)
fastskill add ./local-skill -e
# Add all skills under a directory (recursive)
fastskill add ./skills -r# Index skills for semantic search
fastskill reindex
# Search for skills (remote catalog by default)
fastskill search "powerpoint presentation"
fastskill search "data processing" --limit 5
# Search local/installed skills only
fastskill search "pptx" --local
# Search using keyword-only (no API key required)
fastskill search --embedding false "powerpoint"
# Search specific repository
fastskill search "text processing" --repo my-repo| Command | Description |
|---|---|
fastskill add <source> |
Add skill from Git, local, or registry |
fastskill remove <skill-id> |
Remove skill from database |
fastskill show |
List installed skills and metadata |
fastskill update |
Update skills to latest versions |
fastskill search "query" |
Search skills (remote catalog by default, use --local for installed) |
fastskill reindex |
Rebuild vector index for search |
fastskill serve |
Start HTTP API server |
fastskill init |
Initialize skill-project.toml |
fastskill package |
Package skills into ZIP artifacts |
fastskill analyze matrix |
Show similarity matrix between all skills |
fastskill add <source> # Add skill (git URL, tree URL for subdir, local path, or ZIP). Use -r for recursive folder add
fastskill remove <skill-id> # Remove skill
fastskill show # List installed skills
fastskill update # Update skills to latest versionsfastskill search "query" # Search remote catalog (default)
fastskill search "query" --local # Search installed/local skills
fastskill search "query" --repo my-repo # Search specific repository
fastskill reindex # Rebuild search indexfastskill serve # Start HTTP API server
fastskill serve --enable-registry # Enable web UI at /registryfastskill init # Initialize skill metadata
fastskill package # Package skills into ZIP artifacts
fastskill package --force --recursive # Package all skills recursively from nested directoriesfastskill analyze matrix # Show similarity matrix between all skills- Identify related skills
- Find potential duplicates
- Verify embedding quality
- Export data in JSON format
FastSkill provides a unified repository system for managing all skill storage locations. Repositories can be:
- Public registries (HTTP-based index with S3 storage)
- Private registries (enterprise/internal registries)
- Git repositories (with marketplace.json for skill discovery)
- ZIP URL sources (static hosting with marketplace.json)
- Local folders (for development)
All repository types are configured in skill-project.toml under [[tool.fastskill.repositories]].
Use the repos command to manage repositories and browse remote catalogs:
# List repositories
fastskill repos list
# Add a repository
fastskill repos add my-repo --repo-type local /path/to/skills
# Browse catalog skills
fastskill repos skills
# Show skill details
fastskill repos show pptx
# Show available versions
fastskill repos versions pptxFor detailed repository setup, usage, and management instructions, see docs/REGISTRY.md.
FastSkill uses skill-project.toml as the unified configuration file for both project-level and skill-level contexts.
[metadata]
id = "my-skill"
version = "1.0.0"
[dependencies]
# Add your skill dependencies here
[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 = "anthropic"
type = "git-marketplace"
url = "https://github.com/anthropics/skills"
priority = 0The CLI resolves configuration from skill-project.toml:
- Searches current directory and parents for
skill-project.toml - Extracts
[tool.fastskill]section for skills directory and embedding config - Extracts
[tool.fastskill.repositories]for repository sources - Defaults to
.claude/skills/if no skills_directory is configured
FastSkill is project-scoped. Configuration and skills are managed per project using skill-project.toml in the project root. There is no global/user-level mode; each project maintains its own skills directory and dependencies.
FastSkill looks for skills in the following locations:
- skills_directory - Configured path in
[tool.fastskill.skills_directory] - Default -
.claude/skills/if not specified - Repositories - All sources from
[[tool.fastskill.repositories]]including:- Git marketplace repos with marketplace.json
- HTTP registries with flat index
- ZIP URL sources with marketplace.json
- Local filesystem paths
| Variable | Description |
|---|---|
OPENAI_API_KEY |
OpenAI API key for semantic search and embeddings (required) |
RUST_LOG |
Logging level (e.g., fastskill=debug, fastskill=trace) |
FASTSKILL_API_URL |
Base URL for registry API |
FASTSKILL_API_TOKEN |
Authentication token for registry API |
FASTSKILL_CONFIG_DIR |
Path to FastSkill configuration directory |
FASTSKILL_STATIC_DIR |
Path to static files for HTTP server |
# Initialize a new project
fastskill init
# Set OpenAI API key for semantic search
export OPENAI_API_KEY="your-key-here"If you see "Embedding configuration required but not found":
- Run
fastskill initto createskill-project.toml - Add
[tool.fastskill.embedding]section with embedding configuration - Set
OPENAI_API_KEYenvironment variable
export OPENAI_API_KEY="your-openai-api-key-here"For persistent setup, add this to your shell profile (.bashrc, .zshrc, etc.).
If fastskill add fails with git or network errors:
- Verify the Git URL is accessible and public (or configured with auth)
- Check network connectivity and proxy settings
- For private repos, ensure credentials are configured
- Use
fastskill add --verbosefor detailed error messages
If fastskill search --local returns no results:
- Run
fastskill reindexto rebuild the search index - Verify
OPENAI_API_KEYis set and valid - Check embedding configuration in
[tool.fastskill.embedding] - Ensure skills are installed (
fastskill show)
If fastskill search (remote) returns no results:
- Verify repositories are configured (
fastskill repos list) - Check repository connectivity (
fastskill repos test <repo-name>) - Refresh repository cache (
fastskill repos refresh)
- Registry Setup - Detailed registry configuration and management
- Kubernetes Deployment - Production deployment guide
- Security Policy - Security guidelines and vulnerability reporting
- GitHub Releases - Latest versions and changelog
Apache-2.0