AggRoot
文档目录

技能系统

AggRoot 的技能系统提供可复用的任务模板,让你通过简短的命令执行常见操作。本章介绍内置技能、自定义技能和技能市场。


内置技能

AggRoot 开箱即提供以下内置技能:

技能名 描述 使用场景
explain 解释代码或概念 需要详细理解某段代码的工作原理
refactor 重构代码以改善质量 改善代码结构、可读性或性能
test 为代码编写测试 为现有代码生成单元测试
document 生成文档 为函数、类或模块生成文档注释
debug 调试问题和错误 排查 Bug、分析错误信息
analyze 分析代码库结构 理解架构、依赖关系和模式
security-check 安全检查 审查代码中的安全漏洞
commit 生成提交信息 创建符合规范的 Git 提交

使用技能

斜杠命令

在输入框中使用 /技能名 调用技能:

Agent> /explain this function
Agent> /refactor src/utils/helpers.ts
Agent> /test src/domain/agent/aggregate.ts
Agent> /document src/config.ts --format tsdoc
Agent> /debug TypeError: Cannot read properties of undefined
Agent> /analyze architecture --depth deep
Agent> /security-check src/ --focus injection
Agent> /commit

通过 Skill 工具调用

AggRoot 的模型也可以通过 Skill 工具在对话中调用技能:

请使用 test 技能为 aggregate.ts 编写测试

列出可用技能

使用 ListSkills 工具或输入 /skills 查看当前所有可用技能:

Agent> 列出所有可用的技能

技能参数

每个技能可以接受不同的参数:

explain

参数 类型 必填 说明
topic string 要解释的代码或概念
level string 解释级别:beginner / intermediate / advanced(默认 intermediate)
/explain React hooks --level beginner

refactor

参数 类型 必填 说明
file string 要重构的文件路径
focus string 关注方向:readability / performance / maintainability / all
/refactor src/utils/helpers.ts --focus performance

test

参数 类型 必填 说明
file string 要编写测试的文件路径
framework string 测试框架:vitest / jest / mocha(默认 vitest)
/test src/domain/agent/aggregate.ts --framework vitest

document

参数 类型 必填 说明
file string 要文档化的文件路径
format string 格式:jsdoc / tsdoc / markdown(默认 tsdoc)

debug

参数 类型 必填 说明
error string 错误信息或描述
context string 额外的上下文信息

analyze

参数 类型 必填 说明
scope string 分析范围:architecture / dependencies / patterns / all
depth string 分析深度:quick / standard / deep

security-check

参数 类型 必填 说明
file string 要检查的文件或目录
focus string 关注方向:injection / auth / crypto / all

commit

参数 类型 必填 说明
message string 可选的提交信息提示

自定义技能

你可以在项目中创建自定义技能模板。

技能文件格式

.aggroot/skills/ 目录下创建 Markdown 文件,包含 YAML frontmatter:

---
name: my-custom-skill
description: 自定义技能的描述
whenToUse: 当你需要执行某某操作时使用此技能
arguments:
  - name: target
    description: 目标文件或目录
    required: true
  - name: mode
    description: 执行模式: quick / full
    default: quick
allowedTools:
  - read_file
  - replace
  - glob
context: inline
userInvocable: true
---

## 任务指令

请对 {{target}} 执行以下操作:

1. 读取文件内容
2. 分析代码结构
3. 按 {{mode}} 模式输出结果

### 输出格式

- 概述
- 发现的问题
- 建议的改进

Frontmatter 字段说明

字段 类型 说明
name string 技能名称(用于调用)
description string 技能描述
whenToUse string 何时使用此技能
arguments array 技能参数定义
allowedTools array 允许使用的工具列表
model string 使用的模型(可选)
context string 执行上下文:inline(当前会话)/ fork(独立子代理)
agent string 指定使用的代理(可选)
userInvocable boolean 用户是否可以直接调用

参数定义

arguments:
  - name: file           # 参数名
    description: 目标文件   # 参数描述
    required: true        # 是否必填
    default: null         # 默认值
    type: string          # 类型:string / number / boolean / array / object
    enum:                 # 可选值列表
      - quick
      - full

技能加载路径

AggRoot 从以下路径加载技能,按优先级排列:

优先级 路径 说明
1 .aggroot/skills/*.md 项目级自定义技能
2 ~/.aggroot/skills/*.md 全局自定义技能
3 内置技能 AggRoot 自带技能
4 Skillhub 技能 从技能市场安装的技能
5 MCP 提示词 MCP 服务器提供的提示词技能

同名技能按优先级覆盖,项目级 > 全局级 > 内置。


执行上下文

技能可以指定不同的执行上下文:

inline(内联)

在当前会话中直接执行。技能的提示词会注入到当前对话中,模型直接响应。

  • 优点:快速,无需额外启动
  • 缺点:会占用当前会话的上下文
  • 适用:简单的、单步的任务

fork(分支)

在独立的子代理会话中执行。技能的提示词和工具在子代理中运行,结果返回给主会话。

  • 优点:不污染主会话上下文,可以使用不同的模型
  • 缺点:启动开销略大
  • 适用:复杂的、多步的任务

Skillhub 技能市场

AggRoot 集成了 Skillhub(AI 技能市场),可以搜索和安装社区技能。Skillhub CLI 通过 npx skillhub 调用,无需全局安装。

搜索技能

/skillhub-search 代码审查

支持的搜索选项:

  • -p <platform>:按平台过滤(claude, codex, copilot, cursor, windsurf)
  • -s <sort>:排序方式(recommended, aiScore, downloads, stars, rating, recent)
  • -l <number>:结果数量

安装技能

npx skillhub install <skill-id>

技能 ID 格式为 owner/repo/skill-name(如 openclaw/skills/commit)。

支持的安装选项:

  • -p <platform>:指定目标平台
  • --project:安装到当前项目(而非全局)

列出已安装技能

npx skillhub list            # 全局技能
npx skillhub list --all      # 全部(含项目级)
npx skillhub list --project  # 仅项目级

更新技能

npx skillhub update          # 更新所有技能
npx skillhub update <name>   # 更新指定技能

卸载技能

npx skillhub uninstall <skill-name>

查看帮助

npx skillhub --help
npx skillhub <command> --help

可用 Skillhub 技能

技能名 描述
skillhub-search 搜索技能
skillhub-install 安装技能
skillhub-list 列出已安装技能
skillhub-update 更新技能
skillhub-uninstall 卸载技能
skillhub-help 查看帮助

常见问题

技能未生效

  1. 确认技能文件在正确的目录(.aggroot/skills/~/.aggroot/skills/
  2. 检查 YAML frontmatter 格式是否正确
  3. 使用 ListSkills 工具查看技能是否注册成功

自定义技能覆盖内置技能

如果你创建了与内置技能同名的自定义技能,自定义技能优先。这可以用来定制内置技能的行为。

技能执行出错

检查 allowedTools 列表是否包含技能所需的所有工具。如果技能需要 Shell 命令但未在 allowedTools 中声明 run_shell_command,执行时会报错。