一键导入
exp-reflect
当任务完成、解决困难问题、用户要求总结经验/记录项目理解/更新项目规范,或 spec-end/spec-update 需要从当前 Spec 文档判断是否沉淀经验、知识、SOP、工具记忆、长期项目规范时使用。不要用于普通文档摘要、历史记忆检索或已明确内容的直接写入。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当任务完成、解决困难问题、用户要求总结经验/记录项目理解/更新项目规范,或 spec-end/spec-update 需要从当前 Spec 文档判断是否沉淀经验、知识、SOP、工具记忆、长期项目规范时使用。不要用于普通文档摘要、历史记忆检索或已明确内容的直接写入。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
妙搭(Spark/Miaoda)应用开发与托管:应用创建、HTML静态站点发布、本地全栈开发、云端生成迭代。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、可见范围时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。
飞书云文档(Docx / Wiki 文档,v2 API):读取和编辑飞书文档内容。当用户给出文档 URL 或 token,或需要查看、创建、编辑文档、插入或下载文档图片附件时使用。文档中嵌入的电子表格、多维表格、画板,先用本 skill 提取 token 再切到对应 skill。当用户给出 doubao.com 的 /docx/ 或 /wiki/ URL/token 时,也应直接使用本 skill;路由依据是 URL 路径模式和 token,而不是域名。不负责文档评论管理,也不负责表格或 Base 的数据操作。
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、评论/权限/订阅、标题、版本和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, VC meeting ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复、发送应用内/短信/电话加急。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据时使用。
飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.
| disable-model-invocation | true |
| name | exp-reflect |
| description | 当任务完成、解决困难问题、用户要求总结经验/记录项目理解/更新项目规范,或 spec-end/spec-update 需要从当前 Spec 文档判断是否沉淀经验、知识、SOP、工具记忆、长期项目规范时使用。不要用于普通文档摘要、历史记忆检索或已明确内容的直接写入。 |
| allowed-tools | Read, Write, Edit, Glob, Grep |
把本 Skill 当成一个有边界的反思循环单元:明确读什么、能动什么、怎么算完成、什么时候停、什么时候交还给人。
| 项 | 本 Skill 的约定 |
|---|---|
| 输入 | 当前 Spec 目录下的角色产物文档、用户附加提示词、现有记忆索引(查重用) |
| 权限 | 只做"识别 + 分类 + 展示草稿";实际写入交给 exp-write/skill-creator,规范变更需用户确认后再编辑 AGENTS.md/rules |
| 验证 | 按记忆类型分流(经验/知识/SOP/工具/规范),重大经验与轻量经验分开,已做重复检测 |
| 停止 | 不是所有内容都沉淀;常识、一次性操作、已有文档覆盖的内容不记;判定无可沉淀即停止 |
| 升级 | 发现与现有记忆冲突、或规范变更影响面大时,展示差异并交回用户确认,不自行落盘 |
基于 MUSE 框架的"反思 → 结构化 → 记忆化"理念,读取当前任务产出的 Spec 文档,提取可沉淀的记忆,并按记忆类型分流到不同存储层。
记忆类型识别:
spec/context/experience/ / 轻量→Auto Memory)spec/context/knowledge/(架构、数据流、模块分析)spec/context/knowledge/(框架对比、选型分析)sop-xxx SkillAGENTS.md 或 .agents/rules/*.md可沉淀的记忆类型:
spec/context/knowledge/sop-xxx Skill/exp-reflect/exp-reflect 记录数据流、/exp-reflect 记录架构/exp-reflect 更新规范、/exp-reflect 记录规则先分析内容,再判断记忆类型
不是所有内容都值得记录,需要判断:
| 问自己 | 是 | 否 |
|---|---|---|
| 这是一个"困境→解决方案"的经验? | 经验记忆 | 继续下一问 |
| 这是项目理解(架构/数据流/模块分析)? | 知识记忆 | 继续下一问 |
| 这是技术调研(框架对比/选型分析)? | 知识记忆 | 继续下一问 |
| 这是一个可复用的多步骤流程(>5步)? | 程序记忆(SOP) | 继续下一问 |
| 这是以后每次都要遵守的项目规范或规则? | 项目规范/规则记忆 | 继续下一问 |
| 这是某 Skill 执行后应该做的固定动作? | 工具记忆 | 不需记忆 |
反思流程:
- [ ] 步骤 1:读取当前任务的 Spec 文档
确定当前任务的 Spec 目录(由用户提供,或从上下文推断)
使用 Glob 列出目录下存在的文档,按以下顺序依次读取:
| 文档 | 包含内容 | 主要产出记忆类型 |
|------|----------|-----------------|
| `exploration-report.md` | 项目背景、代码探索、技术选型调研 | 知识记忆(项目理解/技术调研) |
| `plan.md` | 架构决策、接口设计、实现思路及理由 | 经验记忆(设计决策)、知识记忆(架构) |
| `test-plan.md` | 测试边界、验证方法 | 程序记忆(测试流程) |
| `summary.md` | 实际实现细节、与 plan 的偏差及原因 | 经验记忆(实现踩坑、偏差理由) |
| `debug-*.md` | 问题诊断、根因分析 | 经验记忆(困境-策略对,最高价值) |
| `debug-*-fix.md` | 修复方案、影响范围 | 经验记忆(修复策略) |
| `test-report.md` | 测试结果、发现的问题、日志/审计要求 | 经验记忆(测试发现的边界问题)、项目规范/规则记忆 |
| `update-*.md` | 已有功能的迭代需求与修改方案 | 经验记忆(需求变化原因)、知识记忆(功能演进) |
| `update-*-summary.md` | 更新实现结果、影响范围、规范维护审查 | 经验记忆、项目规范/规则记忆 |
| `update-*-review.md` | 更新审查结论、未完成项、不符项 | 经验记忆(审查发现的问题) |
注意:
- 不存在的文档跳过,不报错
- 注意用户的附加提示词(如"记录数据流"、"记录架构"),优先关注对应文档内容
- [ ] 步骤 2:识别可沉淀的记忆
分析并分类:
| 内容特征 | 记忆类型 | 存储位置 |
|----------|----------|----------|
| 解决了什么问题?为什么这样解决? | 经验记忆 | spec/context/experience/ |
| 项目架构、数据流、模块分析? | 知识记忆 | spec/context/knowledge/ |
| 技术调研、框架对比、选型分析? | 知识记忆 | spec/context/knowledge/ |
| 完成了哪些多步骤操作(>5步)?是否可复用? | 程序记忆 | sop-xxx Skill |
| 以后每次都要遵守的项目身份、编码、安全、日志、测试、审计、目录/命名规范、产品/前端偏好? | 项目规范/规则记忆 | AGENTS.md / .agents/rules/*.md |
| 某 Skill 执行后总是需要做什么? | 工具记忆 | Skill 末尾后续动作 |
- [ ] 步骤 2.5:记忆权重判断
对步骤 2 中识别出的记忆,进行权重分流:
**经验记忆(困境-策略对)**:
| 判断维度 | 重大经验 → exp-write | 轻量经验 → Auto Memory |
|----------|---------------------|------------------------|
| 复杂度 | 涉及多组件协调、非显而易见的解决方案 | 单点技巧、简单调试经验 |
| 关联性 | 需要链接到 Spec/代码文件的结构化记录 | 独立的、无需关联其他文档 |
| 共享性 | 团队/项目级别需要共享的经验 | 个人编码习惯和偏好 |
| 持久性 | 长期有效的架构决策和设计模式 | 临时性的调试技巧 |
**知识记忆(项目理解/技术调研)**:
- 所有知识记忆都通过 exp-write 写入 `knowledge/`
- 不区分权重,因为项目理解类内容本身就是结构化知识
**项目规范/规则记忆**:
- 项目名称/一句话身份、核心技术栈摘要、AGENTS 路由或 import 变化 → `AGENTS.md`
- 启动/部署方式、开发流程细则、长期编码规范、安全规则、日志/审计要求、测试约束、目录/命名规范、产品/前端偏好 → `.agents/rules/*.md`
- `AGENTS.md` 只做入口清单,不承载长篇规范或详细偏好
- 只记录长期规则,不记录一次性实现细节
分流结果:
- 重大经验 → 继续走 exp-write 流程(写入 spec/context/experience/)
- 轻量经验 → 提示用户让 Auto Memory 处理(见「轻量经验引导」)
- 知识记忆 → 继续走 exp-write 流程(写入 spec/context/knowledge/)
- 项目规范/规则记忆 → 展示拟修改的 AGENTS.md / rules 文件,用户确认后直接编辑
- [ ] 步骤 3:检查现有记忆(防止重复)
根据步骤 2 识别的类型,检查对应位置:
- 经验记忆 → 读取 spec/context/experience/index.md
- 知识记忆 → 读取 spec/context/knowledge/index.md
- 程序记忆 → 列出 .agents/skills/ 下所有 sop-* 目录
- 项目规范/规则记忆 → 读取 AGENTS.md 和 .agents/rules/ 下相关规则文件
- 工具记忆 → 读取目标 Skill 的「后续动作」章节
- [ ] 步骤 4:向用户展示分析结果
按记忆类型分组展示
- [ ] 步骤 5:用户确认后执行写入
- 经验记忆(重大)→ 调用 /exp-write type=experience
- 知识记忆 → 调用 /exp-write type=knowledge
- 程序记忆 → 调用 /skill-creator 创建 SOP Skill
- 项目规范/规则记忆 → 直接编辑 AGENTS.md 或 .agents/rules/*.md
- 工具记忆 → 直接编辑目标 Skill 文件
📝 经验反思结果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 经验记忆(困境-策略对)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**标题**:[简短描述问题]
**权重**:🔴 重大经验(建议 exp-write)/ 🟡 轻量经验(建议 Auto Memory)
**判断依据**:[多组件协调 / 需要关联 Spec / 团队共享 / ...]
**关键词**:[关键词1], [关键词2], [关键词3]
**适用场景**:[什么情况下这个经验有用]
**困境**:[描述遇到的问题或挑战]
**策略**:
1. [解决步骤1]
2. [解决步骤2]
**理由**:[为什么这个策略有效]
→ 🔴 重大经验:确认后调用 /exp-write type=experience
→ 🟡 轻量经验:Auto Memory 会自动处理,无需手动写入
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📖 知识记忆(项目理解/技术调研)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**标题**:[知识主题]
**类型**:项目理解 / 技术调研 / 代码分析
**关键词**:[关键词1], [关键词2], [关键词3]
**内容概述**:
[简要说明这个知识点的核心内容]
**详细内容**:
[根据类型组织内容]
项目理解类:
- 项目概述
- 核心架构
- 数据流
- 关键模块
技术调研类:
- 背景
- 方案对比
- 结论
→ 确认后调用 /exp-write type=knowledge
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 程序记忆(SOP)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**SOP 名称**:sop-xxx-[名称]
**触发场景**:[什么时候使用这个 SOP]
**主要步骤**:
1. [步骤1]
2. [步骤2]
...
→ 确认后调用 /skill-creator 创建 SOP Skill
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 工具记忆(Skill 后续动作)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**目标 Skill**:[Skill 名称]
**新增后续动作**:
1. [动作1]
2. [动作2]
→ 确认后直接编辑 Skill 文件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📏 项目规范/规则记忆(AGENTS.md / rules)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**目标文件**:AGENTS.md / .agents/rules/[规则文件].md
**规则类型**:入口路由 / 项目身份摘要 / 编码规范 / 安全规则 / 日志审计 / 测试约束 / 目录命名 / 开发流程 / 产品体验 / 前端风格
**新增或修改的规则**:
1. [规则1]
2. [规则2]
**触发依据**:[本次 Spec 中哪个决策、问题或测试结果要求长期遵守]
**适用范围**:[全项目 / 某模块 / 某类任务]
→ 确认后直接编辑目标规范文件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
是否执行以上记忆操作?
| 记忆类型 | 值得沉淀的特征 |
|---|---|
| 经验记忆 | 解决了反复出现的问题、非显而易见的解决方案、涉及多组件协调、踩过的坑 |
| 知识记忆 | 项目架构理解、数据流分析、技术调研结果、框架对比、模块设计解读 |
| 程序记忆 | 多步骤流程(>5步)、可复用、有明确的触发条件和验证方法 |
| 工具记忆 | 某 Skill 执行后总是需要的固定动作、形成工作流衔接 |
| 项目规范/规则记忆 | 长期有效、未来每次都要遵守、能防止反复犯错;入口变化放 AGENTS.md,详细规则和偏好放 rules |
| 特征 | 示例 |
|---|---|
| 常识性内容 | "变量命名要有意义" |
| 一次性操作 | "修复了某个 typo" |
| 项目特定的临时方案 | "临时注释掉某行代码" |
| 已有文档覆盖 | 框架官方文档已说明的内容 |
| 一次性实现细节 | 某个临时变量名、某次特殊修补 |
| 不稳定偏好 | 尚未验证、只对本次任务有效的个人偏好 |
Q1: 困境描述的核心问题是否相同?
Q2: 策略的主要方法是否相同?
Q3: 适用场景是否相同?
如果 Q1 和 Q2 都是"是" → 视为重复
如果 Q1 是但 Q2 否 → 可能是同一问题的不同解法,询问用户
如果 Q1 否 → 不重复,可以新增
⚠️ 发现相似经验
现有经验 [EXP-001]:WebSocket 连接超时
- 困境:长时间任务导致连接断开
- 策略:三层防护(Nginx超时+心跳+重连)
本次经验与现有经验高度相似。
请选择:
1. 不记录(现有经验已足够)
2. 更新现有经验(补充新内容)
3. 新增经验(场景确实不同)
Agent 应在以下场景主动建议是否需要反思(建议性,非强制):
| 信号 | 提示话术 |
|---|---|
| 解决了困难问题 | "这个问题的解决方案可能值得记录,要反思一下吗?" |
| 做出了架构决策 | "这个决策及其理由可能对未来有帮助,要沉淀吗?" |
| 用户说"以后都这样" | "好的,我来提取这个经验以便未来参考。" |
| 任务完成 | "任务完成了,我来读取本次 Spec 文档进行反思,请确认 Spec 目录路径(或直接回复确认当前目录)。" |
| 场景 | 协作 Skill |
|---|---|
| 被 spec-end 调用 | spec-end 需提供当前任务的 Spec 目录路径,exp-reflect 据此定位文档 |
| 写入经验记忆 | → /exp-write type=experience 写入经验文件和索引 |
| 写入知识记忆 | → /exp-write type=knowledge 写入知识文件和索引 |
| 创建程序记忆(SOP) | → /skill-creator 创建 SOP Skill |
| 更新项目规范/规则 | → 直接编辑 AGENTS.md 或 .agents/rules/*.md |
| 更新工具记忆 | → 直接编辑目标 Skill 文件末尾 |
| 检查是否重复 | → 读取 spec/context/experience/index.md 和 spec/context/knowledge/index.md |
| 更新现有记忆 | → /exp-write 更新模式 |
当步骤 2.5 判断为轻量经验时,不走 exp-write,而是提示用户:
💡 这条经验比较轻量,建议让 Auto Memory 自动处理:
**经验**:[一句话描述]
Auto Memory 会自动记住这类日常经验,无需手动写入 exp/ 目录。
如果你认为这条经验足够重要需要结构化记录,请告诉我,我会走 exp-write 流程。