Back to Skills

knowledge-fetch

verified

知识召回技能 - 从 Project CLAUDE.md、User CLAUDE.md 和 Memory MCP 查询历史知识

View on GitHub

Marketplace

prompts

cuipengfei/prompts

Plugin

session-learn

learning

Repository

cuipengfei/prompts
5stars

plugins/session-learn/skills/knowledge-fetch/SKILL.md

Last Verified

January 25, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/cuipengfei/prompts/blob/main/plugins/session-learn/skills/knowledge-fetch/SKILL.md -a claude-code --skill knowledge-fetch

Installation paths:

Claude
.claude/skills/knowledge-fetch/
Powered by add-skill CLI

Instructions

# 会话召回技能

从三层数据源查询历史知识并注入当前会话上下文。

## 触发场景

### 场景 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 条相关记录:
- **[实体类型]**: [观察内容]

---

**应用到当前情况**: 基于这些召回,我会...
```

#

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
4128 chars