| name | note |
| description | 将对话中的研究内容整理为研究摘要 + 原子化笔记卡片,存入Obsidian。摘要是地图,卡片是石头。对专有名词和关键概念用加粗和【】标记,便于双链。同时提议 wikilink(链接已有 Card)和 atomic card(创建新复习卡片),更新 MOC 索引,流转 Clipping 状态。当用户说"note"、"做笔记"、"存笔记"、"拆卡片"、"原子笔记"、"存到ob"、"记到obsidian"时触发。 |
| invocation | user |
| arguments | [{"name":"topic","description":"可选的主题范围限定,如不提供则自动从当前对话中提取所有值得记录的内容","required":false},{"name":"scope","description":"可选的范围:'all'(整个对话)、'last'(最近一轮讨论)、'select'(让用户选择)。默认 'all'","required":false}] |
/note Command
将对话中的研究内容整理为 研究摘要 + 原子化笔记卡片,存入 Obsidian。
核心理念:地图 + 石头
每次 /note 产出两层内容:
- 研究摘要(地图) — 一张完整的、叙事性的卡片,保留讨论的脉络、推理链条和结论。读这张卡片就能还原整个研究过程。
- 原子卡片(石头) — 从摘要中提炼的独立知识点,每张可脱离上下文复用。摘要中会引用这些卡片的关键词。
地图让石头有意义,石头让地图可链接。
定位
/note 是 vault 的唯一写入通道(SCHEMA.md §2)。上游的 ingest 对话由 /read / /insights 完成,下游的 capture 与本地记忆由 /log / /journal 承接。本表横向对比这五个角色,方便理解"哪类事情该走哪个 skill":
| Skill | 职责 | 输出 |
|---|
/read | 深度阅读 — 学术论文结构化分析 | 对话中的分析报告 → 喂给 /note |
/insights | 商业洞察 — 文章模式提取 | 对话中的洞察报告 → 喂给 /note |
/note | 知识沉淀 — 研究摘要 + 原子卡片(dual-proposal) | Obsidian 卡片组(唯一写入通道) |
/log | 记忆捕获 — 决策、偏好、洞察 | L2 long-term-memory.md |
/journal | 进度记录 — 做了什么 | 本地 journal + Obsidian journal |
双链标记规范
- 【专有名词】:学术概念、理论名称、人名、模型名、基因/分子/药物
- 例:【奖励预测误差】、【Kent Berridge】、【COMT Val158Met】、【SSRI】
- 加粗:核心结论或关键洞察
- 两者可叠加:【消退学习】是记忆改写的神经科学基础
标记选择速查
| 内容类型 | 标记 | 示例 |
|---|
| 学术概念/理论 | 【】 | 【奖励预测误差】、【心理对比】 |
| 人名 | 【】 | 【Wolfram Schultz】、【Berridge】 |
| 基因/分子/药物 | 【】 | 【DRD4】、【COMT】、【SSRI】 |
| 核心结论 | 加粗 | 受体密度67%由遗传决定 |
| 关键区分 | 加粗 | wanting ≠ liking |
| 重要概念+结论 | 叠加 | 【快感缺失】是抑郁症的核心特征 |
Behavior
Step 1: 扫描对话,理解研究脉络
回溯对话(或指定范围),梳理:
- 研究的起因和主题是什么
- 讨论经历了哪些阶段/转折
- 得出了哪些关键结论
- 哪些知识点值得独立成卡
Step 2: 撰写研究摘要(地图卡片)并展示给用户
研究摘要是一张 完整的、翔实的 卡片。此阶段只写摘要,不创建原子卡片。 所有专有名词用【】标记作为候选概念。
摘要结构:
# [研究主题] — 研究摘要
> 日期:YYYY-MM-DD | 来源:[对话起因,如"某篇文章分析"、"某个问题探究"]
## 研究背景
[1-2 段:为什么研究这个话题,起因是什么]
## 核心发现
### [子主题1]
[翔实内容:保留关键论据、数据、推理链条。不是缩写,而是精炼——删掉冗余但保留实质。]
### [子主题2]
[同上]
### [子主题N]
[同上]
## 关键结论
[3-5 条最重要的 takeaway,用编号列表]
## 延伸问题
[对话中浮现但未深入的问题,供后续探索]
注意:此阶段不写"相关概念"section,等用户选完概念后再生成。
摘要写作原则:
- 翔实优先:宁可长一点也不要丢失关键信息。读者应该只看摘要就能获得 80% 的对话价值
- 保留推理链:不只是结论,还要保留"为什么得出这个结论"的论证过程
- 保留数据:具体数字、实验设计、百分比等不要省略
- 保留争议:如果对话中有质疑或修正某个观点,这个过程本身也要记录
- 自然嵌入【】标记:在行文中自然使用【】标记专有名词。此阶段【】是候选标记,不是最终双链
写好后直接展示完整摘要给用户阅读。
Step 3: 双提议 — Wikilink + Atomic Card
/note 同时提出两类建议,用户分别确认。
Step 3a: 同名冲突预检(强制)
在列出任何 Atomic Card 提议之前,对摘要中每个【概念】候选执行一次存在性检测:
obsidian read path="Cards/{概念名}.md"
- 读不到(CLI 报 not found / MCP 返回空)→ 候选保留在提议 2 "Atomic Card 建议" 列表
- 读到内容 → 候选自动转入提议 1 "Wikilink 建议" 列表,标注
(同名卡已存在),作为链接候选而非建卡候选
为什么强制这一步:Step 5 使用 obsidian create ... overwrite。如果没有 Step 3a 的分流,用户在 Step 3 双提议里选"建立【多巴胺】卡"时,如果 vault 里已有 Cards/多巴胺.md,Step 5 会静默覆盖老卡的正文、source 回链和 mastery 标签。这条预检把这类冲突在"用户决策点"就解决掉。
提议 1:Wikilink 建议(链接到已有 Card)
在摘要完成后,CC 搜索 vault 中已有 Cards,找到与本次内容相关的:
obsidian search query="关键概念1"
obsidian search query="关键概念2"
...
列出建议:
📎 Wikilink 建议(链接到已有 Card):
1. [[已有Card名A]] — 与本次讨论的 XX 相关
2. [[已有Card名B]] — 涉及相同领域
3. [[新概念C]] — vault 中无此卡,建议建空链标记知识缺口
请回复编号(如 1,2)确认要链接哪些,或"跳过"
提议 2:Atomic Card 建议(创建新复习卡片)
从摘要中提取所有【】标记的概念,列成编号清单供用户挑选:
🧠 Atomic Card 建议(创建新卡片用于复习):
1. 【概念A】— [一句话说明为什么值得独立成卡] (推荐)
2. 【概念B】— [一句话]
3. 【概念C】— [一句话]
...
请回复编号(如 1,3,5)或说"全部"/"不需要卡片"
CC 可以给出推荐(如在编号后标注"推荐"),但最终由用户决定。
两个提议可以合并在一条消息中展示,用户一次性回复。
提取优先级(供推荐参考,高→低):
- 事实性知识 — 有实证的科学发现、数据
- 概念框架 — 理论模型、分类体系
- 因果机制 — A→B 的机理链
- 反直觉洞察 — 与常识相反的发现
- 实操方法 — 可执行的策略
- 元认知 — 关于思维本身的洞察
不推荐提取:
- 纯主观判断
- 过渡性讨论
- 已被纠正的信息
- 过于宽泛的概念(如"科学"、"方法")
等用户回复后再进入 Step 4。
Step 4: 创建原子卡片 + 在摘要中添加双链
根据用户选择,执行两件事:
4a: 为选中的概念创建原子卡片
命名规则:
- 文件名 = 概念名:
Cards/间歇断食.md、Cards/HIIT.md — 与摘要中 [[间歇断食]]、[[HIIT]] 完全匹配,确保双链可达
每张卡片结构:
---
title: "概念名"
source: "[[研究摘要Card名]]"
tags:
- type/atomic
- domain/{领域}
date: YYYY-MM-DD
---
# 概念名 — 陈述句描述(≤50字)
[正文:1-3 段,50~3000字,说清这一个概念。正文中必须使用【】标记专有名词、**加粗**标记核心结论。]
> 参考:[来源]
格式硬性要求:
type/atomic 标签是原子卡片的唯一识别标准 — /review 靠此标签发现待复习卡片
- 文件名 = 概念名 — 与摘要中
[[概念名]] 一致,确保 Obsidian 双链直接解析
source 字段 回链研究摘要,保持溯源链
- H1 标题 ≤ 50 字
- 正文 50~3000 字,含至少一处【】或
** 标记
- H1 标题不含"研究摘要"(这是地图卡片的标识)
- 【】在正文中仍作为专有名词标记使用(写作规范),但不再是识别原子卡片的标准
原子化判断标准:
- 能脱离上下文独立理解? → 粒度正确
- 包含两个可分别引用的概念? → 需要拆分
- 拆开后任一半无法独立理解? → 不拆
4b: 在研究摘要中添加 Obsidian 双链
对摘要正文进行双链替换:
- 用户选中的 Atomic 概念:
【概念A】 → [[概念A]](指向新建的原子卡片)
- 用户确认的 Wikilink:在摘要中相关位置插入
[[已有Card名]](指向 vault 中已有 Card)
- 用户确认的空链:插入
[[新概念]](紫色,标记知识缺口)
- 未选中的概念:保留
【概念A】 不变(纯视觉标记,无链接)
- 如果同一概念在摘要中出现多次,全部替换为
[[]]
同时在摘要末尾添加"相关概念"section:
## 相关概念
[[新建原子卡片1]] [[新建原子卡片2]] [[已有Card1]] [[已有Card2]]
Step 5: 存入 Obsidian
工具优先级:CLI 优先,MCP 仅在 Obsidian 未运行时回退使用。
写入前的 race-condition 安全网:Step 3a 已经把"已存在的同名概念"分流到 Wikilink 提议,Step 5 在正常路径下碰到的都应该是新概念。但从 Step 3a 到 Step 5 之间 vault 可能被其他流程(另一个 /note、手动编辑、Obsidian 同步)改动过。写入每张原子卡之前再做一次存在性检测:
obsidian read path="Cards/{概念名}.md"
- 读不到 → 按原计划
obsidian create 写入
- 读到内容 → 停下,不覆盖,向用户展示冲突并请求决策:
⚠️ 冲突:Cards/{概念名}.md 在 Step 3a 之后出现。选择:
- 覆盖:舍弃旧内容写新卡(老正文、source 回链、mastery 标签全部丢失)
- 合并:在旧卡正文末尾追加本次新内容,保留旧 frontmatter
- 跳过:本次不写这张,摘要里保留【】标记但不生成 [[]] 链接
请回复 "覆盖"/"合并"/"跳过"
存入顺序(正常路径,所有预检通过后):
- 先存原子卡片:
obsidian create path="Cards/{概念名}.md" content="..." overwrite(文件名 = 概念名,不含【】和陈述句)
- 再存研究摘要(已包含
[[]] 双链):obsidian create path="Cards/{研究摘要标题}.md" content="..." overwrite
先存卡片再存摘要,确保摘要中的 [[]] 链接在存入时目标卡片已存在。
注意:content 中应包含完整 YAML frontmatter(tags、date、source 等),无需单独调标签接口。
如果用户选择"不需要卡片",则只存研究摘要(保留所有【】标记,不替换为 [[]])。
Step 5b: 添加标签
标签直接写入 frontmatter,无需单独调用。如需为已存在的文件补标签:
- 优先:
obsidian property:set path="Cards/{标题}.md" name="tags" value="type/research,domain/{领域}" type=list
- 回退:
mcp__obsidian__manage_tags(仅当 Obsidian 应用未运行且 CLI 报 connection refused 时)
标签规则:
- 研究摘要:
type/research, domain/{领域}
- 原子卡片:
type/atomic, domain/{领域}
领域推断:从研究主题自动判断,同一批卡片共享领域标签。可多标签。不确定时用最贴切的自由词(如 domain/neuroscience, domain/ai, domain/finance, domain/consciousness)。
Step 5c: Clipping 移至已研究
仅当本次 /note 来源于特定 Clipping 时执行。 纯对话产生的 /note 跳过此步。
判断方法:如果对话中有通过 /read 等 skill 读取 Clippings/ 下的文件,则该 Clipping 是来源。
obsidian move path="Clippings/{原文文件名}.md" to="Clippings/已研究/{原文文件名}.md"
Step 5d: MOC 索引自动更新
CC 自主执行,不需要用户确认:
- 从新 Card 的
domain/ 标签确定所属 MOC
- 读取对应 MOC 文件(如
Cards/MOC-Neuroscience.md)
- 将新 Card 添加到对应 section(按 type 分区)
- 如果 MOC 不存在,自动创建
obsidian read path="Cards/MOC-{Domain}.md"
obsidian append path="Cards/MOC-{Domain}.md" content="- [[新Card名]]"
Step 6: 输出确认
---
已存入 Obsidian: 1 张摘要 + N 张原子卡片 + M 个 wikilink
📄 [摘要标题](含 N 个 [[双链]])
🧠 原子卡片:
1. ✓ [卡片标题1]
2. ✓ [卡片标题2]
📎 Wikilink:[[已有Card1]] [[已有Card2]]
📋 状态:[Clipping名] → 已研究/(如适用)
📑 MOC:已更新 MOC-{Domain}
---
特殊场景
文章分析类对话
摘要中应包含:
- 原文的核心论点(标记哪些对、哪些错)
- 事实核查的结论和证据
- 总体评价(准确度、价值、局限)
原子卡片区分:
- 不需要前缀标记,因为摘要已经提供了完整的评价上下文
- 只提取经核查后仍成立的知识点,或明确标注争议的概念
对话产生了对比表/框架
保留表格形式作为一张原子卡片,不强行拆散。表格本身就是原子——它的价值在于并列对比。
多主题对话
如果一次对话涵盖了多个不相关主题,创建多张研究摘要,每个主题一张,各自附带自己的原子卡片。
Notes
- 原子卡片建议不超过 15 张,超过时与用户确认优先级
- 研究摘要不限长度,以翔实为原则
- 【】标记在摘要和原子卡片中都要使用——摘要中的【】是通往原子卡片的路标
- 同一个【关键词】在不同卡片中重复出现是正常的——这正是双链的价值