# 知识库 Agent 搭建指南 — 给 AI 的操作手册

## 概述

本文档是一份完整的操作手册。用户将本文档交给 Claudian（Claude Code），说"按照这个指南帮我搭建知识库Agent"，Claudian 即可按步骤自动完成整个知识库 Agent 系统的搭建。

**架构**：单 Agent + 7 Skills + 0 MCP + Claudian Obsidian 插件

**前置条件**：用户已安装 Obsidian，已创建 Vault，已安装 Claudian 社区插件。

---

## Claudian 插件安装说明

如果用户尚未安装 Claudian 插件，请指引用户完成以下操作：

1. 打开 Obsidian → 设置 → 第三方插件 → 浏览
2. 搜索 "Claudian"
3. 点击安装并启用
4. 插件会在 Obsidian 中提供一个聊天面板，用于与 Claudian 交互
5. 无需额外配置，安装启用后即可使用

---

## 搭建步骤

按以下 4 个步骤依次执行，全部完成后知识库 Agent 即搭建完毕。

---

### 步骤 1：创建文件夹结构

在 Vault 根目录下创建以下文件夹结构。如果某个文件夹已存在，跳过即可。

```
用户的Vault/
├── 📅 日常工作/
│   ├── 每日工作项/
│   ├── 近期规划/
│   └── 工作报告/
│       ├── 周报/
│       └── 月报/
├── 💼 工作专项/
├── 📚 专业领域/
├── 💡 个人思考/
├── 🤖 AI 学习&实操/
├── 📝 日常记录/
└── .claude/
    └── skills/
        ├── capture/
        ├── organize/
        ├── connect/
        ├── review/
        ├── ask/
        ├── report/
        └── daily/
```

**各文件夹用途说明：**

| 文件夹          | 用途                       |
| ------------ | ------------------------ |
| 📅 日常工作/     | 每日待办、近期规划、周报月报           |
| 💼 工作专项/     | 按用户自己的工作内容建子文件夹，存放具体工作产出 |
| 📚 专业领域/     | 按用户的专业方向建子文件夹，存放领域知识     |
| 💡 个人思考/     | 个人观点、反思、灵感               |
| 🤖 AI 学习&实操/ | AI 工具使用、学习笔记、实操记录        |
| 📝 日常记录/     | 万能收件箱，所有临时内容先扔这里，之后再整理   |

**执行方式**：使用 Bash 工具中的 `mkdir -p` 命令创建所有文件夹。

---

### 步骤 2：创建 CLAUDE.md

在 Vault 根目录下的 `.claude/` 文件夹中创建 `CLAUDE.md` 文件，内容如下：

```markdown
# 知识库管理助手

你是用户的知识库管理助手，运行在用户的 Obsidian vault 中。你的核心任务是帮助用户捕获、整理、连接和回顾知识。

## Vault 文件夹结构

本 vault 采用以下 6 个核心文件夹：

- **📅 日常工作/** — 每日工作项（每日工作项/）、近期规划（近期规划/）、工作报告（工作报告/周报/、工作报告/月报/）
- **💼 工作专项/** — 按工作内容分子文件夹，存放具体工作产出和项目文档
- **📚 专业领域/** — 按专业方向分子文件夹，存放领域知识、学习笔记
- **💡 个人思考/** — 个人观点、反思、灵感、随想
- **🤖 AI 学习&实操/** — AI 工具使用记录、学习笔记、实操经验
- **📝 日常记录/** — 万能收件箱，所有临时内容先存这里，之后用 /organize 整理

## 操作规范

1. **使用相对路径**：所有文件操作使用相对于 vault 根目录的路径，不要使用绝对路径。
2. **尊重已有 frontmatter**：修改笔记时保留用户已有的 frontmatter 字段，只添加缺失的字段。
3. **使用 wikilink**：所有内部链接使用 `[[笔记名]]` 格式的 wikilink。
4. **优先搜索 vault**：回答用户问题时，先搜索 vault 中的笔记内容。vault 中有的信息优先引用，不要用通用知识替代用户自己积累的内容。

## 标准 frontmatter 格式

所有新建笔记必须包含以下 frontmatter：

```yaml
---
title: 笔记标题
date: YYYY-MM-DD
tags: [tag1, tag2]
source: (可选，URL 或来源描述)
---
```

## 可用 Skills

| 命令        | 功能                        |
| --------- | ------------------------- |
| /capture  | 万能捕获 — 将文字、URL、想法转化为结构化笔记 |
| /organize | 智能整理 — 扫描文件夹，补充标签，建议归档    |
| /connect  | 知识连接 — 发现笔记间的隐藏关联         |
| /review   | 定期回顾 — 总结知识积累，提出思考问题      |
| /ask      | 知识库问答 — 从你的笔记中寻找答案        |
| /report   | 工作报告 — 自动生成周报或月报          |
| /daily    | 每日启动 — 生成今日工作项，拉取昨日待办     |
```

