1 月 6 日,Obsidian CEO Steph Ango 开源了 obsidian-skills,教 Claude Code 如何编辑 Obsidian 的三种文件格式:Markdown、Bases、Canvas。
我用了一下,确实好用。但用完之后我发现一个问题:
AI 知道怎么编辑文件了,但它不知道文件应该放在哪里。
这就像你雇了一个打字速度 200 WPM 的秘书,但她不知道公司的文件归档系统。
于是我花了一个周末,做了一个补丁:obsidian-jdex-steward。
kepano 解决了「怎么写」,我解决「写在哪」
kepano 的三个 skills 覆盖了 Obsidian 的文件格式:
| Skill | 解决什么问题 |
|---|---|
| Markdown | 怎么写 frontmatter、链接、callouts |
| Bases | 怎么构建动态视图(类似 Notion database) |
| Canvas | 怎么画知识图谱 |
这些都是「格式能力」——AI 学会了 Obsidian 的语法。
但知识管理真正的难题不是格式,而是结构:
- 这篇笔记应该放在哪个文件夹?
- 它跟哪些笔记有关系?
- 怎么在 7000+ 文件里快速找到它?
这需要一套组织方法论。我选择的是 Johnny.Decimal。
Johnny.Decimal:写给人类也写给 AI 的编号系统
Johnny.Decimal(JD)是一套简单到有点傻的编号规则:
Area (10-19, 20-29, ...)
└── Category (21, 22, ...)
└── ID (21.01, 21.02, ...)比如我的笔记库:
20-29= 个人知识26= 产品哲学26.01= 《J叔产品哲学 v3.0》
为什么选 JD?因为它对 AI 极其友好:
- 纯数字,无歧义 — AI 不需要理解「重要」「紧急」的语义
- 层级扁平 — 最多三层,不会迷路
- frontmatter 友好 — 一个
jd: "26.01"搞定
实战:7526 文件,从 0% 到可用
我的 Obsidian 库有 7526 个 Markdown 文件,0% 有 JD 编号。
跑了一下我写的扫描脚本:
python scripts/jdex_scan.py /path/to/vault输出:
{
"total_markdown": 7526,
"with_jd": 0,
"coverage": 0.0
}0%。意料之中。
然后我让 Claude Code 帮我创建 JD 骨架:
- 全局索引
00.00-JDex.md— 整个知识库的入口 - 系统 Inbox
00.01-Inbox.md— 新笔记的暂存区 - Category 索引 — 每个分类一个导航页,用 Dataview 动态生成
接着,我把产品哲学文件夹的 6 篇核心文档加上 JD frontmatter:
---
jd: '26.01'
aliases: [产品哲学, 产品哲学v3]
---半小时后,扫描结果变成:
{
"with_jd": 9,
"coverage": 0.12
}0.12% 看起来很小,但这 9 个文件是我最常用的核心文档。
这就是渐进式迁移的要义:不追求 100%,追求高频文件先覆盖。
Skill 的设计哲学:AI 是执行者,你是架构师
我的 JDex Steward skill 有几个核心原则:
1. 只读扫描,显式审批
扫描脚本永远只读。任何文件改动都需要你点头。这不是技术限制,是设计选择——AI 不应该擅自重组你的知识体系。
2. 渐进迁移,不搞大手术
Phase 0: Scan — 只看不动
Phase 1: Scaffold — 创建骨架(索引、模板)
Phase 2: New notes only — 新笔记用 JD,旧的不管
Phase 3: Touch-and-migrate — 打开旧笔记时顺手迁移
Phase 4: Weekly cleanup — 每周 15 分钟维护目标不是 100% 覆盖,而是「找东西变快了」。
3. 用 alias 保留旧名
迁移文件时,旧文件名变成 alias。这样你的肌肉记忆还能用,搜索也不会断。
kepano + JDex = 完整的 AI 知识管理栈
现在我的 Claude Code 技能组合是:
| 层级 | Skill | 来源 |
|---|---|---|
| 格式层 | Markdown、Bases、Canvas | kepano/obsidian-skills |
| 结构层 | JDex Steward | UncleJ-h/obsidian-jdex-steward |
格式层解决「怎么写」,结构层解决「写在哪」。
两者组合,AI 终于可以像一个真正的知识管理助手一样工作:
- 「帮我创建一篇关于 MCP 协议的笔记」→ 它知道用正确的 frontmatter 格式
- 「这篇笔记应该放在哪里?」→ 它会根据 JD 结构建议分类和编号
- 「生成产品哲学的索引页」→ 它会用 Dataview 查询动态生成
开源地址
JDex Steward: github.com/UncleJ-h/obsidian-jdex-steward
MIT 协议,随便用。
安装方法:
cp -r obsidian-jdex-steward ~/.claude/skills/然后在 Claude Code 里说:「帮我扫描一下 Obsidian 库的 JD 覆盖率」。
写在最后
AI 时代的知识管理,核心问题不再是「怎么记」,而是「怎么找」。
kepano 的 obsidian-skills 让 AI 学会了 Obsidian 的语法。我的 JDex Steward 让 AI 学会了一套组织方法论。
你的笔记库可能不需要 Johnny.Decimal——任何让你能快速找到东西的系统都是好系统。
但如果你的库已经大到搜索也救不了,试试这个组合。

