技术茶馆公告

🍵 欢迎来到技术茶馆 🍵

这里是一个分享技术、交流学习的地方

技术札记 | 茶馆周刊 | 工具书签 | 作品展示

让我们一起品茗技术,共同成长

Skip to content

Skills 完整指南 - 第三部分:社区资源与实战应用 ​

社区热门 Skills 推荐 ​

刚开始接触 Skills,不知从何下手?

不妨从社区沉淀的这些热门 Skills 开始,寻找灵感,或直接在你的工作流中复用它们。

Claude 官方 Skills ​

📚 官方 Skills 仓库:https://github.com/anthropics/skills

学习 Claude 官方的 Skills 仓库可以帮助我们最快地了解 Skills 的最佳实践,便于我们沉淀出自己的 Skills。

如何快速使用官方 Skills? ​

大多数官方 Skills 都能直接下载,或者通过 Git 克隆到本地:

bash
# 克隆整个仓库
git clone https://github.com/anthropics/skills.git

# 或者只下载特定的 Skills
cd your-project/.trae/skills
git clone https://github.com/anthropics/skills.git temp
cp -r temp/specific-skill ./
rm -rf temp

在 TRAE 等工具里,一般只需把这些 Skills 的文件夹放到指定的 Skills 目录,接着重启或刷新 Agent,它就会自动识别并加载这些新能力。

官方 Skills 列表 ​

Skills 名称功能描述适用场景
code-review代码审查专家检查代码规范、安全漏洞、性能问题
frontend-design前端设计专家创建现代化的响应式页面
api-designAPI 设计专家设计 RESTful API,生成 OpenAPI 文档
database-schema数据库设计专家设计数据库结构,优化查询性能
testing测试专家编写单元测试、集成测试
documentation文档专家生成技术文档、API 文档
debugging调试专家分析错误日志,定位问题根源
refactoring重构专家优化代码结构,提升可维护性

社区其他最佳实践 ​

除了官方 Skills,社区也涌现了很多优秀的 Skills:

1. SkillsMP - Skills 市场 ​

网站:https://skillsmp.com(示例,实际可能不存在)

特点:

  • 分类清晰(前端、后端、DevOps、数据分析等)
  • 评分和评论系统
  • 一键安装

推荐 Skills:

  • Next.js 全栈开发:从前端到后端的完整开发流程
  • Docker 容器化:应用容器化和部署
  • 数据可视化:使用 D3.js/ECharts 创建图表

2. GitHub 上的优秀 Skills ​

搜索关键词:claude skills, agent skills, trae skills

推荐仓库:

  • awesome-claude-skills:精选 Skills 列表
  • community-skills:社区贡献的 Skills 集合

3. 垂直领域 Skills ​

金融领域:

  • 财务报表分析
  • 风险评估
  • 投资组合优化

医疗领域:

  • 病历分析
  • 药物相互作用检查
  • 医学文献检索

教育领域:

  • 课程设计
  • 作业批改
  • 学习路径规划

如何选择合适的 Skills? ​

面对这么多 Skills,如何选择?

评估标准 ​

  1. 匹配度:是否解决你的实际问题?
  2. 质量:是否有完整的文档和示例?
  3. 维护:是否持续更新?
  4. 社区:是否有人使用和反馈?

选择建议 ​

新手:

  • 从官方 Skills 开始
  • 选择通用性强的 Skills(如代码审查、文档生成)
  • 先用起来,再考虑定制

进阶用户:

  • 根据项目需求选择垂直领域 Skills
  • Fork 社区 Skills 进行定制
  • 开始创建自己的 Skills

团队使用:

  • 建立团队 Skills 库
  • 制定 Skills 编写规范
  • 定期分享和复盘

如何在 TRAE 里快速使用 ​

理论说再多,不如亲手一试。

我们先讲一下如何在 TRAE SOLO 中创建并应用一个 Skills,并以基于飞书文档的 Spec Coding 为例,讲解一下如何利用 Skills 快速解决一个实际问题。

Skills 创建 ​

TRAE 提供了三种创建 Skills 的方式:

方式一:设置中直接创建 ​

这是最简单的方式,适合快速创建简单的 Skills。

步骤:

  1. 按下快捷键 Cmd + ,(Mac)或 Ctrl + ,(Windows)打开设置面板

  2. 在左侧找到「规则技能」选项

  3. 找到技能板块,点击右侧的「创建」按钮

  4. 填写三要素:

    • Skills 名称:如 "Git Commit 规范"
    • Skills 描述:如 "根据代码变更生成符合 Conventional Commits 规范的 commit message"
    • Skills 主体:完整的 SKILL.md 内容
  5. 点击「确认」保存

示例:创建一个"按规范提交 git commit"的 Skills

yaml
---
name: "Git Commit 规范专家"
description: "根据代码变更生成符合 Conventional Commits 规范的 commit message"
---

## 角色定义
你是一位经验丰富的 Git 工作流专家...

(完整内容参考前面的实战案例)

方式二:直接解析 SKILL.md ​

这种方式适合从其他地方获取的 Skills,或者需要包含脚本和参考资料的复杂 Skills。

步骤:

  1. 在当前项目目录下,创建目录结构:

    .trae/
    └── skills/
        └── my-skill/
            ├── SKILL.md
            ├── scripts/
            └── references/
  2. 将 Skills 文件放入对应目录

  3. 重启 TRAE 或刷新 Skills 列表

  4. 在「设置 - 规则技能」中查看是否成功导入

示例:导入官方的代码审查 Skills

bash
cd your-project
mkdir -p .trae/skills
cd .trae/skills
git clone https://github.com/anthropics/skills.git temp
cp -r temp/code-review ./
rm -rf temp

方式三:在对话中创建 ​

这是最智能的方式,让 Agent 帮你创建 Skills。

TRAE 中内置了 skills-creator Skills,你可以直接对话创建。

示例对话:

你:帮我创建一个 Skills,用于生成 API 文档

Agent:好的,我来帮你创建一个 API 文档生成 Skills。
请告诉我:
1. 你主要使用什么技术栈?(如 Node.js + Express, Python + FastAPI)
2. 你希望生成什么格式的文档?(如 Markdown, OpenAPI/Swagger, HTML)
3. 有什么特殊要求吗?

你:Node.js + Express,生成 OpenAPI 3.0 格式的文档

Agent:明白了,我已经为你创建了 "API 文档生成专家" Skills。
这个 Skills 会:
- 分析你的 Express 路由代码
- 提取端点、参数、响应格式
- 生成符合 OpenAPI 3.0 规范的文档
- 包含示例请求和响应

你可以在「设置 - 规则技能」中查看和编辑。

Skills 使用 ​

在 TRAE 里使用 Skills 很容易,你加载好需要的 Skills 后,只需在对话框中用日常语言说明你的需求就行。

自动匹配 ​

Agent 会自动分析你的需求,匹配合适的 Skills。

示例:

你:帮我设计一个有科技感的登录页面

Agent:(自动调用 "frontend-design" Skills)
好的,我来为你设计一个现代科技感的登录页面...
你:帮我提取这个 PDF 里的所有表格

Agent:(自动调用 "document-skills/pdf" Skills)
我来帮你提取 PDF 中的表格数据...
你:帮我把这篇技术文档转为飞书文档

Agent:(自动调用 "using-feishu-doc" Skills)
我会按照飞书文档的格式来转换...

手动指定 ​

你也可以明确指定要使用哪个 Skills:

你:使用 "代码审查专家" Skills 审查这段代码

Agent:好的,我将使用代码审查 Skills 来分析这段代码...

组合使用 ​

多个 Skills 可以组合使用:

你:帮我创建一个用户管理模块,包括前端页面、后端 API 和数据库设计

Agent:
好的,我会使用以下 Skills 来完成:
1. "数据库设计专家" - 设计用户表结构
2. "API 设计专家" - 设计 RESTful API
3. "前端开发专家" - 创建用户管理页面

