OpenSkills 是一个通用的 AI 编码代理技能加载器,将 Anthropic 的技能系统带到多个平台,包括 Cursor、Claude Code、Windsurf、Aider 和 Codex。它允许代理在不同编码环境中使用标准化的 SKILL.md 文件。本文将介绍如何在 Cursor 中安装和使用 OpenSkills。

官方资源: - OpenSkills GitHub - OpenSkills 文档 - Cursor Skills 文档

什么是 OpenSkills?

OpenSkills 是一个跨平台的技能管理系统,具有以下特点:

  • 通用兼容性 - 支持 Cursor、Claude Code、Windsurf、Aider、Codex 等多个 AI 代理
  • 渐进式加载 - 只在需要时加载技能,保持上下文干净,防止 token 膨胀
  • 仓库友好 - 技能可以在项目中版本控制
  • 私有友好 - 可以从本地路径或私有 Git 仓库安装
  • 精确兼容 - 与 Claude Code 完全兼容,相同的提示格式和文件夹结构

Skills 是什么?

Skills(技能)是包含领域特定知识的文档,帮助 AI 代理更好地完成特定任务。每个技能都是一个 SKILL.md 文件,包含:

  • YAML 前置元数据 - 定义技能名称、描述、许可证等
  • 指令内容 - 告诉代理如何使用该技能
  • 可选脚本和模板 - 代理可以执行的脚本和模板

系统要求

  • Node.js - 版本 14 或更高(用于安装 OpenSkills CLI)
  • Cursor IDE - 版本 2.4 或更高
  • npmyarn - 包管理器

安装 OpenSkills

方法一:全局安装(推荐)⭐

全局安装 OpenSkills CLI 工具:

npm install -g openskills
# 或
yarn global add openskills

验证安装:

openskills --version

方法二:使用 npx(无需安装)

如果不想全局安装,可以直接使用 npx:

npx openskills install anthropics/skills

Cursor 中的技能目录

Cursor 会自动从以下目录发现技能:

  • .agents/skills/ - 项目级别
  • .cursor/skills/ - 项目级别(Cursor 专用)
  • ~/.cursor/skills/ - 全局/用户级别
  • .claude/skills/ - 兼容性目录(也支持)

安装位置选项

使用 OpenSkills 安装技能时,可以选择安装位置:

项目本地安装(默认):

openskills install anthropics/skills
# 安装到 ./.claude/skills/ 或 ./.cursor/skills/

全局安装:

openskills install anthropics/skills --global
# 安装到 ~/.cursor/skills/

通用安装:

openskills install anthropics/skills --universal
# 安装到 ./.agent/skills/

基本使用

安装技能

从 Anthropic 官方技能库安装:

openskills install anthropics/skills

这会安装 Anthropic 官方维护的所有技能。

安装特定技能:

openskills install owner/skill-name

例如:

openskills install obra/superpowers
openskills install glittercowboy/get-shit-done

从本地路径安装:

openskills install ./path/to/skill

从私有 Git 仓库安装:

openskills install git+https://github.com/owner/repo.git

同步技能

安装后,同步技能以确保所有文件正确:

openskills sync

列出已安装的技能

openskills list

查看技能内容

openskills read <skill-name>

例如:

openskills read superpowers

卸载技能

openskills uninstall <skill-name>

在 Cursor 中使用技能

自动使用

Cursor 会自动发现并应用相关技能。当你询问涉及已安装技能的任务时,Cursor 会自动加载并使用该技能。

例如,如果你安装了 superpowers 技能,当你询问关于测试驱动开发的问题时,Cursor 会自动应用该技能。

手动调用

在 Cursor 的 Agent 聊天中,你可以手动调用技能:

方法 1:使用斜杠命令

在聊天中输入 /,然后搜索技能名称:

/learn @owner/skill-name

例如:

/learn @obra/superpowers

方法 2:直接引用

在对话中直接提到技能:

使用 @superpowers 技能来帮我进行测试驱动开发

查看可用技能

在 Cursor 中,你可以询问:

列出所有可用的技能

或者查看技能目录:

ls ~/.cursor/skills/
# 或
ls ./.cursor/skills/

SKILL.md 文件结构

每个技能都是一个 SKILL.md 文件,包含 YAML 前置元数据和指令内容:

---
name: "技能名称"
description: "技能描述"
version: "1.0.0"
license: "MIT"
compatibility:
  - cursor
  - claude-code
---

# 技能名称

## 何时使用

当需要 [特定场景] 时使用此技能。

## 工作流程

1. 第一步
2. 第二步
3. 第三步

## 示例

示例代码或使用场景。

必需的元数据字段

  • name - 技能名称
  • description - 技能描述

可选的元数据字段

  • version - 版本号
  • license - 许可证
  • compatibility - 兼容的平台列表
  • author - 作者
  • tags - 标签列表

创建自定义技能

步骤 1:创建技能目录

mkdir -p .cursor/skills/my-custom-skill
cd .cursor/skills/my-custom-skill

步骤 2:创建 SKILL.md 文件

nano SKILL.md

添加内容:

---
name: "我的自定义技能"
description: "这是一个自定义技能示例"
version: "1.0.0"
compatibility:
  - cursor
---

# 我的自定义技能

## 何时使用

当需要处理 [特定任务] 时使用此技能。