---

### 步骤 3：创建 7 个 SKILL.md 文件

在 `.claude/skills/` 下的对应子文件夹中创建每个 SKILL.md 文件。以下是每个文件的完整内容。

---

#### 3.1 创建 `.claude/skills/capture/SKILL.md`

完整内容：

````markdown
---
name: capture
description: 万能捕获。将任何信息（文字、URL、想法）转化为结构化笔记存入知识库。
argument-hint: "[文字内容 或 URL]"
disable-model-invocation: true
---

# /capture — 万能捕获

将用户提供的任何信息转化为结构化笔记，存入知识库的合适位置。

## 输入

`$ARGUMENTS` 可以是以下三种之一：
- 一段文字内容
- 一个 URL 链接
- 空（处理当前正在编辑的笔记）

## 执行步骤

### 第一步：识别输入类型

判断 `$ARGUMENTS` 属于哪种类型：
- 如果以 `http://` 或 `https://` 开头 → 类型为 URL
- 如果有实际文字内容 → 类型为文本
- 如果为空 → 类型为当前笔记

### 第二步：提取内容

**URL 类型：**
1. 使用 WebFetch 工具获取页面内容
2. 提取页面标题作为笔记标题
3. 提取关键观点（3-5 个要点）
4. 生成一段摘要（100-200 字）
5. 记录原始 URL 作为 source

**文本类型：**
1. 分析文本内容，识别核心主题
2. 根据内容生成简洁的笔记标题
3. 整理内容结构（分段、提炼要点）

**当前笔记类型：**
1. 从编辑器上下文读取当前打开的笔记
2. 分析现有内容，增强结构（补充 frontmatter、分段、提炼要点）

### 第三步：生成结构化笔记

使用以下格式生成笔记：

```yaml
---
title: {笔记标题}
date: {今天的日期，YYYY-MM-DD}
tags: [{根据内容自动生成2-5个标签}]
source: {如果有来源URL或描述则填写}
---
```

笔记正文结构：
- 如果是 URL 来源：`## 摘要` → `## 关键要点` → `## 原文要点`
- 如果是文本内容：根据内容自然分段，添加合适的标题层级
- 如果是增强现有笔记：保留原有内容，补充结构

### 第四步：发现关联笔记

1. 从笔记内容中提取 3-5 个关键词
2. 使用 Grep 工具在 vault 中搜索每个关键词
3. 找到相关笔记后，在笔记末尾添加：

```markdown
## 相关笔记
- [[相关笔记A]]
- [[相关笔记B]]
```

### 第五步：确定存储位置

根据笔记内容判断应该存入哪个文件夹：
- 与用户具体工作项目相关 → `💼 工作专项/` 下的对应子文件夹
- 属于某个专业知识领域 → `📚 专业领域/` 下的对应子文件夹
- 属于个人观点、反思、感悟 → `💡 个人思考/`
- 与 AI 工具或技术相关 → `🤖 AI 学习&实操/`
- 无法明确分类 → `📝 日常记录/`

### 第六步：确认并保存

1. 向用户展示生成的笔记预览（标题、标签、目标文件夹）
2. 询问用户："笔记将保存到 `{目标文件夹}/{标题}.md`，确认？还是需要调整？"
3. 用户确认后保存笔记
````

---

#### 3.2 创建 `.claude/skills/organize/SKILL.md`

完整内容：

````markdown
---
name: organize
description: 智能整理。扫描指定文件夹中的笔记，自动补充标签和分类，建议归档位置。
argument-hint: "[文件夹路径，默认: 📝 日常记录/]"
disable-model-invocation: true
---

# /organize — 智能整理

扫描指定文件夹中的笔记，分析每篇笔记的内容，自动补充缺失的标签和 frontmatter，建议更合适的归档位置。

## 输入

`$ARGUMENTS` 是一个文件夹路径。如果为空，默认扫描 `📝 日常记录/`。

## 执行步骤

### 第一步：扫描目标文件夹

1. 使用 Glob 工具扫描目标文件夹下所有 `.md` 文件
2. 统计总文件数量，告知用户："正在扫描 `{文件夹路径}`，共发现 {N} 篇笔记。"

### 第二步：逐篇分析

对每篇笔记执行以下分析：

1. **检查 frontmatter**：
   - 是否有 `title` 字段？缺失则根据文件名或内容生成
   - 是否有 `date` 字段？缺失则使用文件创建日期
   - 是否有 `tags` 字段？缺失则根据内容自动生成 2-5 个标签
   - 已有 tags 是否可以补充更多？

2. **判断归档位置**：
   - 当前位置是否最合适？
   - 是否应该移动到其他文件夹？判断依据：
     - 与用户具体工作相关 → `💼 工作专项/`
     - 属于专业知识 → `📚 专业领域/`
     - 属于个人思考 → `💡 个人思考/`
     - 与 AI 相关 → `🤖 AI 学习&实操/`

3. **发现关联**：
   - 使用 Grep 搜索与该笔记内容相关的其他笔记
   - 如果发现强关联但未建立 wikilink，记录下来

### 第三步：生成整理报告

汇总所有分析结果，按操作类型分组展示：

```markdown
## 📋 整理报告：{文件夹路径}

扫描笔记总数：{N} 篇

### 需要补充 frontmatter 的笔记（{n} 篇）
| 笔记 | 缺失字段 | 建议值 |
|---|---|---|
| {文件名} | tags | [tag1, tag2] |
| {文件名} | title, date | {建议标题}, {日期} |

### 建议移动的笔记（{n} 篇）
| 笔记 | 当前位置 | 建议位置 | 理由 |
|---|---|---|---|
| {文件名} | 📝 日常记录/ | 📚 专业领域/XX/ | {理由} |

### 建议添加关联的笔记（{n} 篇）
| 笔记 | 建议关联 | 理由 |
|---|---|---|
| {文件名} | [[笔记A]], [[笔记B]] | {理由} |
```

### 第四步：确认执行

向用户询问："确认执行以上整理操作？你可以选择：
1. 全部执行
2. 逐条确认
3. 只执行某一类操作（如只补充标签）
4. 取消"

### 第五步：执行操作

根据用户确认的范围执行操作：
- 补充 frontmatter：修改笔记文件，添加缺失字段（保留已有字段不变）
- 移动笔记：将文件移动到目标文件夹
- 添加关联：在笔记末尾添加 `## 相关笔记` 部分

### 第六步：完成汇报

```markdown
## ✅ 整理完成

- 补充 frontmatter：{n} 篇
- 移动笔记：{n} 篇
- 添加关联：{n} 篇
- 跳过/取消：{n} 篇
```
````

---

#### 3.3 创建 `.claude/skills/connect/SKILL.md`

完整内容：

````markdown
---
name: connect
description: 知识连接。分析一篇笔记，发现它与知识库中其他笔记的隐藏关联，编织知识网络。
argument-hint: "[笔记路径]"
disable-model-invocation: true
---

