sakumyz/skills · Archived

chat-to-obsidian-note

将 AI 聊天?

First seen Feb 22, 2026

Installation

$ npx skills add sakumyz/skills --skill chat-to-obsidian-note

Summary

将 AI 聊天内容提炼为结构化技术文档并保存到 Obsidian 知识库。支持三种文档类型:问题解决型、知识学习型、方案对比型。自动推断知识库分类目录,生成符合 Obsidian 规范的 Markdown 文件(含 frontmatter、双链)。适用于:(1) 聊天中解决了技术问题后想记录下来,(2)…

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from sakumyz/skills · top by installs.

npx skills add sakumyz/skills

Browse all from sakumyz/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,265 B
  • docs SUMMARY.md 604 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 9 installs

SKILL.md

聊天转 Obsidian 知识库笔记

任务目标

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

核心工作流

Step 1:分析聊天内容

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

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

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

Step 2:推断分类目录

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

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

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

Step 3:生成文档

根据文档类型,参照 [references/document-templates.md](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](references/obsidian-categories.md) 中的「索引文件格式」章节:

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

Step 6:完成报告

保存完成后告知用户:

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

章节适用性

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

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

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

文档质量要求

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

资源索引

  • [分类映射表](references/obsidian-categories.md) — Obsidian 知识库完整目录分类及关键词匹配规则
  • [文档模板](references/document-templates.md) — 三种文档类型的结构化模板