技术茶馆公告

🍵 欢迎来到技术茶馆 🍵

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

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

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

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 成为你延伸专业价值的放大器。