Skills 使用指南
2026-04-12
Skills 使用指南
Skills 是可复用的 AI 能力模块。通过 Skill,你可以教会 Doforu 特定的开发工作流、编码规范或领域知识——无需在每次对话中重复提示。
什么是 Skill
Skill 本质上是一个包含元数据和指令内容的 SKILL.md 文件。当 Agent 检测到匹配的任务时,它会通过 read_skill 工具加载该文件,并将其内容注入到当前对话上下文中。
Skill 的典型使用场景包括:
- 统一的代码审查指南
- 框架特定的开发工作流(例如 Next.js、Electron)
- 内部发布检查清单
- 常用的重构或文档生成模板
目录结构与搜索优先级
Doforu 按以下顺序搜索 Skill(首个匹配的优先):
1. 项目级别(当前打开的项目)
.cursor/skills/.agent/skills/.claude/skills/
2. 全局级别(用户主目录)
~/.cursor/skills/~/.claude/skills/~/.agents/skills/~/.doforu/skills/
3. 数据目录
data/skills/(Doforu 内部数据目录)
创建 Skill
在任意 Skill 目录下创建一个子目录,并在其中放置 SKILL.md 文件:
~/.doforu/skills/
└── code-review/
└── SKILL.md
SKILL.md 使用 YAML 前置元数据 + Markdown 格式:
---
name: code-review
description: 审查代码中的错误、性能问题和风格不一致
---
# 代码审查 Skill
## 检查清单
1. 检查是否有未处理的异常路径
2. 检查是否有内存泄漏或未释放的资源
3. 确认命名是否符合团队约定
4. 查找硬编码的魔法数字或字符串
## 输出格式
- 严重程度:[严重] / [建议]
- 位置:文件路径 + 行号
- 建议:提供可运行的代码示例
前置元数据字段
| 字段 | 描述 |
|---|---|
name |
Skill 标识符(建议使用小写字母加连字符) |
description |
一行摘要,显示在可用技能列表中 |
version |
可选版本号 |
author |
可选作者名 |
tags |
可选的标签数组 |
Claude Code 插件包兼容
Doforu 也兼容 Claude Code 的插件包结构。如果您的 Skill 以插件形式分发,目录布局如下:
my-plugin/
├── .claude-plugin/
│ └── marketplace.json # 或 plugin.json
└── skills/
└── my-skill/
└── SKILL.md
示例 marketplace.json:
{
"skills": ["skills/my-skill"]
}
安全提示:插件清单中的路径必须为相对路径。Doforu 会拒绝绝对路径和路径遍历尝试。
如何在对话中使用
当 Doforu 检测到某个任务与已安装的 Skill 匹配时,它会自动通过 read_skill 加载 Skill 内容,无需手动操作。
要查看当前可用的 Skill,请检查项目 AGENTS.md 文件中的 <available_skills> 块:
<available_skills>
<skill name="code-review">审查代码中的错误和风格问题</skill>
<skill name="git-workflow">标准化的 Git 分支和提交流程</skill>
</available_skills>
如果项目没有 AGENTS.md,Doforu 会自动扫描上述目录并列出发现的 Skill。
刷新 Skill 列表
Skill 列表会缓存 60 秒,以减少每次对话时的磁盘扫描开销。安装或修改 Skill 后,可以通过以下方式强制刷新:
- 设置页面:设置 → 实验 → 点击 刷新 Skills
- API 端点:
POST /api/skills/reload
刷新后,新的或更新后的 Skill 会立即生效。