## 工作流程

1. 分析需求
2. 创建实现计划
3. 执行并验证

## 注意事项

- 注意点 1
- 注意点 2

步骤 3:测试技能

在 Cursor 中测试你的技能:

使用 @my-custom-skill 技能来处理这个任务

步骤 4:分享技能(可选)

如果你想分享技能,可以:

  1. 创建 GitHub 仓库
  2. 推送技能文件
  3. 其他人可以通过 openskills install your-username/repo-name 安装

常用技能推荐

1. Superpowers

一个完整的软件开发工作流工具包:

openskills install obra/superpowers

提供测试驱动开发、系统化调试、代码审查等工作流。

2. Get Shit Done (GSD)

规范驱动开发系统:

openskills install glittercowboy/get-shit-done

提供项目生命周期管理的完整工作流。

3. Anthropic 官方技能

Anthropic 维护的官方技能集合:

openskills install anthropics/skills

包含多个经过验证的技能。

技能管理最佳实践

1. 项目级别 vs 全局级别

  • 项目级别 - 特定项目需要的技能,放在 .cursor/skills/
  • 全局级别 - 所有项目都用的技能,放在 ~/.cursor/skills/

2. 版本控制

将项目级别的技能添加到 Git:

# .gitignore 中不需要忽略
git add .cursor/skills/
git commit -m "Add project skills"

3. 定期更新

定期更新技能以获取最新功能:

openskills sync
openskills update

4. 技能组织

按功能或类别组织技能:

.cursor/skills/
├── testing/
│   ├── tdd/
│   └── integration-testing/
├── debugging/
│   └── systematic-debugging/
└── code-review/
    └── pr-review/

高级功能

1. 技能组合

可以组合使用多个技能:

使用 @superpowers 的 TDD 技能和 @get-shit-done 的规划技能来处理这个任务

2. 技能依赖

技能可以依赖其他技能。在 SKILL.md 的元数据中声明:

---
name: "高级技能"
dependencies:
  - superpowers
  - get-shit-done
---

3. 技能脚本

技能可以包含可执行的脚本:

## 脚本

技能目录中可以包含 `scripts/` 文件夹,包含可执行的脚本文件。

4. 技能模板

技能可以提供代码模板:

## 模板

技能目录中可以包含 `templates/` 文件夹,包含代码模板。

故障排除

Q: 技能安装后无法使用?

A: 检查以下几点:

  1. 确认安装位置 - 检查技能是否安装在 Cursor 能发现的目录
  2. 重启 Cursor - 安装后重启 Cursor 以重新加载技能
  3. 检查文件结构 - 确保 SKILL.md 文件存在且格式正确
  4. 查看日志 - 检查 Cursor 的日志文件
# 检查技能是否存在
ls ~/.cursor/skills/
ls ./.cursor/skills/

# 验证 SKILL.md 格式
cat .cursor/skills/skill-name/SKILL.md

Q: 技能自动加载失败?

A:

  1. 明确引用 - 在对话中明确提到技能名称
  2. 使用斜杠命令 - 使用 /learn @owner/skill-name
  3. 检查兼容性 - 确保技能支持 Cursor

Q: 如何更新技能?

A:

# 同步所有技能
openskills sync

# 更新特定技能
openskills install owner/skill-name --force

Q: 技能占用太多上下文?

A:

OpenSkills 使用渐进式加载,只在需要时加载技能。如果仍然占用太多:

  1. 精简技能内容 - 只保留必要的指令
  2. 拆分技能 - 将大技能拆分为多个小技能
  3. 使用引用 - 在技能中使用文件引用而不是内联内容

实际应用示例

示例 1:安装并使用 Superpowers

# 安装
openskills install obra/superpowers --global

# 在 Cursor 中使用
# 输入:使用测试驱动开发的方式实现用户认证功能
# Cursor 会自动应用 superpowers 的 TDD 技能

示例 2:创建项目特定技能

# 创建技能目录
mkdir -p .cursor/skills/project-conventions

# 创建 SKILL.md
cat > .cursor/skills/project-conventions/SKILL.md <<EOF
---
name: "项目约定"
description: "本项目特定的编码约定和规范"
---

# 项目约定

## 代码风格

- 使用 TypeScript
- 遵循 ESLint 规则
- 使用 Prettier 格式化

## 测试要求

- 所有新功能必须有测试
- 测试覆盖率 > 80%
EOF

# 在 Cursor 中使用
# 输入:按照项目约定创建新的 API 端点

示例 3:组合使用多个技能

使用 @superpowers 的测试驱动开发技能和 @get-shit-done 的规划技能来实现用户管理系统

总结

OpenSkills 是一个强大的技能管理系统,为 Cursor 提供了:

  • 跨平台兼容 - 支持多个 AI 代理平台
  • 渐进式加载 - 高效使用上下文
  • 易于管理 - 简单的 CLI 工具
  • 灵活扩展 - 可以创建和分享自定义技能

关键要点:

  1. 使用 npm install -g openskills 全局安装

  2. 使用 openskills install 安装技能

  3. Cursor 会自动发现 .cursor/skills/~/.cursor/skills/ 中的技能

  4. 技能可以通过自动或手动方式使用

  5. 可以创建自定义技能来满足特定需求

相关资源: