Agent skills with roo code

什么是agent skills是什么?

  • 将工作流程打包成可以重复使用的技能包
  • 能按照你的标准来完成特定的任务
    例如: 产品需求分析是一个skill,那代码审查可以是另外一个skill

skill有两个特别强大的特性

  1. 渐进式披露。传统方式直接加载大文件,这种方式直接导致上下文爆炸。skill方式采用了分层加载的方式,启动时,claude只会看每个skill的名字和简介。大约100字左右。,当需要调用某个skill时,它才会加载详细的内容,如果需要更多参考资料,再按需读取,理论上时可以无限的。所以你可以给claude code装备几十个甚至上百个skills,在使用它们之前,几乎不占用任何上下文窗口
  2. 可复用。创建一个skill之后可以在任何一个项目或对话中使用,而且claude会自动识别,什么时候该用哪个skill,更重要的是:可以打包分享给你的团队,让大家获得相同的能力。

架构
image

image

skill结构
image


[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
  1. 能否按需读取对应的skill.md --- 结论:能
    image

  2. 能否能按执行流程执行 --- 结论:能
    image

  3. 在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是数字处理工具类,提供精确的数字运算、转换和验证等功能"},
]
posted @ 2025-11-01 21:29  VING_963  阅读(22)  评论(0)    收藏  举报