Agent skills with roo code
什么是agent skills是什么?
- 将工作流程打包成可以重复使用的技能包
- 能按照你的标准来完成特定的任务
例如: 产品需求分析是一个skill,那代码审查可以是另外一个skill
skill有两个特别强大的特性
- 渐进式披露。传统方式直接加载大文件,这种方式直接导致上下文爆炸。skill方式采用了分层加载的方式,启动时,claude只会看每个skill的名字和简介。大约100字左右。,当需要调用某个skill时,它才会加载详细的内容,如果需要更多参考资料,再按需读取,理论上时可以无限的。所以你可以给claude code装备几十个甚至上百个skills,在使用它们之前,几乎不占用任何上下文窗口。
- 可复用。创建一个skill之后可以在任何一个项目或对话中使用,而且claude会自动识别,什么时候该用哪个skill,更重要的是:可以打包分享给你的团队,让大家获得相同的能力。
架构

skill结构

[Skill规范要点]
- SKILL.md必须大写,这是官方硬性要求
- 每个Skill独立目录,不能平铺在skills/下
- YAML头部字段:name (≤64字符)、description(≤1024字符)、allowed-tools (可选)
- Reference文件放在Skill目录内,使用相对路径引用
- 目录命名:小写下划线 (csv_converter)
- Reference命名: REFERENCE_
.md(大写) - 脚本命名:小写下划线(convert_csv.py)
- 文件写入:所有内容生成完毕后并确认后才一次性写入
- 那通常一个skill的提示词包含头部和正文。
- 例如:
---
Name: 技能名称
Description: 描述技能的用途、场景、以及何时应该使用(非常重要)
---
## 技能说明
描述 skill 的能力...
## 核心能力
需要的专业能力...
## 执行流程(最核心的部分)
一步步怎样做...
## 注意事项
约束和规范...
name: test_skill
description: 测试技能包是否能按需加载内容,是否能按执行流程执行
技能说明
测试技能包是否能按需加载内容,是否能按执行流程执行
核心能力
测试技能包是否能按需加载内容,是否能按执行流程执行
执行流程(最核心的部分)
第一步: 计算10+5等于多少。
第二步: 将第一步的结果作为入参,编写一个python脚本,功能为:在控制台打印"执行第二步",循环次数使用入参。编写完之后,需要执行该脚本。
第三步: 生成一共有三页的pdf测试文档(test.pdf),每一页有测试内容(test_page_01\test_page_02\test_page_03)。
第四步: 将test.pdf使用脚本(convert_pdf_to_images.py),将每一页生成图片,并保存在根目录/pic/下。
第五步: 写一份操作日志的后台管理系统的产品PRD文档,保存在/doc/下,模板使用:prd-tmpl.yaml
注意事项
- 后端使用spring-boot
- java8
- python3
-
能否按需读取对应的skill.md --- 结论:能

-
能否能按执行流程执行 --- 结论:能

-
在rooCode中添加的全局配置文件补充内容为:
(该内容是用于测试)
# 技能包
- 技能包是用户将工作流程打包成可以重复使用的技能包。
## 执行流程
### 步骤一:
- 处理优先级:高
- 识别**<task>{{用户输入内容}}</task>**与**已注册的技能包列表**是否匹配上。如果有匹配上,则提示用户和进入步骤二。如果没匹配则不进入步骤二。
- 优先使用[公司领域知识]。
### 步骤二:
- **重要**获取每个技能详情,请读取: .roo/skills/下对应的SKILL.md,可根据{{name}}进行匹配,避免加载全量文档。例如: 用户的需求是将pdf中的每一页转成图片。你需要使用name:pdf的技能包,再读取 .roo\skills\document-skills\pdf的SKILL.md。
- **重要**读取对应技能的SKILL.md后,必须优先按SKILL.md的指引进行处理。
- **如果SKILL.md中的[执行流程]有内容**,则创建TODO列表来跟踪进度,必要严格按照执行步骤进行。
### 已注册的技能包列表:
[
{"name":"product_manager_expert",
"description":"专业产品经理技能,执行需求分析和PRD文档生成。通过市场调研、用户分析和功能设计,将用户需求转化为完整的产品需求文档"},
{"name":"pdf",
"description":"Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale"},
{"name":"test_skill",
"description":"当用户执行 /test_skill时使用该技能,测试技能包是否能按需加载内容,是否能按执行流程执行"},
{"name":"number_util",
"description":"[公司领域知识]当需求涉及到金额\数字精确处理的情况可以使用该技能,number_util是数字处理工具类,提供精确的数字运算、转换和验证等功能"},
]


浙公网安备 33010602011771号