mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-03-31 00:09:29 +02:00
Skills 系统使用指南
概述
Skills系统允许你为角色配置专业知识和技能文档。当角色执行任务时,系统会将技能名称添加到系统提示词中作为推荐提示,AI智能体可以通过 read_skill 工具按需获取技能的详细内容。
Skills结构
每个skill是一个目录,包含一个SKILL.md文件:
skills/
├── sql-injection-testing/
│ └── SKILL.md
├── xss-testing/
│ └── SKILL.md
└── ...
SKILL.md格式
SKILL.md文件支持YAML front matter格式(可选):
---
name: skill-name
description: Skill的简短描述
version: 1.0.0
---
# Skill标题
这里是skill的详细内容,可以包含:
- 测试方法
- 工具使用
- 最佳实践
- 示例代码
- 等等...
如果不使用front matter,整个文件内容都会被作为skill内容。
在角色中配置Skills
在角色配置文件中添加skills字段:
name: 渗透测试
description: 专业渗透测试专家
user_prompt: 你是一个专业的网络安全渗透测试专家...
tools:
- nmap
- sqlmap
- burpsuite
skills:
- sql-injection-testing
- xss-testing
enabled: true
skills字段是一个字符串数组,每个字符串是skill目录的名称。
工作原理
-
加载阶段:系统启动时,会扫描
skills_dir目录下的所有skill目录 -
执行阶段:当使用某个角色执行任务时:
- 系统会将角色配置的skill名称添加到系统提示词中作为推荐提示
- 注意:skill的详细内容不会自动注入到系统提示词中
- AI智能体需要根据任务需要,主动调用
read_skill工具获取技能的详细内容
-
按需调用:AI可以通过以下工具访问skills:
list_skills: 获取所有可用的skills列表read_skill: 读取指定skill的详细内容
这样AI可以在执行任务过程中,根据实际需要自主调用相关skills获取专业知识。即使角色没有配置skills,AI也可以通过这些工具按需访问任何可用的skill。
示例Skills
sql-injection-testing
包含SQL注入测试的专业方法、工具使用、绕过技术等。
xss-testing
包含XSS测试的各种类型、payload、绕过技术等。
创建自定义Skill
- 在
skills目录下创建新目录,例如my-skill - 在该目录下创建
SKILL.md文件 - 编写skill内容
- 在角色配置中添加该skill名称
mkdir -p skills/my-skill
cat > skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: 我的自定义技能
---
# 我的自定义技能
这里是技能内容...
EOF
注意事项
- 重要:Skill的详细内容不会自动注入到系统提示词中,只有技能名称会作为提示添加
- AI智能体需要通过
read_skill工具主动获取技能内容,这样可以节省token并提高灵活性 - Skill内容应该清晰、结构化,便于AI理解
- 可以包含代码示例、命令示例等
- 建议每个skill专注于一个特定领域或技能
- 建议在skill的YAML front matter中提供清晰的
description,帮助AI判断是否需要读取该skill
配置
在config.yaml中配置skills目录:
skills_dir: skills # 相对于配置文件所在目录
如果未配置,默认使用skills目录。