sources — Manage configured sources

List, add, remove, or rename skill sources in the configuration.

sources list

List all configured sources:

xskill sources
# or explicitly:
xskill sources list

Output format:

#  NAME   TYPE URL
1  antfu  git  https://github.com/antfu/skills

sources add

Add a new source:

xskill sources add -n <name> -u <url> [-t git|api]

Options:

  • -n, --name — Source name (optional, alphanumeric with -, _, and / to support user/repo format; when omitted, the path is auto-extracted from the URL, e.g. https://github.com/user/repo.gituser/repo)
  • -u, --url — Source URL (required, must start with http:// or https://)
  • -t, --type — Source type: git or api (default: git)

Examples:

# With explicit name
xskill sources add -n my-skills -u https://github.com/example/skills

# Name auto-extracted as "user/repo"
xskill sources add -u https://github.com/user/repo.git

# Slash-separated name
xskill sources add -n org/team/repo -u https://gitlab.com/org/team/repo

sources remove

Remove a source by name, URL, or index:

xskill sources remove -n <name>
xskill sources remove -u <url>
xskill sources remove -n <name> -u <url>
xskill sources remove -i <index>

Options:

  • -n, --name — Source name to remove (optional)
  • -u, --url — Source URL to remove (optional)
  • -i, --index — Source index from sources list (optional, 1-based)

Priority: --name/--url > --index. At least one of --name, --url, or --index is required. When both --name and --url are provided, both must match for the source to be removed.

sources rename

Rename an existing source (only the name can be changed; url and type are immutable):

xskill sources rename -n <name> -N <new-name>
xskill sources rename -i <index> -N <new-name>

Options:

  • -n, --name — Current source name (or use -u to match by URL)
  • -u, --url — Current source URL (alternative identifier)
  • -i, --index — Source index from sources list (optional, 1-based)
  • -N, --new-name — New name (required, pass empty string to clear the name)

Priority: --name/--url > --index. At least one of --name, --url, or --index is required.