技能系统
技能(Skill)是 wescode 中结构化的 AI 指令模板,告诉 Agent 如何执行特定类型的任务。
什么是技能
技能的本质
技能是一个 SKILL.md 文件,包含:
- 元数据:名称、版本、描述
- 指令:Agent 执行任务的详细步骤
- 约束:什么该做、什么不该做
- 工具引导:推荐使用哪些工具
- 验证标准:如何判断任务完成
技能 vs Prompt
| 维度 | 普通 Prompt | 技能 |
|---|---|---|
| 持久性 | 临时 | 持久存储 |
| 结构 | 自由文本 | 结构化 Markdown |
| 复用 | 每次重写 | 一次编写多次复用 |
| 管理 | 无 | 安装/卸载/启用/禁用 |
| 版本 | 无 | 语义版本号 |
技能类型
Tier E 引擎技能
引擎内置的 7 个核心技能,所有工作区默认可用:
| 技能名 | 功能 |
|---|---|
| agentic-retrieval | Agent 主动检索策略 |
| agentic-execution | Agent 执行策略 |
| plan | 任务计划管理 |
| delegation | 任务委派策略 |
| memory-strategy | 记忆管理策略 |
| investigation | 问题调查策略 |
| skill-authoring | 技能编写指南 |
特点:只读、不可修改、不可卸载。
Tier C 产品技能
wescode 预装的 26 个编程技能(backend/presets/skills/):
| 类别 | 示例技能 |
|---|---|
| 代码质量 | code-review、test-engineering |
| 重构 | refactoring-guide、pattern-migration |
| 调试 | debugging-strategy、performance-analysis |
| 架构 | architecture-review、api-design |
| DevOps | docker-optimization、ci-cd-setup |
| 文档 | documentation-writer、changelog-generator |
特点:安装到每个工作区的 Cell 中,可管理。
用户自定义技能
用户可以创建自己的技能:
---
name: my-code-style
description: 我的代码风格指南
version: 1.0.0
author: developer
---
# 代码风格技能
## When to Use
当编写新代码或重构现有代码时使用。
## Procedure
1. 使用 4 空格缩进
2. 函数名使用 camelCase
3. 常量使用 UPPER_SNAKE_CASE
4. 每个函数不超过 50 行
...
技能管理
查看技能
在 Activity Bar 中点击「技能管理」图标:
- 查看已安装技能列表
- 查看技能详情和内容
- 启用/禁用技能
安装技能
通过斜杠命令安装:
/skills install <技能名或路径>
或通过 Chat 对话:
"安装 code-review 技能"
"从 ./my-skills/custom.md 安装技能"
卸载技能
/skills uninstall <技能名>
启用/禁用
/skills enable <技能名>
/skills disable <技能名>
技能编写
SKILL.md 结构
---
name: skill-name
description: 简短描述(≤60 字符)
version: 1.0.0
author: 作者名
tags: [category, keyword]
---
# 技能标题
简要介绍技能的用途和适用场景。
## When to Use
什么时候应该使用这个技能。
## Prerequisites
前提条件和依赖。
## How to Run
如何触发这个技能。
## Procedure
详细的执行步骤。
## Pitfalls
常见陷阱和注意事项。
## Verification
如何验证任务完成。
编写原则
| 原则 | 说明 |
|---|---|
| 描述简洁 | ≤60 字符,一句话概括 |
| 步骤具体 | 明确的操作步骤 |
| 工具引用 | 用反引号引用工具名:read_file |
| 约束明确 | 什么该做、什么不该做 |
| 可验证 | 有清晰的完成标准 |
技能与 AI 的交互
激活时机
技能在以下情况被激活:
- 斜杠命令:
/skills use <技能名> - AI 自动选择:根据任务类型自动匹配技能
- 对话引用:在对话中提到技能名
注入方式
技能内容作为用户消息注入(不是系统提示词),保护 prompt cache:
用户:"帮我做代码审查"
→ AI 自动加载 code-review 技能
→ 技能指令作为用户消息注入
→ AI 按技能指引执行审查
技能优先级提示
引擎通过 SkillPriorityHints 帮助 AI 选择技能:
- 根据当前上下文推荐最相关的技能
- 技能之间的优先级排序
- 避免同时加载过多技能
技能与记忆
技能学习
AI 在使用技能过程中学习:
- 哪些技能被频繁使用
- 技能的执行效果如何
- 用户对技能结果的满意度
Curator 生命周期
技能有自动维护系统(Curator):
| 状态 | 说明 |
|---|---|
| Active | 正常可用 |
| Stale | 长时间未使用 |
| Archived | 被自动归档 |
| Pinned | 固定不被自动归档 |
Curator 只影响 AI 创建的技能,不影响预装和用户手动安装的技能。
高级功能
脚本技能
技能可以包含脚本文件(scripts/ 目录):
my-skill/
├── SKILL.md
├── scripts/
│ ├── analyze.sh
│ └── validate.py
└── templates/
└── report.md
AI 执行技能时可以调用这些脚本。
技能版本
/skills info <技能名>
→ 显示版本历史
→ 可回滚到之前版本
技能导出
/skills export <技能名>
→ 导出为 .wesskill 包
→ 可分享给其他用户
注意事项
- 技能不是代码,是指令——不要在技能中写实际代码逻辑
- 技能应该引导 AI 使用正确的工具,而非替代工具
- 好的技能是具体的、可执行的、可验证的
- 避免技能过长(目标 ~200 行)
- 技能名不要与引擎内置技能重名