chat-to-obsidian-note

将 AI 聊天内容提炼为结构化技术文档并保存到 Obsidian 知识库。支持三种文档类型:问题解决型、知识学习型、方案对比型。自动推断知识库分类目录,生成符合 Obsidian 规范的 Markdown 文件(含 frontmatter、双链)。适用于:(1) 聊天中解决了技术问题后想记录下来,(2) 学到新知识想沉淀到知识库,(3) 对比了多个方案后想保存决策过程。触发条件:用户说"保存到知识库"、"导出到 Obsidian"、"记录到笔记"、"保存这次对话"、"转成文档"等。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "chat-to-obsidian-note" with this command: npx skills add sakumyz/skills/sakumyz-skills-chat-to-obsidian-note

聊天转 Obsidian 知识库笔记

任务目标

从当前 AI 聊天中提取有价值的技术内容,自动识别文档类型,按照 Obsidian 知识库的分类体系和格式规范,生成结构化的 Markdown 技术文档并保存。

核心工作流

Step 1:分析聊天内容

回顾当前对话,提取核心技术内容,判断文档类型:

文档类型判断特征典型场景
问题解决型对话中包含报错信息、Bug 描述、排错过程、修复方案调试 Bug、解决编译错误、修复配置问题
知识学习型对话中包含概念解释、API 用法、原理讲解、教程式内容学习新框架、理解某个概念、探索 API
方案对比型对话中包含多种方案讨论、优劣对比、技术选型技术选型、架构决策、工具选择

如果对话内容跨多种类型,选择占比最大的类型。也可以拆分为多篇文档。

Step 2:推断分类目录

根据聊天涉及的技术领域,参照 references/obsidian-categories.md 中的分类映射表,推断最匹配的分类目录。

向用户确认分类,使用 ask_questions 工具展示:

  • AI 推荐的分类目录(标记 recommended)
  • 2-3 个备选分类
  • 允许用户自由输入其他路径

Step 3:生成文档

根据文档类型,参照 references/document-templates.md 中的对应模板,从对话中提取内容填充各章节。

关键规则:

  1. Frontmatter 格式(必须遵循):
---
tags: [分类名]
parent: 父级分类名
author: SakumyZ
createTime: YYYY-MM-DD HH:mm:ss
modifiedTime: YYYY-MM-DD HH:mm:ss
---
  • tags:使用文件所在目录名(如 VueGitEngineering
  • parent:使用父级目录名
  • createTimemodifiedTime:使用当前时间
  1. 内容提炼原则
  • 从对话中提炼精华,不是简单复制粘贴
  • 代码片段保留完整可运行的版本
  • 去除对话中的试错过程,只保留最终正确方案
  • 补充必要的上下文(对话中可能省略的背景信息)
  1. Obsidian 双链
  • 扫描目标分类目录下已有的 .md 文件
  • 在「相关知识」章节中使用 [[文件名]] 格式引用相关笔记
  • 只引用确实存在的文件,不凭空创建双链
  1. 文件命名
  • 使用中文或中英混合标题(与知识库现有风格一致)
  • 示例:Vue3 组件通信方式.mdGit rebase 交互式用法.md解决 TypeScript 循环依赖问题.md
  • 避免特殊字符:/ \ : * ? " < > |

Step 4:保存文件

文件保存路径:D:\Documents\Knowledge Base\Readme\{分类目录}\{文件名}.md

使用 create_file 工具写入文件。

Step 5:更新分类索引文件

每个分类目录下都有一个与目录同名的 索引文件(如 Git/Git.mdWeb/Front-end/Vue/Vue.md),用于汇总该分类下所有笔记的双链。保存文档后必须同步更新索引文件。

5a. 索引文件已存在

  1. 读取索引文件内容
  2. 根据新文档主题,找到最匹配的 ## 二级标题 分组
  3. 在该分组末尾追加一行裸 wiki link:[[新文件名]](不加 - bullet,与现有格式一致)
  4. 如果没有匹配的分组,在文件末尾追加新文档的 wiki link

5b. 索引文件不存在(新分类)

当整个分类目录是新建的,需要创建索引文件,格式如下:

---
tags: [Index, {分类名}]
parent: {父级分类名}
author: SakumyZ
createTime: {YYYY-MM-DD HH:mm:ss}
modifiedTime: {YYYY-MM-DD HH:mm:ss}
---

# {分类名}

[[新文件名]]

同时检查父级目录的索引文件是否需要添加指向新分类索引的链接。例如新建 Web/Front-end/Svelte/ 时,需要在 Web/Front-end/Front-end.md 中追加 [[Svelte]]

索引文件格式规范

参照 references/obsidian-categories.md 中的「索引文件格式」章节:

  • Wiki link 使用裸写格式(每行一个,不加 - bullet)
  • ## 二级标题 分组
  • 分组之间可选使用 --- 分隔线
  • 中间层索引(如 Front-end.md)只列出子分类的 wiki link,无标题分组

Step 6:完成报告

保存完成后告知用户:

  • 文件保存路径
  • 文档类型
  • 包含的章节概要
  • 索引文件更新情况(更新了哪个索引文件,追加在哪个分组下)

章节适用性

不同文档类型包含不同章节,以下为各类型章节组成:

章节问题解决型知识学习型方案对比型
背景(问题/动机)
环境信息⚪ 按需⚪ 按需
原因分析
核心概念
方案概览
对比分析
结论
解决方案
用法详解
关键代码/代码示例
注意事项
参考资料
相关知识

⚪ 按需 = 对话中包含相关信息时才添加

文档质量要求

  • 标题明确:标题应能概括文档核心内容,支持搜索
  • 背景充分:读者不看对话也能理解问题/需求的完整上下文
  • 方案可执行:步骤清晰,包含必要的环境前提和依赖
  • 代码可运行:代码片段完整,包含必要的 import 和上下文
  • 链接有效:参考资料的链接应是真实有效的 URL
  • 双链准确[[双链]] 引用的文件必须在知识库中实际存在

资源索引

  • 分类映射表 — Obsidian 知识库完整目录分类及关键词匹配规则
  • 文档模板 — 三种文档类型的结构化模板

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

excel-to-markdown

No summary provided by upstream source.

Repository SourceNeeds Review
General

excel-sheet-splitter

No summary provided by upstream source.

Repository SourceNeeds Review
General

smart-debugger

No summary provided by upstream source.

Repository SourceNeeds Review
General

component-scaffolder

No summary provided by upstream source.

Repository SourceNeeds Review