Search K
Appearance
🍵 欢迎来到技术茶馆 🍵
这里是一个分享技术、交流学习的地方
技术札记 | 茶馆周刊 | 工具书签 | 作品展示
让我们一起品茗技术,共同成长
Appearance
刚开始接触 Skills,不知从何下手?
不妨从社区沉淀的这些热门 Skills 开始,寻找灵感,或直接在你的工作流中复用它们。
📚 官方 Skills 仓库:https://github.com/anthropics/skills
学习 Claude 官方的 Skills 仓库可以帮助我们最快地了解 Skills 的最佳实践,便于我们沉淀出自己的 Skills。
大多数官方 Skills 都能直接下载,或者通过 Git 克隆到本地:
# 克隆整个仓库
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 名称 | 功能描述 | 适用场景 |
|---|---|---|
| code-review | 代码审查专家 | 检查代码规范、安全漏洞、性能问题 |
| frontend-design | 前端设计专家 | 创建现代化的响应式页面 |
| api-design | API 设计专家 | 设计 RESTful API,生成 OpenAPI 文档 |
| database-schema | 数据库设计专家 | 设计数据库结构,优化查询性能 |
| testing | 测试专家 | 编写单元测试、集成测试 |
| documentation | 文档专家 | 生成技术文档、API 文档 |
| debugging | 调试专家 | 分析错误日志,定位问题根源 |
| refactoring | 重构专家 | 优化代码结构,提升可维护性 |
除了官方 Skills,社区也涌现了很多优秀的 Skills:
网站:https://skillsmp.com(示例,实际可能不存在)
特点:
推荐 Skills:
搜索关键词:claude skills, agent skills, trae skills
推荐仓库:
awesome-claude-skills:精选 Skills 列表community-skills:社区贡献的 Skills 集合金融领域:
医疗领域:
教育领域:
面对这么多 Skills,如何选择?
新手:
进阶用户:
团队使用:
理论说再多,不如亲手一试。
我们先讲一下如何在 TRAE SOLO 中创建并应用一个 Skills,并以基于飞书文档的 Spec Coding 为例,讲解一下如何利用 Skills 快速解决一个实际问题。
TRAE 提供了三种创建 Skills 的方式:
这是最简单的方式,适合快速创建简单的 Skills。
步骤:
按下快捷键 Cmd + ,(Mac)或 Ctrl + ,(Windows)打开设置面板
在左侧找到「规则技能」选项
找到技能板块,点击右侧的「创建」按钮
填写三要素:
点击「确认」保存
示例:创建一个"按规范提交 git commit"的 Skills
---
name: "Git Commit 规范专家"
description: "根据代码变更生成符合 Conventional Commits 规范的 commit message"
---
## 角色定义
你是一位经验丰富的 Git 工作流专家...
(完整内容参考前面的实战案例)这种方式适合从其他地方获取的 Skills,或者需要包含脚本和参考资料的复杂 Skills。
步骤:
在当前项目目录下,创建目录结构:
.trae/
└── skills/
└── my-skill/
├── SKILL.md
├── scripts/
└── references/将 Skills 文件放入对应目录
重启 TRAE 或刷新 Skills 列表
在「设置 - 规则技能」中查看是否成功导入
示例:导入官方的代码审查 Skills
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 规范的文档
- 包含示例请求和响应
你可以在「设置 - 规则技能」中查看和编辑。在 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. "前端开发专家" - 创建用户管理页面
让我们开始...还记得引言里提到的那些问题吗?
比如说,项目规则文件(project_rules)有字符数量的限制;又或者,就算你在根规则文件里明确写好了"在什么情况下读取哪个文件",Agent 在执行任务时也不会按照要求来做。
这些问题的根本原因是,规则(Rules)对于 Agent 而言是固定不变的,它会在任务开始时就把所有规则一次性加载到上下文中,这样既占用空间,又不够灵活。
而 Skills 采用的是"逐步加载"的动态方式,刚好可以解决这个问题。
所以,我们可以把之前那些复杂的规则场景,重新拆分成一个个独立的 Skills。
接下来,我们通过一个基于飞书文档的 "Spec Coding" 简单流程,来实际操作一下如何用 Skills 解决问题。
Spec Coding 提倡"先思考后行动",也就是通过详细定义可以执行的需求规范(Specification)来推动 AI 开发。
它的流程包含"需求分析、技术设计、任务拆解"的文档编写过程,最后让 AI 根据规范来完成编码。
这种一步步的工作流程能保证每一步都有依据,实现从需求到代码的准确转化。
上面提到将开发过程划分为四个关键阶段,所以要完成 "需求分析、技术设计、任务拆解" 的飞书文档撰写,还有最终的代码实现。
为此,我们需要:
通过实现多角色 Skills,通过创建多个交付物过程文档,约束后续的编码,为编码提供足够且明确的上下文。每个 Skills 专注完成一件事。
| Skills 名称 | 职责 | 输入 | 输出 |
|---|---|---|---|
| 需求分析专家 | 分析用户需求,输出需求文档 | 用户描述 | 需求分析文档(飞书) |
| 技术设计专家 | 设计技术方案,输出设计文档 | 需求文档 | 技术设计文档(飞书) |
| 任务拆解专家 | 拆解开发任务,输出任务清单 | 设计文档 | 任务清单文档(飞书) |
| 代码实现专家 | 根据任务清单编写代码 | 任务清单 | 代码文件 |
---
name: "需求分析专家"
description: "分析用户需求,输出结构化的需求分析文档到飞书"
---
## 角色定义
你是一位资深的产品经理,擅长需求分析和用户故事编写。
## 分析流程
### 1. 理解需求
- 与用户确认核心目标
- 识别关键用户和使用场景
- 明确功能边界
### 2. 结构化输出
按照以下结构创建飞书文档:
#### 需求概述
- 背景
- 目标
- 预期收益
#### 用户故事
- 作为【角色】
- 我想要【功能】
- 以便于【价值】
#### 功能需求
- 核心功能列表
- 优先级(P0/P1/P2)
#### 非功能需求
- 性能要求
- 安全要求
- 可用性要求
#### 验收标准
- 功能验收标准
- 测试场景
### 3. 协作审阅
- 创建飞书文档
- 邀请相关人员评论
- 根据评论优化文档
## 输出示例
(包含完整的飞书文档格式示例)飞书文档的格式是 Markdown 的超集,我们 Skills 的目的则是教会 Agent 飞书文档的语法,便于 Agent 写出符合格式的 md 文件。
并通过约束 Agent 行为,充分利用飞书文档的评论功能完成多人协作审阅的过程:
---
name: "飞书文档协作专家"
description: "使用飞书文档进行内容创作和协作,支持富文本、评论、@提醒等功能"
---
## 飞书文档语法
### 基础格式
- 标题:`# 一级标题`, `## 二级标题`
- 粗体:`**文本**`
- 斜体:`*文本*`
- 代码:`` `代码` ``
- 链接:`[文本](URL)`
### 高级功能
- 高亮块:`:::info`, `:::warning`, `:::danger`
- 任务列表:`- [ ] 任务`
- 表格:标准 Markdown 表格
- 代码块:` ```语言 `
### 协作功能
- 评论:在段落旁添加评论
- @提醒:`@用户名`
- 版本历史:自动保存
## 工作流程
### 1. 创建文档
- 使用 MCP 工具创建飞书文档
- 设置文档标题和权限
### 2. 编写内容
- 按照飞书语法编写
- 使用高亮块强调重点
- 添加任务列表跟踪进度
### 3. 协作审阅
- 邀请相关人员
- 读取评论内容
- 根据评论优化文档
### 4. 版本管理
- 记录重要变更
- 标注版本号
## 示例
(包含完整的飞书文档创建和协作示例)最后,我们需要一个能统筹全局的 Skills,来实现分工协作。
把上述多个 Skills 组合起来,告诉 Agent 整体的 Spec Coding 流程,完成工具 Skills 和角色 Skills 的组合与调度。
---
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 的动态加载机制(取代固定规则的一次性加载方式),完成了复杂场景下的任务分解。
通过:
有效解决了 Agent "不听话、执行乱、工具少" 的问题,让 AI 从 "对话助手" 真正转变为 "可信赖的实干家",实现从需求提出到代码产出的高效、精准、协作式交付。
A: 那十有八九是你的"名片"(Description)没写好。
记住,Agent 是通过读取 Skills 的 Description 来判断"什么时候该用哪个 Skills"的。
要是你的描述写得含糊不清、太专业或者太简单,Agent 就很难明白你的意思,自然在需要的时候就不会调用这个 Skills。
改进建议:
示例对比:
❌ 不好的 Description:
description: "处理数据"✅ 好的 Description:
description: "使用 Python Pandas 进行数据清洗、转换和分析,支持 CSV/Excel/JSON 格式"A: 会有影响,不过影响的方面不一样。
模型能力影响:
更强大的模型:主要影响"挑选"和"安排" Skills 的能力
Skills 本身:决定了具体任务执行的"最低水平"和"稳定性"
建议:
A: 当然不是万能的。Skills 的主要优势是处理那些流程明确、边界清晰的任务。
Skills 擅长的:
Skills 不擅长的:
❌ 高度创造性的任务(如写诗、设计品牌标志)
❌ 实时、动态决策的复杂策略游戏
❌ 单纯的知识问答或开放式闲聊
使用建议:
A: 当然可以,我们强烈建议你这么做!
大多数共享的 Skills 都支持用户 "Fork"(也就是"复制一份")并进行二次开发。
操作步骤:
复制 Skills
cp -r community-skill my-custom-skill修改元数据
---
name: "我的定制代码审查"
description: "基于团队规范的代码审查,增加了公司特定的安全检查"
---调整流程和规则
测试和迭代
好处:
A: 有可能,但可以避免。
冲突场景:
Description 重叠
# Skills A
description: "前端开发"
# Skills B
description: "React 开发"用户说"帮我写前端代码",Agent 可能不知道选哪个。
职责重叠 两个 Skills 都能处理同一个任务,但方式不同。
解决方案:
明确 Description
# Skills A
description: "使用原生 HTML/CSS/JS 进行前端开发"
# Skills B
description: "使用 React + TypeScript 进行现代前端开发"定义优先级 在团队规范中明确:
手动指定
使用 "React 开发专家" Skills 创建一个登录页面A: 可以,而且这是一个强大的功能。
示例:全栈开发 Skills
---
name: "全栈开发协调者"
description: "协调前端、后端、数据库等多个 Skills,完成完整的功能开发"
---
## 工作流程
### 1. 数据库设计
调用 "数据库设计专家" Skills:
- 设计表结构
- 定义关系
- 创建索引
### 2. 后端 API 开发
调用 "API 设计专家" Skills:
- 设计 RESTful API
- 实现业务逻辑
- 编写单元测试
### 3. 前端页面开发
调用 "前端开发专家" Skills:
- 创建用户界面
- 集成 API
- 添加交互效果
### 4. 集成测试
调用 "测试专家" Skills:
- 编写集成测试
- 验证端到端流程好处:
A: 设计得当的话,开销很小。
Token 消耗分析:
| 加载层级 | 内容 | Token 消耗 | 加载时机 |
|---|---|---|---|
| Level 1 | 元数据 | ~50 | 始终加载 |
| Level 2 | 说明文档 | ~500-2000 | 触发时加载 |
| Level 3 | 脚本/资料 | ~0(不进上下文) | 按需执行 |
优化建议:
A: 几个实用技巧:
查看 Agent 的思考过程
测试 Description 匹配
你:我想做 XXX,你会使用哪个 Skills?
Agent:我会使用 "YYY" Skills,因为...逐步测试
添加日志 在 Skills 中添加明确的步骤说明:
## 执行步骤
1. 【正在执行】分析需求...
2. 【正在执行】设计方案...
3. 【正在执行】生成代码...版本对比
Skills 的出现,为 AI 从"对话式助手"转变为"可信赖的执行者"搭建了关键的技术桥梁。
它用结构化的方法把领域知识、操作流程和工具调用逻辑封装起来,解决了 Agent 规则失效、执行失控的混乱问题,让 AI 的能力输出变得可以控制、值得信赖且高效。
精准击中痛点:
生态赋能,降低门槛:
虽然 Skills 不是万能的,但它在"确定性流程任务"上的优势无可替代。
未来,随着 AI 模型能力的提升与 Skills 生态的进一步完善,我们有望看到:
让 AI 从"样样懂一点"的通才,真正进化为"事事做得好"的专家协作伙伴。
不妨从今天开始,尝试创建你的第一个 Skills:
识别你的专业领域
封装成 Skills
分享给社区
将你最擅长的领域经验封装成可复用的能力,让 AI 成为你延伸专业价值的放大器。