Manage recommended skills sources with list, add, and remove operations.

xskill rec <COMMAND>

rec list

List all recommended sources:

xskill rec list

Output format:

SOURCE  NAME   URL                                  SKILLS
true    antfu  https://github.com/antfu/skills       vue, react
false   foo    invalid                              bar
  • SOURCE column: true if the name matches a configured source with consistent URL, false otherwise.
  • URL shows invalid (red) when the name exists in sources but URL doesn’t match, or when no URL can be resolved.

rec add

Add skills to a recommended source. If the entry already exists, new skills are appended (duplicates ignored).

xskill rec add [-n <name>] [-u <url>] -s <skills>

Options:

  • -n, --name — Source name (must exist in sources if --url not provided)
  • -u, --url — Source URL (when name exists in sources and url matches, only name is saved)
  • -s, --skills — Comma-separated list of skill names (required)

Parameter combination logic:

  • Only -n and -s: Validate -n exists in sources, save name + skills
  • -n, -u, and -s:
    • If -n exists in sources AND url matches -u: save only name + skills (no url needed)
    • If -n exists in sources BUT url doesn’t match: error
    • If -n doesn’t exist in sources: save url + skills (name becomes url)
  • Only -u and -s: Save url + skills

Append behavior: If entry “antfu” already has skills vue, running rec add -n antfu -s react,angular results in vue,react,angular.

rec remove

Remove a recommended source or specific skills:

xskill rec remove [-n <name>] [-u <url>] [-s <skills>]

Options:

  • -n, --name — Source name (used to identify entry, or with -u/-s for specific removal)
  • -u, --url — Source URL (when both -n and -u provided, -u takes priority)
  • -s, --skills — Comma-separated list of skill names to remove (removes specific skills instead of entire entry)

Priority logic:

  • When both -n and -u provided: prioritize -u (fallback to -n if url not found)
  • When only -n: delete entire entry with that name
  • When -n and -s: delete specific skills from entry with that name
  • When -u and -s: delete specific skills from entry with that url