find — 交互式查找并安装技能

启动多步交互式 TUI,支持多选批量安装技能。同源技能仅 clone 一次仓库,避免重复拉取。

xskill find [OPTIONS]

选项:

  • -f, --from <SOURCE> — 按源名称或 URL 过滤技能
  • -s, --skill <QUERY> — 预填充过滤查询
  • -g, --global — 安装到全局 ~/.agents/ 目录(默认:项目级 .agents/

工作流程

  1. 选择技能 — 多选子串搜索(exact 模式)。显示格式:name [source](注册中心条目显示 name [registry] [source])。非选中行技能名称使用默认色,选中行使用蓝色。source 标签始终暗灰色;[registry] 标签选中时变为绿色。搜索框在底部,列表向上排列。快捷键提示:TAB: multi-select | enter confirm | esc cancel。按 TAB 多选技能,Enter 确认。未 TAB 选中时直接 Enter,使用光标所在项。
  2. 选择目标平台 — TUI 多选。首项为 Default(不可选中,表示不创建平台符号链接)。agents_compat 平台不在可选列表中,以 SELECTED: <platform1>, <platform2>, ... 形式显示在 header 中。后续为非兼容的配置平台。按 TAB 选择/取消选择,Enter 确认。选中行使用蓝色文字和深色背景高亮。
  3. 安装 — 按 source URL 分组,每组仅 clone 一次仓库。从 CachedSkill.path 提取正确安装路径(支持嵌套路径,如 skills/engineering/grill/SKILL.md,或根目录级别的 my-skill/SKILL.md)。安装到规范目录(.agents/skills/<name>-g~/.agents/skills/<name>),然后为每个选中的平台创建相对符号链接。输出 Installed:Symlinked: 和失败的平台(如有)。各技能输出之间以空行分隔。注册中心的技能直接使用 URL 克隆,不依赖本地 sources 配置。

任意步骤按 Esc 或 Ctrl-C 取消。

已知问题:skim 库的列表行号从 0 开始(skim 5.2.0 行为),非本项目可控。

示例

# 打开交互式查找器
xskill find

# 预过滤匹配 "git" 的技能
xskill find --skill git

# 从指定源查找
xskill find --from antfu

# 从 URL 查找(自动缓存 10 分钟)
xskill find --from https://github.com/example/skills

注意: 需要已填充的缓存。如尚未更新缓存,请先运行 xskill cache update。使用 URL 方式的 --from 时,技能列表会自动拉取并缓存。