# /connect — 知识连接

深度分析一篇笔记的内容，在整个知识库中搜索与之相关的笔记，发现隐藏的关联，帮助用户编织知识网络。

## 输入

`$ARGUMENTS` 是一个笔记的文件路径。如果为空，使用当前编辑器中打开的笔记。

## 执行步骤

### 第一步：读取目标笔记

1. 读取目标笔记的完整内容
2. 如果路径为空，从编辑器上下文获取当前笔记
3. 记录笔记标题和所在文件夹

### 第二步：提取关键概念

从笔记内容中提取以下元素：
- 核心主题（1-3 个）
- 关键概念和术语（3-7 个）
- 提到的人名、公司、工具、技术等实体
- 核心论点或观点

### 第三步：全库搜索

1. 对每个关键概念和主题，使用 Grep 工具搜索整个 vault
2. 排除目标笔记自身
3. 收集所有匹配的笔记路径
4. 去重后，选取匹配度最高的笔记（最多 10 篇）
5. 读取这些笔记的完整内容

### 第四步：分析语义关联

对每篇候选笔记进行深度分析，判断关联类型：

- **强关联**：内容直接讨论相同主题，观点互相印证或对比，属于同一知识体系
- **弱关联**：主题相近但角度不同，可能带来跨领域启发，共享某些底层概念
- **无实际关联**：仅关键词碰巧匹配，内容实际无关 → 排除

### 第五步：识别知识空白

分析目标笔记涉及的主题网络：
- 用户在 A 和 C 主题上有笔记，但缺少连接 A 和 C 的 B 主题
- 某个论点缺少支撑数据或案例
- 某个领域只有浅层记录，缺少深度分析

### 第六步：生成关联地图

```markdown
## 🔗 关联地图：{笔记标题}

### 强关联（内容直接相关）
- [[笔记A]] — {具体关联理由，说明两篇笔记的内容如何相关}
- [[笔记B]] — {具体关联理由}

### 弱关联（主题相近，可能有启发）
- [[笔记C]] — {关联理由，说明可能带来什么启发}
- [[笔记D]] — {关联理由}

### 知识空白
- {描述缺失的知识环节，建议用户补充什么内容}
- {描述另一个知识空白}
```

### 第七步：确认添加链接

向用户询问："是否将以上关联以 wikilink 形式添加到笔记末尾？"

如果用户确认：
1. 在目标笔记末尾添加 `## 相关笔记` 部分
2. 列出所有强关联和弱关联的 wikilink
3. 保存笔记
````

---

#### 3.4 创建 `.claude/skills/review/SKILL.md`

完整内容：

````markdown
---
name: review
description: 定期回顾。总结指定时间范围内的知识积累，发现跨领域洞察，提出思考问题帮助内化。
argument-hint: "[时间范围，如: 本周/本月/最近30天] [文件夹路径]"
disable-model-invocation: true
---

# /review — 定期回顾

总结用户在指定时间范围内的知识积累情况，按领域分类汇总，发现跨领域的洞察，提出深度思考问题帮助用户内化知识。

## 输入

`$ARGUMENTS` 可以包含：
- 时间范围：本周、上周、本月、上月、最近N天（默认：最近7天）
- 文件夹路径（可选）：指定只回顾某个文件夹

## 执行步骤

### 第一步：确定时间范围

解析用户输入的时间范围：
- "本周" → 本周一到今天
- "上周" → 上周一到上周日
- "本月" → 本月1号到今天
- "上月" → 上月1号到上月最后一天
- "最近N天" → 从今天往前推 N 天
- 默认 → 最近 7 天

### 第二步：扫描笔记

1. 使用 Glob 工具扫描指定范围（整个 vault 或指定文件夹）的所有 `.md` 文件
2. 对每个文件检查修改日期或 frontmatter 中的 date 字段
3. 筛选出在时间范围内创建或修改的笔记
4. 统计总数

### 第三步：阅读并分类

读取每篇符合条件的笔记，按所在文件夹分类：

