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 repos
Primary command for repository management:Catalog browsing
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
1
Use skill-project.toml for repository configuration
Prefer
skill-project.toml [tool.fastskill.repositories] section over .claude/repositories.toml for better project organization.2
Set appropriate priorities
Use priority to control repository search order. Lower numbers are checked first (0, 1, 2, …).
3
Use authentication for private repositories
Secure private repositories with PAT, SSH keys, or API keys. Never commit credentials to version control.
4
Test repositories before use
Use
fastskill repos test <name> to verify repository connectivity and authentication before relying on it.5
Keep repositories minimal
Only configure repositories you actively use. Remove or comment out unused repositories to speed up resolution.
6
Use git-marketplace for team skills
For team skill sharing, use git-marketplace type with marketplace.json for comprehensive skill metadata and search.
7
Version control repository configuration
Commit repository configuration to version control along with skill dependencies for reproducible setups.
8
Refresh repositories after changes
Use
fastskill repos refresh to update repository caches after remote changes.See Also
- repos Command - Repository management CLI
- Marketplace JSON - marketplace.json format details
- Skill Installation - Installing skills from repositories
- Dependencies - Managing skill dependencies
- init Command - Project initialization options