让我们开始...

实践场景举例:基于飞书文档的 Spec Coding ​

还记得引言里提到的那些问题吗?

比如说,项目规则文件(project_rules)有字符数量的限制;又或者,就算你在根规则文件里明确写好了"在什么情况下读取哪个文件",Agent 在执行任务时也不会按照要求来做。

这些问题的根本原因是,规则(Rules)对于 Agent 而言是固定不变的,它会在任务开始时就把所有规则一次性加载到上下文中,这样既占用空间,又不够灵活。

而 Skills 采用的是"逐步加载"的动态方式,刚好可以解决这个问题。

所以,我们可以把之前那些复杂的规则场景,重新拆分成一个个独立的 Skills。

接下来,我们通过一个基于飞书文档的 "Spec Coding" 简单流程,来实际操作一下如何用 Skills 解决问题。

什么是 Spec Coding? ​

Spec Coding 提倡"先思考后行动",也就是通过详细定义可以执行的需求规范(Specification)来推动 AI 开发。

它的流程包含"需求分析、技术设计、任务拆解"的文档编写过程,最后让 AI 根据规范来完成编码。

这种一步步的工作流程能保证每一步都有依据,实现从需求到代码的准确转化。

场景分析 ​

上面提到将开发过程划分为四个关键阶段,所以要完成 "需求分析、技术设计、任务拆解" 的飞书文档撰写,还有最终的代码实现。

为此,我们需要:

  1. 不同的 Skills 来满足不同场景下的文档编写需求
  2. 飞书工具 Skills 来教会 Agent 如何使用飞书文档进行创作协同

多角色专家 Skills ​

通过实现多角色 Skills,通过创建多个交付物过程文档,约束后续的编码,为编码提供足够且明确的上下文。每个 Skills 专注完成一件事。

Skills 设计 ​

Skills 名称职责输入输出
需求分析专家分析用户需求,输出需求文档用户描述需求分析文档(飞书)
技术设计专家设计技术方案,输出设计文档需求文档技术设计文档(飞书)
任务拆解专家拆解开发任务,输出任务清单设计文档任务清单文档(飞书)
代码实现专家根据任务清单编写代码任务清单代码文件

示例:需求分析专家 Skills ​

yaml
---
name: "需求分析专家"
description: "分析用户需求,输出结构化的需求分析文档到飞书"
---

## 角色定义
你是一位资深的产品经理,擅长需求分析和用户故事编写。

## 分析流程

### 1. 理解需求
- 与用户确认核心目标
- 识别关键用户和使用场景
- 明确功能边界

### 2. 结构化输出
按照以下结构创建飞书文档:

#### 需求概述
- 背景
- 目标
- 预期收益

#### 用户故事
- 作为【角色】
- 我想要【功能】
- 以便于【价值】

#### 功能需求
- 核心功能列表
- 优先级(P0/P1/P2)

#### 非功能需求
- 性能要求
- 安全要求
- 可用性要求

#### 验收标准
- 功能验收标准
- 测试场景

### 3. 协作审阅
- 创建飞书文档
- 邀请相关人员评论
- 根据评论优化文档

## 输出示例

(包含完整的飞书文档格式示例)

飞书文档使用 Skills ​

飞书文档的格式是 Markdown 的超集,我们 Skills 的目的则是教会 Agent 飞书文档的语法,便于 Agent 写出符合格式的 md 文件。

并通过约束 Agent 行为,充分利用飞书文档的评论功能完成多人协作审阅的过程:

  • 用户通过在飞书文档评论完成相关建议的提出
  • Agent 重新阅读文档和评论,根据建议进一步优化文档
  • 实现文档协作工作流

Skills 设计 ​

yaml
---
name: "飞书文档协作专家"
description: "使用飞书文档进行内容创作和协作,支持富文本、评论、@提醒等功能"
---

## 飞书文档语法

