203 lines
5.9 KiB
Markdown
203 lines
5.9 KiB
Markdown
|
|
---
|
|||
|
|
tags: [tools, cli, agent, skills, claude-code, cursor]
|
|||
|
|
create time: 2026-04-24 10:00
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Skills 管理工具
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
`skills` 是开源智能体技能生态的 CLI 管理工具([仓库](https://github.com/YishenTu/claudian)),用于在多种 AI 编程智能体(如 Claude Code、Cursor、Codex 等 40+ 种)之间统一安装、搜索、管理和创建 Agent Skills。
|
|||
|
|
|
|||
|
|
> **什么是 Agent Skill?** 它是一段可复用的指令集(定义在 `SKILL.md` 文件中),通过 YAML frontmatter 声明名称和描述,让 AI 智能体获得特定领域的专业知识。
|
|||
|
|
|
|||
|
|
**想一想:** 为什么需要一个统一的 skills 管理工具,而不是各智能体各自管理?
|
|||
|
|
|
|||
|
|
## 安装方式
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 从 GitHub 仓库安装
|
|||
|
|
npx skills add vercel-labs/agent-skills
|
|||
|
|
|
|||
|
|
# 从完整 GitHub URL 安装
|
|||
|
|
npx skills add https://github.com/vercel-labs/agent-skills
|
|||
|
|
|
|||
|
|
# 安装仓库中某个具体的 skill
|
|||
|
|
npx skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
|
|||
|
|
|
|||
|
|
# 从 GitLab / 任意 git URL 安装
|
|||
|
|
npx skills add https://gitlab.com/org/repo
|
|||
|
|
npx skills add git@github.com:vercel-labs/agent-skills.git
|
|||
|
|
|
|||
|
|
# 从本地路径安装
|
|||
|
|
npx skills add ./my-local-skills
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 核心概念
|
|||
|
|
|
|||
|
|
### 安装作用域
|
|||
|
|
|
|||
|
|
| 作用域 | 标志 | 存放位置 | 适用场景 |
|
|||
|
|
|---------|------|----------|----------|
|
|||
|
|
| **项目级** | (默认) | `./<agent>/skills/` | 提交到仓库,与团队共享 |
|
|||
|
|
| **全局级** | `-g` | `~/<agent>/skills/` | 所有项目通用 |
|
|||
|
|
|
|||
|
|
### 安装方式
|
|||
|
|
|
|||
|
|
| 方式 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **符号链接(推荐)** | 各智能体指向同一份文件,单一来源,更新方便 |
|
|||
|
|
| **复制** | 每个智能体持有独立副本,适用于不支持符号链接的场景 |
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 全局安装
|
|||
|
|
npx skills add vercel-labs/agent-skills -g
|
|||
|
|
|
|||
|
|
# 复制而非符号链接
|
|||
|
|
npx skills add vercel-labs/agent-skills --copy
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 支持的智能体
|
|||
|
|
|
|||
|
|
工具支持 **40+ 种** 编程智能体,包括 Claude Code、Cursor、Codex、OpenCode、Windsurf、Copilot、Kiro CLI 等。安装时会自动检测已安装智能体,若无则提示选择。
|
|||
|
|
|
|||
|
|
> **注意:** Kiro CLI 用户需手动在 `.kiro/agents/<agent>.json` 中添加 `resources` 配置。
|
|||
|
|
|
|||
|
|
## 常用操作
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 列出仓库中可用技能(不安装)
|
|||
|
|
npx skills add vercel-labs/agent-skills --list
|
|||
|
|
|
|||
|
|
# 安装指定技能
|
|||
|
|
npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
|
|||
|
|
|
|||
|
|
# 安装到指定智能体
|
|||
|
|
npx skills add vercel-labs/agent-skills -a claude-code -a opencode
|
|||
|
|
|
|||
|
|
# 静默安装(CI/CD 友好)
|
|||
|
|
npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
|
|||
|
|
|
|||
|
|
# 一键安装所有技能到所有智能体
|
|||
|
|
npx skills add vercel-labs/agent-skills --all
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 管理已安装技能
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 列出所有已安装的技能
|
|||
|
|
npx skills list
|
|||
|
|
npx skills ls -g # 仅全局
|
|||
|
|
npx skills ls -a cursor # 仅指定智能体
|
|||
|
|
|
|||
|
|
# 交互式搜索技能(或按关键词搜索)
|
|||
|
|
npx skills find
|
|||
|
|
npx skills find typescript
|
|||
|
|
|
|||
|
|
# 更新技能
|
|||
|
|
npx skills update # 全部更新
|
|||
|
|
npx skills update my-skill # 单个
|
|||
|
|
npx skills update -g # 仅全局
|
|||
|
|
|
|||
|
|
# 移除技能
|
|||
|
|
npx skills remove # 交互式选择
|
|||
|
|
npx skills remove web-design-guidelines # 指定名称
|
|||
|
|
npx skills remove --all # 全部移除
|
|||
|
|
npx skills rm my-skill # rm 别名
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 创建自定义 Skill
|
|||
|
|
|
|||
|
|
一个 Skill 就是一个包含 `SKILL.md` 的目录:
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
---
|
|||
|
|
name: my-skill
|
|||
|
|
description: 这个技能做什么,何时使用它
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# My Skill
|
|||
|
|
|
|||
|
|
智能体遵循的操作指令。
|
|||
|
|
|
|||
|
|
## 何时使用
|
|||
|
|
|
|||
|
|
描述适用场景。
|
|||
|
|
|
|||
|
|
## 步骤
|
|||
|
|
|
|||
|
|
1. 首先,做这个
|
|||
|
|
2. 然后,做那个
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**必填字段:** `name`(唯一标识,小写+连字符)和 `description`(简短说明)。
|
|||
|
|
|
|||
|
|
**可选字段:** `metadata.internal: true` 可将技能设为隐藏,仅 `INSTALL_INTERNAL_SKILLS=1` 时可见。
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 在当前目录创建 SKILL.md 模板
|
|||
|
|
npx skills init
|
|||
|
|
|
|||
|
|
# 在子目录创建
|
|||
|
|
npx skills init my-skill
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### SKILL.md 的结构设计(教学者模式)
|
|||
|
|
|
|||
|
|
编写 skill 时,建议遵循以下结构让智能体更容易理解:
|
|||
|
|
|
|||
|
|
| 章节 | 目的 | 示例 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `name` + `description` | 告诉智能体这是什么 | "用于生成 Git 发布日志" |
|
|||
|
|
| **何时使用** | 触发条件 | "在 `git log` 后使用" |
|
|||
|
|
| **步骤** | 具体操作 | 分步指令 |
|
|||
|
|
|
|||
|
|
> **思考:** 为什么 description 需要写得简洁但具体?因为智能体依赖它来判断何时激活该 skill。
|
|||
|
|
|
|||
|
|
## 技能发现路径
|
|||
|
|
|
|||
|
|
CLI 会在仓库中按以下路径自动搜索 `SKILL.md`:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
SKILL.md # 仓库根目录
|
|||
|
|
skills/
|
|||
|
|
.curated/ # 经过审核的技能
|
|||
|
|
.experimental/ # 实验性技能
|
|||
|
|
.system/ # 系统级技能
|
|||
|
|
.agents/skills/
|
|||
|
|
.claude/skills/
|
|||
|
|
.cursor/skills/
|
|||
|
|
...(各智能体专属目录)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
也支持通过 `.claude-plugin/marketplace.json` 声明插件技能,兼容 Claude Code 插件市场生态。
|
|||
|
|
|
|||
|
|
## 跨智能体兼容性
|
|||
|
|
|
|||
|
|
所有技能遵循统一的 [Agent Skills Specification](https://agentskills.io),但部分特性仅部分智能体支持:
|
|||
|
|
|
|||
|
|
- **基础技能** — 所有智能体均支持
|
|||
|
|
- **`allowed-tools`** — 大多数支持,Kiro CLI 和 Zencoder 不支持
|
|||
|
|
- **`context: fork`** — 仅 Claude Code 支持
|
|||
|
|
- **Hooks** — Claude Code 和 Cline 支持
|
|||
|
|
|
|||
|
|
## 环境变量
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 显示隐藏的 internal 技能
|
|||
|
|
INSTALL_INTERNAL_SKILLS=1 npx skills add vercel-labs/agent-skills --list
|
|||
|
|
|
|||
|
|
# 关闭遥测
|
|||
|
|
export DISABLE_TELEMETRY=1
|
|||
|
|
# 或
|
|||
|
|
export DO_NOT_TRACK=1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
> **小贴士:** 在 CI 环境中遥测会自动禁用,无需额外配置。
|
|||
|
|
|
|||
|
|
## 相关资源
|
|||
|
|
|
|||
|
|
- [技能目录](https://skills.sh) — 发现和浏览公开技能
|
|||
|
|
- [Agent Skills 规范](https://agentskills.io) — 统一规范文档
|
|||
|
|
- [Vercel Agent Skills 仓库](https://github.com/vercel-labs/agent-skills) — 官方技能合集
|