知识召回技能 - 从 Project CLAUDE.md、User CLAUDE.md 和 Memory MCP 查询历史知识
View on GitHubcuipengfei/prompts
session-learn
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/cuipengfei/prompts/blob/main/plugins/session-learn/skills/knowledge-fetch/SKILL.md -a claude-code --skill knowledge-fetchInstallation paths:
.claude/skills/knowledge-fetch/# 会话召回技能
从三层数据源查询历史知识并注入当前会话上下文。
## 触发场景
### 场景 1: 用户感到沮丧
用户可能**感到烦躁**,因为:
- 你似乎忘记了之前学过的东西
- 你在重复之前被纠正过的错误
- 你在走之前已证明行不通的方向
- 你在忽略用户已表达过的偏好
**处理方式**: 先主动道歉,再展示召回结果。
### 场景 2: 常规查询
用户只是想查询历史记录:
- "有没有关于 X 的记录?"
- "之前怎么处理的?"
- "我的偏好是什么?"
**处理方式**: 直接展示召回结果,不假设用户沮丧。
### 场景 3: 主动刷新
用户调用 `/recall` 无参数:
- 对话已持续较长时间
- 想刷新上下文中的知识
**处理方式**: 展示所有三层的简洁摘要。
## 三层数据源
### 设计原则
| 层级 | 核心问题 | 特性 |
|------|----------|------|
| Project CLAUDE.md | "这个项目需要知道什么?" | 项目特定、自动加载 |
| User CLAUDE.md | "每个会话都需要知道什么?" | 身份性、高频、自动加载 |
| Memory MCP | "特定情境下需要召回什么?" | 情境性、按需查询 |
按优先级顺序查询(越具体越优先):
### Layer 1: Project CLAUDE.md(项目规则)
**位置**: `{repo}/CLAUDE.md` 或 `{repo}/.claude/CLAUDE.md`
**内容类型**:
- 项目特定规则和约定
- 工具链配置
- 代码风格要求
**查询方式**: 读取文件,按 section 标题匹配关键词
### Layer 2: User CLAUDE.md(用户身份)
**位置**: `~/.claude/CLAUDE.md`
**内容类型**(身份层 - "What I always need to know"):
- 核心身份信息(语言、沟通风格)
- 高频工具偏好(每会话都用)
- 环境配置(不变的事实)
- 响应质量标准
**查询方式**: 读取文件,按 section 标题匹配关键词
### Layer 3: Memory MCP(历史经验)
**内容类型**(经验层 - "What I learned for specific situations"):
- 问题解决经验 (problem_solving) - 特定技术/工具的解决方案
- 交互模式 (interaction_pattern) - 从会话中学到的教训
- 技术知识 (technical_knowledge) - 特定情境的知识
- 学习历史 (learning_history) - 会话学习摘要
**查询方式**: 使用 `mcp__memory__search_nodes`
## 执行步骤
### 第一步:理解上下文
分析用户为什么调用 `/recall`:
1. 判断触发场景(沮丧/常规/刷新)
2. 提取关键词(用户参数 > 对话上下文)
3. 确定查询范围
如果用户提供了参数(如 `/recall 代码风格`),用它们作为主要关键词。
### 第二步:查询 Project CLAUDE.md
```
1. 读取 {repo}/CLAUDE.md 或 {repo}/.claude/CLAUDE.md
2. 按 section 标题匹配关键词
3. 提取相关段落
```
### 第三步:查询 User CLAUDE.md
```
1. 读取 ~/.claude/CLAUDE.md
2. 按 section 标题匹配关键词
3. 提取相关段落
```
### 第四步:查询 Memory MCP
```
mcp__memory__search_nodes
- query: [提取的关键词]
```
搜索策略:
- 中英文都试试
- 先宽泛搜索,结果太多再缩小范围
### 第五步:格式化并展示
按层级分组展示结果:
```markdown
## 召回结果
### 📁 项目规则 (CLAUDE.md)
找到 X 条相关规则:
- **[Section 标题]**: [相关内容摘要]
### 👤 用户偏好 (~/.claude/CLAUDE.md)
找到 X 条相关偏好:
- **[Section 标题]**: [相关内容摘要]
### 🧠 历史经验 (Memory MCP)
找到 X 条相关记录:
- **[实体类型]**: [观察内容]
---
**应用到当前情况**: 基于这些召回,我会...
```
#