Skip to main content

repos Command

Manage skill repositories and browse remote skill catalog.
The repos command is the primary interface for repository management and catalog browsing in FastSkill. Use fastskill search for semantic search of installed skills.

Usage

Subcommands

list

List all configured repositories.
Output Format:
  • Default: Human-readable table with name, type, URL/path, priority
  • JSON: Machine-readable array with full repository details
Example Output:

add

Add a new repository to your skill sources.
Options: Repository Types:
  1. git-marketplace: Git repository with marketplace.json for skill discovery
    • Supports PAT, SSH Key, SSH, Basic Auth
    • Can specify branch or tag
    • Scans for skills across repository structure
  2. http-registry: HTTP-based registry with flat skill index
    • Supports Basic Auth, API Key
    • Fast skill lookup via API
    • Best for production registries
  3. zip-url: Base URL for ZIP file downloads
    • Supports PAT, Basic Auth
    • Downloads skills from {base_url}/{skill-id}-{version}.zip
  4. local: Local filesystem path
    • No authentication needed
    • Best for development workflows
Priority-Based Conflict Resolution:
  • 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) and team-skills (priority 1) both have pptx, public-registry’s version is used

remove

Remove a repository from your sources.
Behavior:
  • Removes repository from configuration file
  • Does not uninstall skills that were installed from this repository
  • Skills remain in skills directory until explicitly removed

info

Display detailed information about a specific repository.
Example Output:

update

Update repository metadata.
Options:

test

Test repository connectivity and accessibility.
What it tests:
  • HTTP registries: Connectivity to API endpoint
  • Git marketplaces: Clone/access to repository
  • ZIP URLs: Accessibility of base URL
  • Local: Directory exists and is readable
Exit codes:
  • 0: Repository is accessible
  • 1: Cannot connect or access repository
  • 2: Invalid configuration

refresh

Refresh repository cache (re-fetch from source).
When to use:
  • After repository has been updated with new skills
  • To get latest skill versions
  • If cache is stale or corrupted
What it does:
  • Re-fetches repository metadata
  • Updates local cache
  • Invalidates stale skill information

skills

List skills in repository catalog.
Options:
  • --scope <SCOPE>: Filter skills by scope (exact match)
  • --all-versions: Include all versions for each skill (default: latest only)
  • --include-pre-release: Include pre-release versions (default: exclude)
  • --format <table|json|grid>: Output format (default: table)
  • --json: Shorthand for —format json (mutually exclusive with —format)
  • --repository <NAME>: Repository name to list skills from (defaults to default repository if not specified)
Output Format:
  • Grid (default): Human-readable table with columns: scope, name, description (truncated to 50 chars), latest version (or “version” when --all-versions is used), published date
  • JSON: Machine-readable array with fields: id, scope, name, description, latest_version, published_at, and optionally versions array

show

Display detailed information about a specific skill from the catalog.
Parameters:
  • <skill-id>: Full skill identifier (e.g., acme/web-scraper)
  • --repository <NAME>: Repository to search (defaults to default repository)
Output Format: Displays comprehensive skill information including:
  • Skill metadata (name, description, author, version)
  • Capabilities and tags
  • Installation instructions
  • Dependencies and requirements
  • Documentation links
  • Change log and release notes
Example Output:

versions

List all available versions for a specific skill.
Parameters:
  • <skill-id>: Full skill identifier (e.g., acme/web-scraper)
  • --repository <NAME>: Repository to query (defaults to default repository)
Output Format: Displays a table of versions with:
  • Version number
  • Release date
  • Release notes (if available)
  • Pre-release status
  • Compatibility information
Example Output:

Configuration File Location

Repositories are stored in skill-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:
Resolution process:
  1. Repositories are consulted in ascending priority order (0 before 1 before 2).
  2. The first repository that satisfies the lookup wins for that skill id.
  3. Lower numeric priority means earlier in that order (0 is tried before 10).
Example:
  • public-registry (priority 0): pptx v1.0.0
  • team-skills (priority 1): pptx v1.2.0
  • Result: pptx v1.0.0 from public-registry is used because priority 0 is consulted first.

Examples

Setting up a development environment

Creating a Git marketplace

Troubleshooting

Check name: Ensure the repository name matches what you added.
Verify credentials:
Verify priority values: Lower numbers have higher priority.
Priority 0 is highest, priority 10 is lower.
Repositories configuration is stored in skill-project.toml and should be committed to version control. Authentication credentials (environment variables) should never be committed.

See Also