- `📚 专业领域/` 下的笔记 → 归入"学习收获"
- `💡 个人思考/` 下的笔记 → 归入"个人思考"
- `💼 工作专项/` 下的笔记 → 归入"工作产出"
- `🤖 AI 学习&实操/` 下的笔记 → 归入"AI 进展"
- `📅 日常工作/` 下的笔记 → 归入"日常工作"
- `📝 日常记录/` 下的笔记 → 归入"待整理"

### 第四步：分析跨领域关联

审视不同领域的笔记内容，寻找：
- 不同领域笔记之间的共同主题
- 某个领域的思考是否能启发另一个领域
- 是否有反复出现的关键词或概念

### 第五步：生成回顾报告

```markdown
## 📖 知识回顾：{时间范围}

### 本期概览
- 新增/更新笔记：{X} 篇
- 涉及领域：{领域A}、{领域B}、{领域C}

### 学习收获
{按 📚 专业领域 分组总结，每个子领域列出学到的关键知识点}

### 工作产出
{按 💼 工作专项 分组总结，列出主要产出}

### 个人思考
{总结 💡 个人思考 中的主要思考主题和观点演变}

### AI 进展
{总结 🤖 AI 学习&实操 中的工具使用和学习进展}

### 跨领域洞察
{分析不同领域笔记之间的有趣关联，指出潜在的知识交叉点}

### 思考问题
1. {基于本期学习内容提出的深度问题，帮助用户进一步思考}
2. {另一个思考问题}
3. {另一个思考问题}

### 待整理
- 📝 日常记录中有 {n} 篇笔记尚未归类，建议使用 /organize 整理
```

### 第六步：展示报告

将回顾报告直接展示在聊天中。不要自动保存，除非用户要求保存。

如果用户要求保存，保存到 `📅 日常工作/工作报告/` 下，文件名格式：`回顾-{时间范围}-{日期}.md`
````

---

#### 3.5 创建 `.claude/skills/ask/SKILL.md`

完整内容：

````markdown
---
name: ask
description: 知识库问答。优先从你的笔记中寻找答案，用你自己积累的知识回答你的问题。
argument-hint: "你的问题"
---

# /ask — 知识库问答

用户提出问题时，优先从 vault 中的笔记寻找答案。用户自己积累的知识比通用知识更有价值，回答时必须优先引用 vault 内容。

## 输入

`$ARGUMENTS` 是用户用自然语言提出的问题。

## 执行步骤

### 第一步：解析问题

分析用户的问题，提取：
- 核心问题是什么
- 涉及哪些关键词和主题
- 生成 3-5 组搜索关键词（包含同义词和相关词）

### 第二步：搜索知识库

1. 使用 Grep 工具对每组关键词搜索整个 vault
2. 收集所有匹配的笔记路径
3. 去重后按匹配度排序
4. 读取排名最高的笔记（最多 15 篇）

### 第三步：评估覆盖度

判断 vault 中的内容对问题的覆盖程度：

- **完全覆盖**：vault 中有足够的笔记可以全面回答问题
- **部分覆盖**：vault 中有相关内容但不完整
- **无覆盖**：vault 中没有与问题相关的内容

### 第四步：生成回答

**完全覆盖时：**

综合 vault 中的笔记内容生成回答。要求：
- 以"你的笔记中记录了..."、"根据你在 [[笔记名]] 中的记录..."等方式引用
- 每个引用的观点都标注来源 wikilink
- 如果多篇笔记有相关内容，进行综合分析
- 明确区分"你的笔记内容"和"我的分析补充"

```markdown
## 回答

{综合 vault 笔记内容的回答，每处引用标注 [[来源笔记]]}

## 引用来源
- [[笔记A]] — {引用了其中的哪个观点或信息}
- [[笔记B]] — {引用了其中的哪个观点或信息}
```

**部分覆盖时：**

先回答 vault 中有的部分，然后指出缺失：

