Skip to main content

Repository Configuration

Repositories allow you to define where FastSkill should look for skills. FastSkill supports multiple repository types, all configured through a unified interface. Important: Repositories are used for skill discovery only. They define where skills come FROM. The storage location (where skills are installed when you run fastskill add) is configured separately in .fastskill/config.yaml via the skills_directory setting.

Configuration File

Repository configuration is stored in the [tool.fastskill.repositories] section of skill-project.toml at your project root:
Note: Repositories are searched in priority order (lower number = higher priority). If multiple repositories have the same priority, the first one in the file is used.

Source Types

Git Marketplace Sources

Git marketplace sources reference a Git repository that contains skills organized with a marketplace.json file.

Complete Setup Workflow

1. Create a Git Repository
2. Create Skill Structure
3. Generate Marketplace.json
4. Configure Repository
5. Test Repository

Configuration Options

Requirements:
  • Repository must contain marketplace.json in one of these locations:
    • Claude Code standard: .claude-plugin/marketplace.json (recommended)
    • Root location: marketplace.json (legacy support)
  • Marketplace.json should reference skills available in the repository
Marketplace.json locations (checked in priority order):
  1. {url}/.claude-plugin/marketplace.json (Claude Code standard - tried first)
  2. {url}/marketplace.json (root location - fallback) Both are fetched via raw content API (e.g., raw.githubusercontent.com)

Advanced Examples

Private Repository with Authentication:
Monorepo with Multiple Skill Directories:
Branch-based Development:

HTTP Registry Sources

HTTP-based registries provide skills through REST APIs with centralized index and blob storage.

Complete Setup Workflow

1. Registry Server Setup
2. Authentication Setup
3. Configure Repository
4. Browse and Install Skills

Configuration Options

Authentication Types

Personal Access Token (PAT):
API Key:
Basic Authentication:
SSH Key:

Advanced Examples

Multi-Environment Setup:
Cross-Organization Sharing:
Use fastskill repos skills to list skills from HTTP registries. The command calls GET /api/v1/registry/index/skills on the configured registry’s index_url. The registry server serves index files at /index/{skill_id} where skill_id follows the format {scope}/{skill-name} (e.g., dev-user/web-scraper).

ZIP URL Sources

ZIP URL sources provide skills through static hosting with pre-packaged ZIP archives.

Complete Setup Workflow

1. Prepare Skill Packages
2. Create Marketplace.json
3. Host Files
4. Configure Repository
5. Test Repository

Configuration Options

Hosting Examples

GitHub Pages:
Amazon S3:
Nginx/Apache Static Hosting:

Marketplace.json Requirements

The marketplace.json file must include download_url fields pointing to ZIP files:

CI/CD Pipeline Example

GitHub Actions for Automated Deployment:

Advanced Examples

Versioned Releases:
Multi-Environment:
Requirements:
  • Base URL must serve marketplace.json in one of these locations:
    • Claude Code standard: .claude-plugin/marketplace.json (recommended)
    • Root location: marketplace.json (legacy support)
  • Marketplace.json should include download_url for each skill
Marketplace.json locations (checked in priority order):
  1. {base_url}/.claude-plugin/marketplace.json (Claude Code standard - tried first)
  2. {base_url}/marketplace.json (root location - fallback)

Local Sources

Local sources provide skills from filesystem directories for development and testing.

Complete Setup Workflow

1. Create Local Skills Directory
2. Create Skill Files
3. Generate Marketplace.json (Optional)
4. Configure Repository
5. Test Local Repository

Configuration Options

Directory Structure

Local repositories support flexible directory structures:
Skill ID Generation:
  • single-skill → ID: single-skill
  • category1/skill-a → ID: category1/skill-a
  • category2/nested/skill-c → ID: category2/nested/skill-c

Development Workflow

Rapid Iteration:
Version Control Integration:

Hot Reloading

Local sources support hot reloading during development:

Testing and Validation

Skill Validation:
Integration Testing:

Advanced Examples

Multi-Developer Setup:
CI/CD Testing:
Note: Local sources are not displayed in the registry web UI. They are only available for direct CLI operations.

Marketplace.json Requirement

Only Git and Zip URL sources are supported in the registry because they can provide marketplace.json files. The registry will:
  1. Fetch marketplace.json from the source URL
  2. Cache the response for 5 minutes (TTL)
  3. Display skills from the marketplace in the web UI
Sources without marketplace.json will not appear in the registry.

Managing Sources

Adding a Repository

Add a new repository using the CLI:
Or edit skill-project.toml directly:

Removing a Repository

Remove the repository using fastskill repos remove <name> or edit skill-project.toml directly.

Best Practices

  1. Use descriptive names: Repository names should clearly identify the repository
  2. Version control: Keep skill-project.toml in version control (includes repository configuration)
  3. Update marketplace.json: Regularly regenerate marketplace.json when skills change
  4. HTTPS: Use HTTPS URLs for security
  5. Caching: Be aware that marketplace.json is cached for 5 minutes
  6. Priority ordering: Use priority values to control repository search order

Troubleshooting

Source Not Appearing in Registry

  • Verify marketplace.json exists at the expected URL
  • Check that the source type is git or zip-url (not local)
  • Ensure the URL is accessible and returns valid JSON
  • Check server logs for fetch errors

Marketplace.json Not Found

  • Verify the URL is correct
  • Ensure marketplace.json is at the root of the repository (for Git sources)
  • Check that the base URL is correct (for Zip URL sources)

See Also