对话经验总结与 Skills 沉淀
📋 概述
此 skill 用于在对话任务完成后,系统性地总结经验教训并沉淀到仓库的 skills 中,持续提升 AI 助手的能力。
🎯 触发时机
当以下情况发生时使用此 skill:
- 用户请求总结本轮对话的经验
- 用户询问是否需要补充/更新 skills
- 一个复杂任务成功完成后,主动询问用户是否需要沉淀经验
- 用户使用关键词:总结经验、沉淀、学习、skill 补充
📝 执行流程
第一步:对话上下文分析
- 回顾对话历史,识别:
- 任务目标是什么
- 遇到了哪些挑战或问题
- 最终哪些挑战或问题
- 最终解决方案是什么
- 任务是否成功完成
- 提取关键信息:
- 涉及的技术领域(如 VS Code 服务、TypeScript、Rust 等)
- 使用的工具或命令
- 发现的最佳实践
- 踩过的坑和解决方法
第二步:经验教训分析
仅在任务成功完成时进行深度分析:
- 成功因素分析:
- 什么方法/策略有效
- 哪些工具使用得当
- 发现了什么规律或模式
- 可复用知识提炼:
- 通用的解决方案模板
- 可重复使用的代码模式
- 值得记录的注意事项
- 失败教训总结(如果过程中有失败):
- 走过的弯路
- 错误的假设
- 需要避免的陷阱
第三步:Skills 匹配与更新
- 浏览现有 skills
首先列出
.trae/skills/目录下的所有 skills:
现有 skills 列表:
- ai-chat/ # AI 聊天功能开发
- ai-contribution-dev/ # AI 贡献度开发
- design/ # 设计组件
- desktop/ # 桌面应用开发
- log-troubleshoot/ # 日志排查
- meego-task/ # Meego 任务管理
- rust-ai-agent-dev/ # Rust AI Agent 开发
- vscode-platform/ # VS Code 平台层
- vscode-services/ # VS Code 服务层
- vscode-workbench-contrib/ # VS Code 工作台贡献点
- 判断扩充策略 优先级顺序(从高到低):
| 优先级 | 策略 | 适用场景 |
|---|---|---|
| 1️⃣ | 扩充现有 skill 的 docs | 经验与现有 skill 主题直接相关 |
| 2️⃣ | 补充现有 skill 的 SKILL.md | 发现了现有 skill 缺失的核心知识 |
| 3️⃣ | 新增独立 skill | 经验属于全新领域,无法归入现有 skill |
- 内容定位决策表
| 经验类型 | 归属 skill | 具体位置 |
|---|---|---|
| VS Code 服务使用 | vscode-services | 对应 docs/*.md |
| 平台层开发 | vscode-platform | 对应 docs/*.md |
| 工作台功能开发 | vscode-workbench-contrib | 对应 docs/*.md |
| UI/组件设计 | design | 对应 docs/*.md |
| AI 聊天功能 | ai-chat | 对应 docs/*.md |
| Rust Agent 开发 | rust-ai-agent-dev | 对应 docs/*.md |
| 桌面应用开发 | desktop | 对应 docs/*.md |
| 日志分析排查 | log-troubleshoot | 对应 docs/*.md |
第四步:生成更新建议
输出格式:
## 📊 对话总结
**任务**: [简述任务目标]
**结果**: ✅ 成功 / ❌ 失败 / ⏳ 进行中
## 💡 经验教训
### 成功经验
1. [经验1]
2. [经验2]
### 踩坑记录
1. [坑点1] - [解决方案]
## 📝 Skills 更新建议
### 建议更新: [skill 名称]
**更新类型**: 扩充 docs / 补充 SKILL.md / 新增 skill
**目标文件**: [具体文件路径]
**更新内容**:
[具体的内容草稿]
第五步:用户确认
必须使用 AskUserQuestion 工具询问用户是否需要执行更新,禁止直接通过文本对话询问。
工具调用配置:
- questions: 包含一个问题对象
- header: "Skills 更新"
- question: "根据上述分析,是否需要我帮你更新这些 skills?"
- options:
- 选项 1:
- label: "更新全部"
- description: "应用所有建议的更新"
- 选项 2:
- label: "暂不更新"
- description: "结束当前任务,不进行更改"
- 选项 1:
处理用户选择:
- 用户选择"更新全部":
- 直接执行第四步中列出的所有更新建议。
- 用户选择"暂不更新":
- 结束任务,不进行任何文件修改。
⚠️ 注意事项
- 不要过度总结 - 只提取真正有价值的、可复用的经验
- 保持简洁 - 每条经验应该简明扼要,避免冗长
- 优先扩充 - 始终优先考虑扩充现有 skills,而非创建新的
- 尊重用户 - 任何更新都必须先征得用户同意
- 避免重复 - 更新前检查是否已存在类似内容
- 保持一致 - 新内容应与现有 skill 的风格保持一致
📐 更新规范
扩充 docs 文件
遵循现有文档的结构和风格,通常包括:
- 简短的概述
- 具体的代码示例
- 注意事项或常见问题
补充 SKILL.md
通常添加到以下位置:
- 路由表(新增场景-文档映射)
- 快速索引(新增常用条目)
- 注意事项(新增通用提醒)
新增独立 skill
必须包含:
- SKILL.md - 核心说明文件
- docs/ 目录 - 详细文档(如需要)
🔗 相关资源
Skills 目录:
- .trae/skills/
- .claude/skills
- .cursor/skills