```markdown
## 回答

{基于 vault 笔记的回答}

## 引用来源
- [[笔记A]] — {引用内容}

## 知识库中暂缺的部分
{指出问题中哪些方面在 vault 中没有找到相关记录}

需要我联网搜索补充吗？如果找到有价值的信息，可以用 /capture 存入知识库。
```

**无覆盖时：**

```markdown
你的知识库中暂无与"{问题关键词}"相关的内容。

需要我联网搜索吗？如果找到有价值的信息，可以用 /capture 存入知识库，方便下次查阅。
```
````

---

#### 3.6 创建 `.claude/skills/report/SKILL.md`

完整内容：

````markdown
---
name: report
description: 工作报告生成。扫描每日工作项和工作专项，自动生成结构化的周报或月报。
argument-hint: "[周报/月报] [时间范围，如: 上周/本月]"
disable-model-invocation: true
---

# /report — 工作报告生成

扫描用户的每日工作项和工作专项文件夹，提取已完成事项和关键产出，自动生成结构化的周报或月报。

## 输入

`$ARGUMENTS` 可以包含：
- 报告类型：周报（默认）或 月报
- 时间范围：本周、上周、本月、上月等

## 执行步骤

### 第一步：确定报告参数

解析输入，确定：
- 报告类型：周报或月报
- 日期范围：
  - 周报默认：本周一到今天（如果是周一，则取上周）
  - 月报默认：本月1号到今天
  - 用户指定"上周"：上周一到上周日
  - 用户指定"上月"：上月1号到上月最后一天

### 第二步：扫描每日工作项

1. 扫描 `📅 日常工作/每日工作项/` 文件夹
2. 筛选日期范围内的文件（根据文件名中的日期）
3. 读取每个文件，提取：
   - 已完成事项：标记为 `- [x]`、`✅`、`DONE` 的条目
   - 未完成事项：标记为 `- [ ]` 的条目
   - 备注内容

### 第三步：扫描工作专项

1. 扫描 `💼 工作专项/` 文件夹下所有子文件夹
2. 筛选在日期范围内被修改的文件
3. 这些文件代表具体的工作产出（文档、方案、报告等）

### 第四步：分类汇总

将所有已完成事项按工作板块分类：
- 根据每日工作项中的分组标题
- 根据工作专项的子文件夹名称
- 如果无法分类，归入"其他"

### 第五步：提取下期计划

1. 从 `📅 日常工作/近期规划/` 中提取与下一周期相关的计划
2. 从最近的每日工作项中提取未完成的待办事项

### 第六步：生成报告

```markdown
# {周报/月报}：{YYYY-MM-DD} ~ {YYYY-MM-DD}

## 本{周/月}完成事项

### {工作板块A}
- {完成项1}
- {完成项2}

### {工作板块B}
- {完成项1}

## 关键产出
- [[文件路径1]] — {简要描述该产出}
- [[文件路径2]] — {简要描述该产出}

## 下{周/月}计划
- {计划事项1}
- {计划事项2}

## 工作量统计
- 总完成事项：{X} 项
- 活跃工作板块：{板块A}、{板块B}、{板块C}
- 关键产出文档：{Y} 份
```

### 第七步：保存报告

根据报告类型保存到对应位置：
- 周报 → `📅 日常工作/工作报告/周报/周报-{YYYY-MM-DD}.md`（日期为该周周一）
- 月报 → `📅 日常工作/工作报告/月报/月报-{YYYY-MM}.md`

同时在聊天中展示完整报告内容。
````

---

#### 3.7 创建 `.claude/skills/daily/SKILL.md`

完整内容：

````markdown
---
name: daily
description: 每日启动。生成今日工作项，拉取昨日未完成待办，快速回顾最近笔记动态。
argument-hint: ""
disable-model-invocation: true
---

# /daily — 每日启动

每天工作开始时运行，自动创建今日工作项文件，迁移昨日未完成待办，快速回顾最近的笔记动态。

## 输入

无需参数。

## 执行步骤

### 第一步：获取日期信息