### 基础格式
- 标题:`# 一级标题`, `## 二级标题`
- 粗体:`**文本**`
- 斜体:`*文本*`
- 代码:`` `代码` ``
- 链接:`[文本](URL)`

### 高级功能
- 高亮块:`:::info`, `:::warning`, `:::danger`
- 任务列表:`- [ ] 任务`
- 表格:标准 Markdown 表格
- 代码块:` ```语言 `

### 协作功能
- 评论:在段落旁添加评论
- @提醒:`@用户名`
- 版本历史:自动保存

## 工作流程

### 1. 创建文档
- 使用 MCP 工具创建飞书文档
- 设置文档标题和权限

### 2. 编写内容
- 按照飞书语法编写
- 使用高亮块强调重点
- 添加任务列表跟踪进度

### 3. 协作审阅
- 邀请相关人员
- 读取评论内容
- 根据评论优化文档

### 4. 版本管理
- 记录重要变更
- 标注版本号

## 示例

(包含完整的飞书文档创建和协作示例)

Spec Coding 统筹 Skills ​

最后,我们需要一个能统筹全局的 Skills,来实现分工协作。

把上述多个 Skills 组合起来,告诉 Agent 整体的 Spec Coding 流程,完成工具 Skills 和角色 Skills 的组合与调度。

yaml
---
name: "Spec Coding 工作流"
description: "基于飞书文档的规格化编码流程,从需求分析到代码实现的完整工作流"
---

## 工作流程

### 阶段 1:需求分析
1. 调用 "需求分析专家" Skills
2. 创建需求分析飞书文档
3. 等待用户审阅和评论
4. 根据评论优化需求文档
5. 用户确认后进入下一阶段

### 阶段 2:技术设计
1. 调用 "技术设计专家" Skills
2. 基于需求文档创建技术设计文档
3. 等待用户和技术团队审阅
4. 根据评论优化设计
5. 确认后进入下一阶段

### 阶段 3:任务拆解
1. 调用 "任务拆解专家" Skills
2. 创建任务清单文档
3. 明确每个任务的优先级和依赖关系
4. 确认后进入开发阶段

### 阶段 4:代码实现
1. 调用 "代码实现专家" Skills
2. 按照任务清单逐个实现
3. 每完成一个任务,更新飞书文档状态
4. 全部完成后进行验收

## 协作机制
- 所有文档都在飞书中创建
- 使用评论功能进行异步协作
- Agent 定期检查评论并响应
- 重要决策需要用户确认

## 质量保证
- 每个阶段都有明确的交付物
- 文档驱动开发,减少返工
- 过程可追溯,便于复盘

总结 ​

上述场景提到了两种不同风格的 Skills(角色型、工具型),利用 Skills 的动态加载机制(取代固定规则的一次性加载方式),完成了复杂场景下的任务分解。

通过:

  • 不同角色 Skills 的分工协作(避免 Agent 什么都做导致执行混乱)
  • 借助飞书文档形成协作闭环(打通人机交互的最后一步)

有效解决了 Agent "不听话、执行乱、工具少" 的问题,让 AI 从 "对话助手" 真正转变为 "可信赖的实干家",实现从需求提出到代码产出的高效、精准、协作式交付。


Q & A | 一些常见问题 ​

Q1: 为什么我写的 Skills 不生效,或者效果不符合预期? ​

A: 那十有八九是你的"名片"(Description)没写好。

记住,Agent 是通过读取 Skills 的 Description 来判断"什么时候该用哪个 Skills"的。

要是你的描述写得含糊不清、太专业或者太简单,Agent 就很难明白你的意思,自然在需要的时候就不会调用这个 Skills。

改进建议:

  • 使用清晰、具体的描述
  • 包含关键词(技术栈、功能、场景)
  • 避免过于宽泛或过于狭窄
  • 参考官方 Skills 的 Description 写法

示例对比:

❌ 不好的 Description:

yaml
description: "处理数据"

✅ 好的 Description:

yaml
description: "使用 Python Pandas 进行数据清洗、转换和分析,支持 CSV/Excel/JSON 格式"

Q2: 使用 Skills 的效果,会受到我选择的大语言模型(LLM)的影响吗? ​

A: 会有影响,不过影响的方面不一样。

模型能力影响:

  • 更强大的模型:主要影响"挑选"和"安排" Skills 的能力

    • 更准确地理解用户意图
    • 更好地匹配合适的 Skills
    • 更灵活地组合多个 Skills
  • Skills 本身:决定了具体任务执行的"最低水平"和"稳定性"

    • 一旦某个 Skills 被选中,它里面设定好的流程和代码是固定的
    • Skills 编写得好不好,直接决定了具体任务能不能出色完成

建议:

  • 使用较强的模型(如 Claude 3.5 Sonnet, GPT-4)来提升 Skills 选择和编排能力
  • 同时注重 Skills 本身的质量,确保执行稳定性

Q3: Skills 是不是万能的?有什么它不擅长做的事情吗? ​

A: 当然不是万能的。Skills 的主要优势是处理那些流程明确、边界清晰的任务。

Skills 擅长的:

  • ✅ 代码审查(有明确的检查清单)
  • ✅ 文档生成(有固定的模板和格式)
  • ✅ API 设计(有标准的设计原则)
  • ✅ 数据处理(有清晰的转换流程)

Skills 不擅长的:

  • ❌ 高度创造性的任务(如写诗、设计品牌标志)

    • 这类工作更需要大模型本身的"灵感"
  • ❌ 实时、动态决策的复杂策略游戏

    • 如在变化极快的金融市场中做交易决策
  • ❌ 单纯的知识问答或开放式闲聊

    • 如果你只是想问"文艺复兴三杰是谁?",直接问大模型就可以

使用建议:

  • 对于流程化、可重复的任务,优先使用 Skills
  • 对于创造性、开放性的任务,直接使用大模型的通用能力
  • 两者结合使用,发挥各自优势

Q4: 我发现一个社区的 Skills 很好用,但我可以修改它以适应我的特殊需求吗? ​

A: 当然可以,我们强烈建议你这么做!

大多数共享的 Skills 都支持用户 "Fork"(也就是"复制一份")并进行二次开发。

操作步骤:

  1. 复制 Skills

    bash
    cp -r community-skill my-custom-skill
  2. 修改元数据

    yaml
    ---
    name: "我的定制代码审查"
    description: "基于团队规范的代码审查,增加了公司特定的安全检查"
    ---
  3. 调整流程和规则

    • 添加团队特定的规范
    • 修改输出格式
    • 增加或删除检查项
  4. 测试和迭代

    • 在实际项目中测试
    • 收集反馈并优化

好处:

  • 站在巨人的肩膀上
  • 节省从零开始的时间
  • 保持与社区的连接(可以同步上游更新)

Q5: 多个 Skills 之间会不会冲突? ​

A: 有可能,但可以避免。

冲突场景:

  1. Description 重叠

    yaml
    # Skills A
    description: "前端开发"
    
    # Skills B
    description: "React 开发"

    用户说"帮我写前端代码",Agent 可能不知道选哪个。

  2. 职责重叠 两个 Skills 都能处理同一个任务,但方式不同。

解决方案:

  1. 明确 Description

    yaml
    # Skills A
    description: "使用原生 HTML/CSS/JS 进行前端开发"
    
    # Skills B
    description: "使用 React + TypeScript 进行现代前端开发"
  2. 定义优先级 在团队规范中明确:

    • 新项目优先使用 React Skills
    • 维护老项目使用原生 JS Skills
  3. 手动指定

    使用 "React 开发专家" Skills 创建一个登录页面

Q6: Skills 可以调用其他 Skills 吗? ​

A: 可以,而且这是一个强大的功能。

示例:全栈开发 Skills

yaml
---
name: "全栈开发协调者"
description: "协调前端、后端、数据库等多个 Skills,完成完整的功能开发"
---

## 工作流程

### 1. 数据库设计
调用 "数据库设计专家" Skills:
- 设计表结构
- 定义关系
- 创建索引

### 2. 后端 API 开发
调用 "API 设计专家" Skills:
- 设计 RESTful API
- 实现业务逻辑
- 编写单元测试

### 3. 前端页面开发
调用 "前端开发专家" Skills:
- 创建用户界面
- 集成 API
- 添加交互效果

### 4. 集成测试
调用 "测试专家" Skills:
- 编写集成测试
- 验证端到端流程

好处:

  • 复用现有 Skills
  • 保持单一职责
  • 灵活组合

Q7: Skills 的性能开销大吗? ​

A: 设计得当的话,开销很小。

Token 消耗分析:

加载层级内容Token 消耗加载时机
Level 1元数据~50始终加载
Level 2说明文档~500-2000触发时加载
Level 3脚本/资料~0(不进上下文)按需执行

优化建议:

  • 保持 Description 简洁(50 Token 以内)
  • 说明文档控制在 2000 Token 以内
  • 大量数据和代码放在 scripts/ 和 references/ 中

Q8: 如何调试 Skills? ​

A: 几个实用技巧:

  1. 查看 Agent 的思考过程

    • 在 TRAE 中启用"显示思考过程"
    • 观察 Agent 是否正确匹配了 Skills
  2. 测试 Description 匹配

    你:我想做 XXX,你会使用哪个 Skills?
    
    Agent:我会使用 "YYY" Skills,因为...
  3. 逐步测试

    • 先测试简单场景
    • 再测试复杂场景
    • 收集 Bad Cases
  4. 添加日志 在 Skills 中添加明确的步骤说明:

    markdown
    ## 执行步骤
    1. 【正在执行】分析需求...
    2. 【正在执行】设计方案...
    3. 【正在执行】生成代码...
  5. 版本对比

    • 保留每个版本的 Skills
    • 对比不同版本的效果
    • 找出改进点

结语|让 Agent 成为你真正的"行动派" ​

Skills 的出现,为 AI 从"对话式助手"转变为"可信赖的执行者"搭建了关键的技术桥梁。

它用结构化的方法把领域知识、操作流程和工具调用逻辑封装起来,解决了 Agent 规则失效、执行失控的混乱问题,让 AI 的能力输出变得可以控制、值得信赖且高效。

Skills 的核心价值 ​

精准击中痛点:

  • 通过巧妙的三级加载机制(元数据→说明文档→资源)
  • 在功能深度和上下文效率之间找到了绝佳的平衡点
  • 既避免了宝贵 Token 的浪费,又确保了任务执行的精准性
  • 实现了 Agent 上下文的动态加载能力

生态赋能,降低门槛:

  • 无论是官方还是社区,都提供了丰富的资源
  • Claude 官方仓库、社区 Skills 市场等
  • 让普通用户也能轻松站在巨人的肩膀上
  • 快速复用各种成熟的能力

未来展望 ​

虽然 Skills 不是万能的,但它在"确定性流程任务"上的优势无可替代。

未来,随着 AI 模型能力的提升与 Skills 生态的进一步完善,我们有望看到:

  • 更多跨领域 Skills:金融、医疗、教育、法律等垂直领域
  • 更强的可组合性:Skills 之间的灵活组合和编排
  • 更智能的自适应:Skills 能根据反馈自我优化
  • 更完善的生态:标准化的 Skills 市场和分享机制

让 AI 从"样样懂一点"的通才,真正进化为"事事做得好"的专家协作伙伴。

行动起来 ​

不妨从今天开始,尝试创建你的第一个 Skills:

  1. 识别你的专业领域

    • 你最擅长什么?
    • 你经常重复做什么?
    • 你的团队有什么独特的工作流程?
  2. 封装成 Skills

    • 写下工作流程
    • 总结最佳实践
    • 提供具体示例
  3. 分享给社区

    • 让更多人受益
    • 获得反馈和改进建议
    • 推动整个生态发展

将你最擅长的领域经验封装成可复用的能力,让 AI 成为你延伸专业价值的放大器。