This repository has been archived on 2026-05-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
obsidian/CS/TOOLS/skills 管理工具.md
T

203 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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) — 官方技能合集