返回文档

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 会立即生效。