Overview
FastSkill implements a flexible, multi-source repository system that allows you to discover and install skills from various sources including Git repositories, HTTP registries, ZIP files, and local filesystem paths.Repository configuration is stored in
[tool.fastskill.repositories] section of skill-project.toml or in .claude/repositories.toml for backward compatibility.Repository Types
Git Marketplace
A Git repository containing amarketplace.json file that lists all available skills.
Configuration:
skill-project.toml
marketplace.json
- Clones Git repository to local cache
- Parses
marketplace.jsonfor skill metadata - Provides skill search and discovery via FastSkill
- Team skill sharing via private Git repository
- Version-controlled skill catalogs
- Multi-skill repositories with metadata
- Custom skill discovery with rich metadata
HTTP Registry
An HTTP API that provides a flat index of available skills. Configuration:skill-project.toml
- Fetches index from HTTP endpoint
- Provides skill metadata and download URLs
- Skills downloaded as ZIP files when installed
- Public skill registries
- Centralized skill distribution
- Versioned skill releases
- Skill search and discovery at scale
ZIP URL
A base URL pattern for ZIP file downloads. Configuration:skill-project.toml
{base_url}/{skill_id}-{version}.zip
Use cases:
- Simple file servers with ZIP archives
- Static skill hosting
- Minimal infrastructure requirements
Local
Local filesystem path for skill discovery. Configuration:skill-project.toml
- Scans local filesystem for
SKILL.mdfiles - Each directory containing
SKILL.mdis treated as a skill - Skills installed via filesystem copy or symlinks
- Local skill development
- Shared network storage
- Offline skill repositories
- Testing local skills before publishing
Authentication Types
PAT (Personal Access Token)
For Git repositories requiring token authentication.- GitHub repositories (classic PAT)
- GitLab repositories
- Generic Git servers with token auth
SSH Key
Path to SSH private key file.- GitHub/GitLab repositories with SSH keys
- Automated deployments without interactive auth
- Multi-environment setups
SSH
SSH connection without key file (uses system SSH agent).- Systems with SSH agent
- Automated deployments
- Development environments with SSH config
Basic Auth
Username and password authentication.- Simple HTTP registries
- Development and testing
- Internal tool registries
API Key
API key for HTTP registry access.- Public HTTP registries with access control
- Rate limiting and usage tracking
- Commercial skill marketplaces
Priority-Based Conflict Resolution
When a skill ID is available from multiple repositories, priority determines which repository is used: Priority Rules:- Lower priority numbers are checked first
- Default priority:
0 - Higher priority values are checked later
- First match wins (short-circuit)
skill-project.toml
- Check
public-registry(priority 0) → Found! → Use this one - If not found, check
team-skills(priority 1) → Continue searching - If not found, check
experimental(priority 2) → Continue searching - Return error if skill not found in any repository
Skill Resolution Process
The skill resolution workflow: Detailed steps:- Parse dependency specification - Extract skill ID from
skill-project.toml[dependencies] - Query repositories - Check all configured repositories in priority order
- Search for skill - Look for skill in each repository
- Check installed - Verify if skill is already installed in
.claude/skills/ - Download if needed - Clone/fetch skill from repository if not installed
- Install - Register skill in FastSkill storage
- Update lockfile - Record exact version in
skills.lock
Repository Configuration
skill-project.toml (Recommended)
Project-level configuration with repository definitions:skill-project.toml
- Single file with project configuration
- Repository and dependencies together
- Version control of entire project setup
- Easy to share and maintain
.claude/repositories.toml (Legacy)
Backward-compatible configuration file:skill-project.toml is preferred.
CLI Commands for Repository Management
fastskill sources
Primary command for repository management:fastskill registry
Legacy alias for repository management (same functionality):Repository Authentication Examples
GitHub with PAT
Private Registry with API Key
Git with SSH
Skill Discovery and Installation
From Registry ID
skill-project.toml
From Git Repository
skill-project.toml
From Local Path
skill-project.toml
Multi-Repository Configuration
Mixed Sources
Configure multiple repositories with different sources:skill-project.toml
Environment-Specific Repositories
Configure different repositories for development, staging, and production:skill-project.toml
Troubleshooting
Skill not found in any repository
Skill not found in any repository
Authentication failures
Authentication failures
Priority not working as expected
Priority not working as expected
Best Practices
Use skill-project.toml for repository configuration
Prefer
skill-project.toml [tool.fastskill.repositories] section over .claude/repositories.toml for better project organization.Set appropriate priorities
Use priority to control repository search order. Lower numbers are checked first (0, 1, 2, …).
Use authentication for private repositories
Secure private repositories with PAT, SSH keys, or API keys. Never commit credentials to version control.
Test repositories before use
Use
fastskill sources test <name> to verify repository connectivity and authentication before relying on it.Keep repositories minimal
Only configure repositories you actively use. Remove or comment out unused repositories to speed up resolution.
Use git-marketplace for team skills
For team skill sharing, use git-marketplace type with marketplace.json for comprehensive skill metadata and search.
Version control repository configuration
Commit repository configuration to version control along with skill dependencies for reproducible setups.
See Also
- Sources Command - Repository management CLI
- Marketplace JSON - marketplace.json format details
- Skill Installation - Installing skills from repositories
- Dependencies - Managing skill dependencies
- Service Configuration - Configuration options