AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Note

skill-owenliang60-ship-it-knowledge-mgmt-note · by owenliang60-ship-it

将对话中的研究内容整理为研究摘要 + 原子化笔记卡片,存入Obsidian。摘要是地图,卡片是石头。对专有名词和关键概念用加粗和【】标记,便于双链。同时提议 wikilink(链接已有 Card)和 atomic card(创建新复习卡片),更新 MOC 索引,流转 Clipping 状态。当用户说"note"、"做笔记"、"存笔记"、"拆卡片"、"原子笔记"、"存到ob"、"记到obsidian"时触发。

No reviews yet
0 installs
33 views
0.0% view→install

Install

$ agentstack add skill-owenliang60-ship-it-knowledge-mgmt-note

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-owenliang60-ship-it-knowledge-mgmt-note)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Note? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

/note Command

将对话中的研究内容整理为 研究摘要 + 原子化笔记卡片,存入 Obsidian。

核心理念:地图 + 石头

每次 /note 产出两层内容:

  1. 研究摘要(地图) — 一张完整的、叙事性的卡片,保留讨论的脉络、推理链条和结论。读这张卡片就能还原整个研究过程。
  2. 原子卡片(石头) — 从摘要中提炼的独立知识点,每张可脱离上下文复用。摘要中会引用这些卡片的关键词。

地图让石头有意义,石头让地图可链接。

定位

/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 可以给出推荐(如在编号后标注"推荐"),但最终由用户决定。

两个提议可以合并在一条消息中展示,用户一次性回复。

提取优先级(供推荐参考,高→低):

  1. 事实性知识 — 有实证的科学发现、数据
  2. 概念框架 — 理论模型、分类体系
  3. 因果机制 — A→B 的机理链
  4. 反直觉洞察 — 与常识相反的发现
  5. 实操方法 — 可执行的策略
  6. 元认知 — 关于思维本身的洞察

不推荐提取:

  • 纯主观判断
  • 过渡性讨论
  • 已被纠正的信息
  • 过于宽泛的概念(如"科学"、"方法")

等用户回复后再进入 Step 4。

Step 4: 创建原子卡片 + 在摘要中添加双链

根据用户选择,执行两件事:

4a: 为选中的概念创建原子卡片

命名规则:

  • 文件名 = 概念名Cards/间歇断食.mdCards/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
  - 跳过:本次不写这张,摘要里保留【】标记但不生成 [[]] 链接
请回复 "覆盖"/"合并"/"跳过"

存入顺序(正常路径,所有预检通过后):

  1. 先存原子卡片obsidian create path="Cards/{概念名}.md" content="..." overwrite(文件名 = 概念名,不含【】和陈述句)
  2. 再存研究摘要(已包含 [[]] 双链):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 自主执行,不需要用户确认:

  1. 从新 Card 的 domain/ 标签确定所属 MOC
  2. 读取对应 MOC 文件(如 Cards/MOC-Neuroscience.md
  3. 将新 Card 添加到对应 section(按 type 分区)
  4. 如果 MOC 不存在,自动创建
# 读取 MOC
obsidian read path="Cards/MOC-{Domain}.md"
# 追加新条目(或创建新 MOC)
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 张,超过时与用户确认优先级
  • 研究摘要不限长度,以翔实为原则
  • 【】标记在摘要和原子卡片中都要使用——摘要中的【】是通往原子卡片的路标
  • 同一个【关键词】在不同卡片中重复出现是正常的——这正是双链的价值

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.