一、什么是 Skills?它到底解决了什么痛点?
想象这样一个场景:你正在用CodeBuddy写代码,每次让 AI 帮忙审查代码,都要重复说: "请用中文写注释"、"记得检查空指针"、"按照我们团队的 RESTful 规范来"。说了一遍又一遍,AI 还是经常忘记。
Skills(技能)就是来解决这个问题的。
简单来说,Skills 是给 AI 准备的一份"专业上岗培训手册" 。你可以把团队的代码规范、特定的开发流程、或者某个领域(如 Chrome 插件开发)的最佳实践,打包成一个 Skill。一旦安装,AI 就会自动记住这些规则,在你需要的时候自动调用,无需反复提醒。
核心痛点解决
| 痛点 | 传统方式 | 使用 Skills 后 |
|---|---|---|
| 重复劳动 | 每次都要粘贴同样的 prompt | 一次编写,永久复用,自动触发 |
| 团队标准不一 | 新人不知道团队规范,AI 输出风格各异 | Skill 随 Git 仓库共享,全员统一标准 |
| 上下文溢出 | 长 prompt 占用大量 token,导致 AI 失忆 | 渐进式加载,用时才展开,节省 token |
| 知识沉淀困难 | 好的提示词散落在聊天记录里 | 标准化文件,可版本控制,沉淀为团队资产 |
一句话总结:Skills 让 AI 从"通用实习生"变成"懂行老手",知道在什么时候该用什么方法做什么事。
这里也推荐我在B站看的科普视频,讲得很形象
二、在 CodeBuddy中使用 Skills:从零开始
这里为啥用CodeBuddy这个软件,无他,就因为免费,大多数人能够直接接触到,国外的一些IDE和模型都要用魔法,新手使用不方便
CodeBuddy(腾讯的 AI IDE)近期全面支持了 Skills 功能,并且支持全局 Skills(所有项目通用)和项目 Skills(仅当前项目生效)两种类型
第一步:创建 Skills 的目录
Skills 通过在特定目录中创建 SKILL.md 文件来定义:
- 项目级 Skills:
.codebuddy/skills/(项目根目录下)- 用户级 Skills:
~/.codebuddy/skills/(用户主目录下)
每个 Skill 一个独立的目录,包含 SKILL.md 文件,整体框架目录如下:
.codebuddy/skills/
├── pdf/
│ └── SKILL.md
├── data-analysis/
│ └── SKILL.md
└── code-review/
└── SKILL.md
每个技能文件夹下面又可以细分
skill-name(pdf)/
├── SKILL.md (必需)
│ ├── YAML frontmatter 元数据 (必需)
│ │ ├── name: (必需)
│ │ └── description: (必需)
│ └── Markdown 指令 (必需)
└── Bundled Resources (可选)
├── scripts/ - 可执行代码 (Python/Bash 等)
├── references/ - 旨在根据需要加载到上下文中的文档
└── assets/ - 用在输出中的文件 (模板、图标、字体等)
SKILL.md (必需)
这是 Skill 的核心定义文件。
元数据 ( YAML Frontmatter): name ****和 description ****决定了 AI 何时会使用这个 Skill。描述需具体说明 Skill 的功能和使用场景。
示例:
---
name: pdf-editor
description: This skill should be used when users ask to modify, rotate, or extract text from PDF files.
allowed-tools: # 可选,指定允许使用的工具
disable: false # 可选,是否禁用
---
# PDF Editor
To rotate a PDF...
打包资源 (可选)
-
Scripts (
scripts/)
用于需要确定性可靠性或被重复重写的任务的可执行代码。
- 用途:当代码被重复重写或需要高可靠性时。
- 示例:
scripts/rotate_pdf.py用于 PDF 旋转。
-
References (
references/)
旨在根据需要加载到上下文中以辅助 AI 思考的文档和参考资料。
- 用途:数据库架构、API 文档、领域知识、公司政策等。
- 优势:保持
SKILL.md精简,仅在 AI 确定需要时才加载。
-
Assets (
assets/)
不打算加载到上下文中,而是用于 AI 生成的输出中的文件。
- 用途:品牌资产、PPT 模板、HTML/React 样板代码等。
了解完上面,创建的目录如下:
第二步:创建你的第一个 Skill:比想象中简单
一个标准的 Skill 就是一个文件夹,核心是 ****SKILL.md 文件
一个 Skill 本质上就是一个 Markdown 文件(文件名固定为 SKILL.md),内容几乎只由下面三段组成:
SKILL.md 基本模板:
---
name: your-skill-name
description: What it does and when Claude should use it
---
# Skill Title
## Instructions
Clear, concrete, actionable rules.
## Examples
- Example usage 1
- Example usage 2
## Guidelines
- Guideline 1
- Guideline 2
| 字段 | 必填 | 说明 | 示例 |
|---|---|---|---|
| name | 否 | Skill 名称,未指定时使用目录名 | |
| description | 否 | Skill 描述,帮助 AI 理解何时使用 | PDF 文档处理专家 (project) |
| allowed-tools | 否 | 允许使用的工具白名单,逗号分隔 | Read, Write, Bash |
| disable-model-invocation | 否 | 设置为 true 时,Skill 不会出现在 Skill 工具中,只能通过 /skill-name 手动触发 | TRUE |
这里给出一个案例,大家可以进行尝试,比较简单,所以只是用SKILL.md即可,不需要脚本和素材之类的
示例 :前端页面设计 Skill
文件:.codebuddy/skills/frontend-design/SKILL.md
---
name: frontend-design
description: 创建具有高品质设计的独特、生产级前端界面。当用户要求构建 Web 组件、页面、作品、海报或应用程序时使用此技能(示例包括网站、落地页、仪表盘、React 组件、HTML/CSS 布局,或为任何 Web UI 进行美化/优化)。生成具有创意、精致代码和 UI 设计,避免通用 AI 美学。
license: 完整条款见 LICENSE.txt
---
本技能指导创建独特、生产级前端界面,避免通用的"AI 垃圾"美学。实现真正可用的代码,对美学细节和创意选择给予特别关注。
用户提供前端需求:要构建的组件、页面、应用程序或界面。他们可能包含有关用途、受众或技术约束的上下文。
## 设计思维
在编码之前,理解上下文并致力于**大胆**的美学方向:
- **目的**:此界面解决什么问题?谁使用它?
- **风格**:选择一个极端:极简主义、极繁主义混乱、复古未来主义、有机/自然、奢华/精致、趣味/玩具风、编辑/杂志风、粗野主义/原始、装饰艺术/几何、柔和/ pastel、工业/实用等。有众多风格可供选择。将这些作为灵感,但设计出忠于美学方向的风格。
- **约束**:技术要求(框架、性能、无障碍)。
- **差异化**:是什么让它**令人难忘**?有什么是别人会记住的?
**关键**:选择清晰的概念方向并精准执行。大胆极繁和精致极简都有效——关键是意图性,而非强度。
然后实现可用的代码(HTML/CSS/JS、React、Vue 等),具备:
- 生产级和功能完整
- 视觉冲击力和令人难忘
- 具有清晰美学观点的连贯性
- 每个细节都精心打磨
## 前端美学指南
专注于:
- **字体排版**:选择美观、独特、有趣的字体。避免通用字体如 Arial 和 Inter;选择能够提升前端美学的独特字体;出人意料、有个性的字体选择。将独特的展示字体与精致正文字体搭配。
- **色彩与主题**:致力于连贯的美学。使用 CSS 变量保持一致性。主色调搭配锐利点缀色胜过胆怯、均匀分布的调色板。
- **动效**:使用动画实现效果和微交互。HTML 优先使用纯 CSS 方案。React 可用时使用 Motion 库。专注于高影响力时刻:一个精心编排的页面加载配合交错显示(animation-delay)比分散的微交互带来更多愉悦。使用滚动触发和令人惊喜的悬停状态。
- **空间构图**:意想不到的布局。不对称。重叠。对角线流动。打破网格的元素。充足的负空间**或**控制的密度。
- **背景与视觉细节**:创造氛围和深度,而非默认纯色。添加与整体美学匹配的上下文效果和纹理。应用创意形式如渐变网格、噪点纹理、几何图案、分层透明、戏剧性阴影、装饰性边框、自定义光标和颗粒叠加。
永远不要使用通用的 AI 生成美学,如过度使用的字体家族(Inter、Roboto、Arial、系统字体)、陈词滥调的配色方案(特别是白色背景上的紫色渐变)、可预测的布局和组件模式,以及缺乏上下文特性的千篇一律设计。
富有创意地诠释并做出出人意料的选择,让人感觉真正为上下文而设计。没有设计应该是相同的。在明暗主题、不同字体、不同美学之间变化。永远不要跨越世代趋同于常见选择(例如 Space Grotesk)。
**重要**:将实现复杂度与美学愿景匹配。极繁主义设计需要包含大量动画和效果的复杂代码。极简或精致设计需要克制、精确,并仔细关注间距、字体和微妙细节。优雅来自于良好地执行愿景。
记住:Claude 能够创造非凡的创意作品。不要退缩,展示当跳出思维定势并完全致力于独特愿景时,真正能创造什么。
第三步:使用Skill
我们写一个前端html页面,刚好满足这个Skill,看下AI如何操作吧
可以看到AI自己自动使用Skill,接下来我们看一下页面的效果吧
还是比较好看的
三、推荐开源 Skills及如何下载使用
以下是 GitHub 上最热门的 Skills 仓库,下载后按照需要将对应的Skill导入到 .codebuddy/skills/ 目录:
开源Skills
1. anthropics/skills(官方,必装)
- Star: 40k+
- 地址: github.com/anthropics/…
- 亮点:官方出品,包含文档处理(PDF/Word/Excel/PPT)、skill-creator(创建 Skill 的 Skill)、MCP 构建器等。新手入门首选。
2. obra/superpowers(社区最强)
- Star: 22k+
- 地址: github.com/obra/superp…
- 亮点:包含 20+ 实战技能,涵盖 TDD 测试驱动开发、Debug 调试模式、团队协作规范等,非常接地气。
3. vercel-labs/agent-skills(前端专属)
- 地址: github.com/vercel-labs…
- 亮点:Vercel 团队维护,包含
react-best-practices和vue-best-practices,整理了 40+ 条 React/Next.js 性能与架构规则,AI 写代码时会主动提示性能陷阱。
4. K-Dense-AI/claude-scientific-skills(科研专属)
- Star: 5.8k+
- 地址: github.com/K-Dense-AI/…
- 亮点:140+ 科学领域技能,生物、化学、数据分析、文献整理全覆盖,研究人员必备。
5. ComposioHQ/awesome-claude-skills(资源合集)
- Star: 19k+
- 地址: github.com/ComposioHQ/…
- 亮点:Awesome 列表形式,汇集了官方和社区的各种 Skills,分类清晰,持续更新。
导入方法:
- CodeBuddy IDE:设置 → Skill 配置路径 → 导入本地文件夹
下载Skills,这里我是下载的第一个开源项目的所有的Skills
选中你所需要的一条Skill导入CodeBuddy即可
可以看到导入成功了
其实刚才最开始的示例我也是直接复制的这个开源项目的Skill才使得前端页面生成比较好看
四、Skills与MCP的区别
最后就是很多人会混淆Skills和MCP,它们确实有相似之处,但解决的问题完全不同:
| 对比维度 | Skills | MCP |
|---|---|---|
| 核心定位 | 解决"方法论"问题,教AI怎么做某类任务 | 解决"连接"问题,让AI能访问外部世界 |
| 加载方式 | 按需加载,只加载技能名字和描述,使用时才加载执行细节 | 全量加载,不管用不用都全部加载进去 |
| 适用场景 | 固定工作流程,需要AI按步骤执行 | 访问外部数据或服务,深度集成外部系统 |
| 输入输出 | 自然语言描述和结果,灵活易读 | JSON结构化参数和结果,可组合可测试 |
| 扩展性 | 可以无限增加技能,不会明显拖慢对话 | 工具越多,上下文越爆炸,成本和延迟越高 |
大白话理解:
- Skills主要聚焦于工具处理,是一套完整的方法论,例如处理文件、设计、写文章
- MCP主要起到连接作用,适合深度集成外部系统,自定义上传、下载、推送等流程
两者并不是竞争或替代的关系,而是结合关系。对于普通用户、日常工作,大部分时候只需要Skills就足够;对于复杂的企业场景、跨平台/自动分发等任务,使用Skills + MCP可以实现更加稳定和高效的输出。
什么时候用Skills,什么时候用 mcp ?
判断标准:任务是"如何做"还是"做什么"?
Skills:当你有固定的工作流程,需要AI按步骤执行时
- 示例:"按什么格式写技术教程"、"代码审查的5个步骤"
MCP:当你需要AI访问外部数据或服务时
- 示例:"查询GitHub的Issue"、"读取SQLite数据库"
感兴趣的宝子可以关注一波,后续会更新更多有用的知识!!!