1. 获取今天的日期（YYYY-MM-DD 格式和 YYYYMMDD 格式）
2. 计算昨天的日期

### 第二步：检查今日文件

检查今日工作项文件是否已存在：`📅 日常工作/每日工作项/{YYYYMMDD}.md`

- 如果已存在 → 读取内容，跳到第五步
- 如果不存在 → 继续第三步创建

### 第三步：读取昨日文件

检查昨日工作项文件：`📅 日常工作/每日工作项/{昨日YYYYMMDD}.md`

如果存在：
1. 读取全部内容
2. 提取所有未完成事项（`- [ ]` 格式的条目）
3. 提取昨日已完成事项摘要

如果不存在：
- 记录"昨日无工作项文件"

### 第四步：创建今日工作项文件

使用以下模板创建 `📅 日常工作/每日工作项/{YYYYMMDD}.md`：

```markdown
# {YYYY-MM-DD} DONE & TODO

## 昨日回顾
{如果有昨日文件，列出昨日已完成事项摘要}
{如果没有昨日文件，写"无昨日记录"}

## 今日待办
{迁移昨日未完成事项，保持 - [ ] 格式}
- [ ]

## 今日完成
-

## 备注

```

### 第五步：扫描最近笔记动态

1. 使用 Glob 扫描整个 vault 的 `.md` 文件
2. 筛选最近 3 天内创建或修改的笔记
3. 排除 `📅 日常工作/每日工作项/` 下的文件（避免循环引用）
4. 按修改时间排序，取最近 10 篇

### 第六步：展示每日简报

在聊天中展示以下内容：

```markdown
☀️ 早上好！今天是 {YYYY-MM-DD}

📋 昨日未完成（已迁移到今日待办）：
- {未完成事项1}
- {未完成事项2}
（如果没有未完成事项，显示"昨日事项已全部完成！"）

📝 最近更新的笔记：
- [[笔记标题1]]（{昨天/前天/3天前}）
- [[笔记标题2]]（{时间}）
- ...

今日工作项已创建：[[📅 日常工作/每日工作项/{YYYYMMDD}.md]]
```
````

---

### 步骤 4：验证搭建结果

所有文件创建完毕后，执行以下验证：

1. 列出 `.claude/` 目录下的所有文件，确认结构完整：

```
.claude/
├── CLAUDE.md
└── skills/
    ├── capture/SKILL.md
    ├── organize/SKILL.md
    ├── connect/SKILL.md
    ├── review/SKILL.md
    ├── ask/SKILL.md
    ├── report/SKILL.md
    └── daily/SKILL.md
```

2. 确认 6 个核心文件夹已存在：
   - 📅 日常工作/（含 每日工作项/、近期规划/、工作报告/周报/、工作报告/月报/）
   - 💼 工作专项/
   - 📚 专业领域/
   - 💡 个人思考/
   - 🤖 AI 学习&实操/
   - 📝 日常记录/

3. 向用户报告搭建结果：

```
✅ 知识库 Agent 搭建完成！

已创建：
- 6 个核心文件夹
- 1 个 CLAUDE.md 配置文件
- 7 个 Skill 文件

你现在可以使用以下命令：
- /capture [内容] — 捕获信息到知识库
- /organize [文件夹] — 整理笔记
- /connect [笔记] — 发现知识关联
- /review [时间范围] — 回顾知识积累
- /ask [问题] — 从知识库中找答案
- /report [周报/月报] — 生成工作报告
- /daily — 每日启动

建议先试试 /daily 启动今天的工作！
```

---

## 注意事项

- 所有路径均使用相对路径，相对于 vault 根目录
- 如果用户的 vault 中已有部分文件夹，不要覆盖，只创建缺失的部分
- CLAUDE.md 如果已存在，将新内容合并到已有内容中，不要覆盖用户已有的配置
- Skills 文件夹如果已有同名 skill，先向用户确认是否覆盖
- 搭建过程中每完成一个步骤，向用户简要汇报进度
