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:
2026-07-04 12:11:53 +08:00
parent 9a3285fba6
commit f1ed320991
8 changed files with 533 additions and 116 deletions
+93
View File
@@ -0,0 +1,93 @@
---
name: skiff
description: >-
维护 ~/.skills 自研 skill:编辑后用 skiff publish 提交推送,用 skiff add/remove 在各项目或全局挂卸 skill。
触发词:skiff、自研 skill、publish skill、安装自研 skill、更新 skill 到项目。
---
# skiff 自研 Skill 工作流
SSOT 固定在 `~/.skills/skills/<name>/`。内容通过 **symlink** 分发到各 agent,改 SSOT 即全项目生效。
---
## 日常流程
### 1. 改 skill
直接编辑:
```
~/.skills/skills/<name>/SKILL.md
```
### 2. 提交并推送(不用离开当前目录)
```bash
skiff publish skills/<name> -m "update <name>" --push
```
只暂存不提交:
```bash
skiff publish skills/<name> --no-commit
```
### 3. 装到项目或全局
```bash
# 当前项目
cd ~/code/my-app
skiff add discussion-notes -a cursor -y
# 全局(所有项目)
skiff add discussion-notes -a cursor -g -y
# 多个 agent
skiff add discussion-notes -a cursor -a codex -g -y
```
### 4. 卸载
```bash
skiff remove discussion-notes -a cursor -y # 当前项目
skiff remove discussion-notes -g -a cursor -y # 全局
skiff rm discussion-notes -g -y # rm 别名
```
### 5. 浏览可用自研 skill
```bash
skiff add --list
```
---
## 与 Vercel `npx skills` 的分工
| 场景 | 工具 |
|------|------|
| 自研 skill~/.skills | **skiff** |
| 社区 skillGitHub 任意仓库) | `npx skills add` |
---
## 命令对照
| skiff | 说明 |
|-------|------|
| `add <name> [-g] [-a AGENT...] [-y]` | 安装 |
| `remove <name> [-g] [-a AGENT...] [-y]` | 卸载(`rm` / `r` 别名) |
| `add --list` | 列出可用自研 skill |
| `publish [paths] -m MSG [--push]` | git add / commit / push |
| `list` | 列出 ~/.skills 目录结构 |
| `status` | 查看软链安装状态 |
| `create <name>` | 新建自研 skill |
---
## 注意
- 不要在 `project/.agents/skills/` 里直接改文件;应改 `~/.skills/skills/``publish`
- symlink 正确时,**不需要 reinstall**;保存 SSOT 后各项目自动读到新内容
- 社区 skill 用 `npx skills add`,不要用 skiff `registry add` 除非团队要 pin 版本