Library 与来源
1. 检查来源
Section titled “1. 检查来源”skills install owner/repo --list--list 列出远程技能,但不安装。如果找到多个技能,需要明确选择要安装的项目。
| 来源形式 | 说明 |
|---|---|
owner/repo[/subpath] |
GitHub 简写。 |
| GitHub tree URL | 保留指定分支和路径。 |
| Git URL | 使用 --branch 选择分支或标签。 |
| 归档 URL | 首次安装需要来源名称;内部路径会保留。 |
| 本地路径 | 直接复制内容;远程发现参数不适用。 |
2. 选择并安装
Section titled “2. 选择并安装”skills install owner/repo --select skills/review --repo-alias toolboxskills reposskills list repo:toolbox多次使用 --select PATH 可选择指定路径。--select . 选择来源根目录。--all 安装目录树各分支中有效的最外层技能,不会安装位于这些技能内部的嵌套技能。
远程技能复制进 Library 之前,Skills Manager 会检查所选的技能目录:拒绝 FIFO、设备文件等特殊文件,拒绝绝对路径或指向技能目录之外的符号链接,也拒绝超过 20,000 个条目或 512 MiB 文件内容的技能。只在技能内部互相指向的符号链接会保留。Git 来源只检查所选技能,同一仓库中其他不安全的技能不会妨碍安装。压缩包只要含有任何符号链接或特殊文件,就会整体被拒绝。本地路径按原样复制。
整理 Library 页面
Section titled “整理 Library 页面”Library 的 View 控件可以自动分组,也可以按仓库、标签或预设分组;选择 None 可显示为一个平铺列表。分组可按名称或技能数量排序,组内技能可按名称、Library 路径或搜索相关度排序。名称和路径都支持升序与降序。卡片、列表和紧凑布局均支持这些分组与排序方式。
Auto 会根据当前操作调整显示。普通浏览时,它按来源分组,并按名称排列技能;tag: 等过滤条件仍算作浏览。查询中出现自由文本后,它改为平铺列表并按相关度排序,使最匹配的结果保持在一起。如果手动选择了分组方式,自由文本搜索期间仍会保留这些分组;排序设为 Auto 时,会在各组内按匹配程度排列结果。
仓库、标签和预设的分组标题都可以折叠。按标签或预设分组时,同一技能属于多个项目便会出现在多个组中;数量、多选和操作仍按 Library key 识别技能,因此重复显示的技能只计算或处理一次。全选包含所有匹配技能,也包括折叠组中的匹配项。
分组、排序、折叠状态和布局选择只在当前 TUI 会话中保留。它们不会修改 Library 文件、元数据或已保存的配置;调整显示也不会重新扫描技能或计算内容哈希。
结果框的 View 控件位于顶部边框中。点击 View,或在 Library 的任意位置按 F2,即可打开菜单。使用 ←/→ 在 Layout、Group by、Sort 和 Group order 之间切换;Tab 前进到下一个类别,Shift+Tab 返回上一个类别。使用 ↑/↓、j/k 或滚轮切换设置会立即生效,菜单保持打开。按 Enter、Esc 或 F2 关闭菜单不会撤销已生效的更改。点击选项也会立即生效且不关闭菜单;点击菜单外部会关闭。类别标签和选项支持鼠标操作,菜单外部的滚轮事件会被忽略。结果平铺时,Group order 会弱化并在键盘导航中跳过;重新启用分组后会恢复先前的顺序值。没有自由文本搜索时,Relevance 不可用。焦点位于技能时,v 或 V 仍会在卡片、列表和紧凑布局之间循环切换。
填充高亮的类别标签表示当前页面;箭头和整行高亮表示键盘光标所在的选项;● 表示已经生效的值,○ 表示其他值。弹窗只包含设置。快捷键提示统一显示在屏幕最底部。
分组标题会显示匹配技能数和技能总数。选中标题后,按 Enter 或空格可切换折叠状态,按 ←/h 折叠,按 →/l 展开;点击标题也可切换。如需一次更改当前所有匹配分组,可使用结果框边框中的全部折叠、全部展开控件;终端变窄时,控件会依次缩短为紧凑文字和三角标记。结果列表获得焦点时,Ctrl+← 会全部折叠,Ctrl+→ 会全部展开;搜索输入框获得焦点时,这两个组合键仍按普通文本编辑方式工作。
浏览技能文件
Section titled “浏览技能文件”从任意 TUI 页面打开技能预览;在较宽的终端中,可同时查看精简元数据、技能文件树和所选文件。预览默认选中 SKILL.md 并聚焦文件内容。在正文按 ← 聚焦文件树,在文件树按 → 聚焦正文,也可用 Tab 切换。↑/↓ 或 j/k 控制当前区域的选中项或滚动;Enter/l 打开文件或展开、折叠目录;在文件树中按 ←/h 折叠目录或返回父目录;gg/G 跳转首尾,Ctrl-d/Ctrl-u 翻页。目录首次展开时才加载;隐藏条目默认不显示,按 . 切换。按 e 展开顶部元数据;使用 j/k、方向键、PgUp/PgDn、Home 或 End 滚动,再按 Tab 返回文件内容。预览宽度约为终端宽度的 80%,最多 160 列;终端窄于 64 列时默认只显示内容,按 ← 或 Tab 显示文件树,再按 → 或 Tab 返回正文。按 Esc 或 q 关闭预览,底层页面状态保持不变。
Markdown 文件沿用普通渲染预览,其他文本显示行号。二进制文件和不可读文件会显示说明;文本最多预览 256 KiB,截断时会明确提示。符号链接目录不可展开,符号链接文件只有在解析后的目标仍位于技能目录内时才会读取。浏览器只读,并复用现有 ui.icons 设置,在 Nerd Font 图标与文本标记之间切换。
安装后的名称
Section titled “安装后的名称”上面的安装命令使用 --repo-alias toolbox,因此 Skills Manager 会把所选技能存放在 repos/toolbox/ 下。安装完成后,输出中会显示后续命令要使用的完整 Library key。
| 名称 | 用途 |
|---|---|
| 来源显示名 | 在界面中标记来源。通过 --source-name NAME 设置;Git 来源默认使用 owner/repo。新的归档 URL 必须提供名称。 |
| Library key | 标识 Library 中存储的技能,由 --repo-alias 指定的存储别名和技能的本地存储名组成。 |
| 技能声明名 | 来自 SKILL.md 的 name 字段,并用作 Agent 链接名。它可以与本地存储名不同。 |
只选择一个技能时,--name local-name 设置本地存储名。选择多个技能时,可重复使用 --local-name upstream/path=local-name。这些选项不会修改 SKILL.md 中声明的名称,因此重复声明仍可能造成部署冲突。
重命名来源或技能
Section titled “重命名来源或技能”skills repos rename toolbox "Team toolkit"skills rename repos/toolbox/review repos/toolbox/review-local| 命令 | 结果 |
|---|---|
repos rename |
只修改来源显示名。 |
rename |
移动 Library 技能,并更新元数据和受管理链接;frontmatter name 不变。 |
Library key 变化后,检查预设成员。
本地内容与元数据
Section titled “本地内容与元数据”skills install ./path/to/skill --name my-skillskills adopt ./path/to/skillinstall 复制本地内容。adopt 将外部目录移入 Library。如果来源目录直接位于已配置的 Agent 目录中,原位置会变成链接。采用独立内容前先备份。
远程元数据保存在 .skills-meta/repos/<alias>.toml;独立记录可能使用 .skills-meta/repos/.root.toml。记录包括来源、安装名称、revision、基线和可选备注。本地技能不保留这些单技能记录。
skills set-source KEY REFERENCEskills remove KEY --yesskills set-source 只修改记录的来源,不替换内容,也不接受基线。skills remove 删除受管理的部署、内容和元数据。--keep-meta 保留元数据,但仍会删除内容。只需移除 Agent 链接时,使用取消部署保留技能。