feat(skiff): align CLI with Vercel skills and fix entry symlink
Replace install/uninstall with add/remove, add publish for git ops in ~/.skills, and resolve bin/skiff symlinks so commands work from any cwd. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+35
-9
@@ -9,7 +9,29 @@ cd /path/to/skills # 本仓库根目录
|
||||
./install.sh # 软链到 ~/.local/bin/skiff
|
||||
```
|
||||
|
||||
确保 `~/.local/bin` 在 `PATH` 中。开发时也可直接运行:
|
||||
确保 `~/.local/bin` 在 `PATH` 中。
|
||||
|
||||
## 命令风格
|
||||
|
||||
接口对齐 [Vercel skills CLI](https://github.com/vercel-labs/skills) 的 `add` / `remove`,专用于 **~/.skills 自研 skill**。
|
||||
|
||||
```bash
|
||||
# 浏览可用自研 skill
|
||||
skiff add --list
|
||||
|
||||
# 装到当前项目 / 全局
|
||||
skiff add discussion-notes -a cursor -y
|
||||
skiff add discussion-notes -a cursor -g -y
|
||||
|
||||
# 卸载
|
||||
skiff remove discussion-notes -a cursor -y
|
||||
skiff rm discussion-notes -g -y
|
||||
|
||||
# 改完 skill 后提交推送(在任意目录执行,操作 ~/.skills)
|
||||
skiff publish skills/discussion-notes -m "update discussion-notes" --push
|
||||
```
|
||||
|
||||
开发时也可直接运行:
|
||||
|
||||
```bash
|
||||
PYTHONPATH=/path/to/skills python3 -m skiff <command>
|
||||
@@ -42,8 +64,12 @@ skiff setup ~/code/gitea/skills # 将 ~/.skills 软链到仓库
|
||||
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `skiff install <name> [--target all]` | 软链到 Agent 全局目录 |
|
||||
| `skiff uninstall <name> [--target all]` | 移除软链 |
|
||||
| `skiff add <name> [--global] [-a AGENT...] [-y]` | 安装到 Agent 目录(软链) |
|
||||
| `skiff remove <name> [--global] [-a AGENT...] [-y]` | 移除软链(`rm` / `r` 别名) |
|
||||
| `skiff add --list` | 列出可用自研 skill |
|
||||
| `skiff publish [paths] -m MSG [--push]` | 在 ~/.skills 内 git add/commit/push |
|
||||
|
||||
旧命令 `install` / `uninstall` 已移除,请改用 `add` / `remove`。
|
||||
|
||||
全局目标路径:
|
||||
|
||||
@@ -57,9 +83,9 @@ skiff setup ~/code/gitea/skills # 将 ~/.skills 软链到仓库
|
||||
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `skiff add <name> <repo-url> [--ref main] [--path .]` | 写入 `registry.yaml` |
|
||||
| `skiff registry add <name> <repo-url> [--ref main] [--path .]` | 写入 `registry.yaml` |
|
||||
| `skiff fetch <name>` | 克隆/更新到 `~/.local/share/skills/externals/<name>/` |
|
||||
| `skiff install-external <name> [--target all]` | 安装外部 skill 到 Agent 目录 |
|
||||
| `skiff add <name> [-g] [-a AGENT...]` | 安装 registry 中的外部 skill(缺失时自动 fetch) |
|
||||
|
||||
### 项目级
|
||||
|
||||
@@ -91,16 +117,16 @@ skiff setup ~/code/gitea/skills # 将 ~/.skills 软链到仓库
|
||||
```bash
|
||||
skiff create my-skill
|
||||
# 编辑 skills/my-skill/SKILL.md
|
||||
skiff install my-skill --target cursor
|
||||
skiff doctor --target cursor
|
||||
skiff publish skills/my-skill -m "add my-skill" --push
|
||||
skiff add my-skill -a cursor -g -y
|
||||
skiff doctor -a cursor
|
||||
```
|
||||
|
||||
### 在项目中启用 skill
|
||||
|
||||
```bash
|
||||
cd ~/code/my-app
|
||||
skiff enable declarative-openspec-loop --target cursor
|
||||
skiff sync
|
||||
skiff add declarative-openspec-loop -a cursor -y
|
||||
```
|
||||
|
||||
### 安装外部 Git skill
|
||||
|
||||
Reference in New Issue
Block a user