Overview
Thesources command manages skill repositories (sources) where skills can be discovered and installed. Sources include Git marketplaces, HTTP registries, ZIP URLs, and local directories. Each source can have priority-based conflict resolution and authentication support.
The
sources command is an alias for registry operations focused on repository management. For browsing registry catalogs, use registry list-skills or registry search.Subcommands
sources list
List all configured repositories.- Default: Human-readable table with name, type, URL/path, priority
- JSON: Machine-readable array with full repository details
sources add
Add a new repository to your skill sources.| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--type | - | string | required | Repository type: git-marketplace, http-registry, zip-url, or local |
--priority | - | number | 0 | Lower number = higher priority (used for conflict resolution) |
--branch | - | string | none | Git branch to checkout (for git-marketplace) |
--tag | - | string | none | Git tag to checkout (for git-marketplace) |
--auth-type | - | string | none | Authentication type: pat, ssh-key, ssh, basic, or api-key |
--auth-env | - | string | none | Environment variable for PAT, password, or API key |
--auth-key-path | - | path | none | SSH key path for ssh-key or ssh auth |
--auth-username | - | string | none | Username for basic auth |
-
git-marketplace: Git repository with
marketplace.jsonfor skill discovery- Supports PAT, SSH Key, SSH, Basic Auth
- Can specify branch or tag
- Scans for skills across repository structure
-
http-registry: HTTP-based registry with flat skill index
- Supports Basic Auth, API Key
- Fast skill lookup via API
- Best for production registries
-
zip-url: Base URL for ZIP file downloads
- Supports PAT, Basic Auth
- Downloads skills from
{base_url}/{skill-id}-{version}.zip
-
local: Local filesystem path
- No authentication needed
- Best for development workflows
- When multiple sources provide the same skill ID, the source with lower priority number wins
- Priority 0 is highest
- Example: If
public-registry(priority 0) andteam-skills(priority 1) both havepptx,public-registry’s version is used
sources remove
Remove a repository from your sources.- Removes repository from configuration file
- Does not uninstall skills that were installed from this repository
- Skills remain in skills directory until explicitly removed
sources show
Display detailed information about a specific repository.sources update
Update repository metadata.| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--branch | - | string | none | New branch for git-marketplace repositories |
--priority | - | number | none | New priority value |
sources test
Test repository connectivity and accessibility.- HTTP registries: Connectivity to API endpoint
- Git marketplaces: Clone/access to repository
- ZIP URLs: Accessibility of base URL
- Local: Directory exists and is readable
- 0: Repository is accessible
- 1: Cannot connect or access repository
- 2: Invalid configuration
sources refresh
Refresh repository cache (re-fetch from source).- After repository has been updated with new skills
- To get latest skill versions
- If cache is stale or corrupted
- Re-fetches repository metadata
- Updates local cache
- Invalidates stale skill information
sources create
Createmarketplace.json from a directory containing skills. This is useful for setting up a Git marketplace repository.
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--path | -p | path | . | Directory containing skills to scan |
--output | -o | path | .claude-plugin/marketplace.json in specified directory | Output file path |
--base-url | - | string | none | Base URL for download links (optional) |
--name | - | string | none | Repository name (required) |
--owner-name | - | string | none | Owner name (optional) |
--owner-email | - | string | none | Owner email (optional) |
--description | - | string | none | Repository description (optional) |
--version | - | string | none | Repository version (optional) |
- Scans directory for skills (subdirectories with
SKILL.md) - Extracts metadata from each skill’s
SKILL.mdandskill-project.toml - Creates
marketplace.jsonwith skill listings - Validates skill structure and required fields
marketplace.json structure:
Configuration File Location
Sources are stored inskill-project.toml at project root:
skill-project.toml
Authentication Types
PAT (Personal Access Token)
- Use for Git repositories and private registries
- Token stored in environment variable
- Example:
SSH Key
- Use for Git repositories with SSH access
- Key path points to private key file
- Example:
SSH
- Use for Git repositories with SSH protocol
- Similar to SSH Key but may use system SSH agent
- Example:
Basic Auth
- Use for HTTP registries with username/password
- Password stored in environment variable
- Example:
API Key
- Use for HTTP registries with API key authentication
- API key stored in environment variable
- Example:
Multi-Source Skill Resolution
FastSkill supports multiple sources with priority-based resolution:- Skills are searched in priority order (0, 1, 2, …)
- First match wins
- Higher priority sources override lower priority sources
- Useful for overriding public skills with custom versions
public-registry(priority 0):pptx v1.0.0team-skills(priority 1):pptx v1.2.0- Result:
pptx v1.0.0is used (from higher priority source)
Examples
Setting up a development environment
Creating a Git marketplace
Troubleshooting
Repository not found
Repository not found
Authentication failed
Authentication failed
Priority not working
Priority not working
Sources configuration is stored in
skill-project.toml and should be committed to version control. Authentication credentials (environment variables) should never be committed.See Also
- Registry Overview - Understanding registries and repositories
- Init Command - Creating skill-project.toml
- Install Command - Installing skills from sources
- Search Command - Searching across sources