技能系统

技能(Skill)是 Agent 的知识增强包——一份结构化的 Markdown 文件,告诉 Agent "遇到这类任务应该怎么做"。它不是代码插件,不改变工具集,但能显著提升 Agent 在特定领域的表现。

什么是技能

一个技能就是一个 .wesskill 包,核心是一份 SKILL.md 文件:

SKILL.md          # 名字、描述、指令(必需)
scripts/          # 辅助脚本(可选)
templates/        # 代码模板(可选)
references/       # 参考资料(可选)
manifest.json     # 依赖声明(可选)

当 Agent 加载一个技能时,SKILL.md 的内容会被注入到对话上下文中,指导 Agent 的行为模式。

两级技能

级别来源生命周期典型内容
Tier E(引擎)wesgine 编译时内置随引擎版本agentic-retrieval、plan、delegation、memory-strategy 等
Tier C(Cell)安装到 workspace Cell随工作区code-review、test-engineering、项目特定技能

Tier E 是引擎的"认知操作系统"——所有 workspace 默认可用,wescode 不覆盖也不同名替代。

Tier C 是编程场景专属的——通过 cell.Skills().Install() 安装到当前 workspace 的 Cell 中,跟着工作区走。

预装技能

wescode 预装了 26 个 Tier C 编程技能,涵盖常见编程场景:

类别示例技能
代码审查code-review:系统化的代码审查流程
测试工程test-engineering:测试策略与用例设计
重构refactoring:安全的代码重构方法
调试debugging:系统化的问题定位
文档documentation:代码文档编写规范

这些技能在首次打开工作区时自动安装到 workspace Cell,无需手动操作。

技能如何生效

技能不会无条件加载——那样会浪费宝贵的上下文窗口。wescode 使用按需激活:

  1. 用户显式调用:通过 /skills 命令安装或切换技能
  2. Agent 判断相关性:Agent 根据当前任务上下文决定是否加载某个技能
  3. Prompt 注入:选中的技能内容作为用户消息注入(不是系统提示词),保护 prompt cache

缓存感知

技能加载遵循 prompt cache 纪律:

技能与记忆的区别

技能记忆
内容结构化的操作指南零散的事实、偏好、修正
来源人工编写 / 社区贡献Agent 在对话中学习
粒度一整套工作流程一条一条的知识点
更新版本化安装自动积累、自动衰减

两者互补:技能提供"如何做"的框架,记忆提供"你的偏好是什么"的定制。

自定义技能

你可以为项目创建自己的技能。最简形式只需一个 SKILL.md:

---
name: my-project-conventions
description: 项目编码规范。
version: 1.0.0
---

# 项目编码规范

## 命名规则
- Go 文件使用 snake_case
- TypeScript 文件使用 camelCase
- 数据库表名使用复数形式

## 错误处理
- 所有 repository 方法返回 error
- handler 层统一使用 ErrorResponse 格式
- 禁止在 service 层 panic

通过 cell.Skills().Install() 或管理界面安装到 workspace Cell。

下一步