Skip to content

Latest commit

 

History

History
304 lines (219 loc) · 8.46 KB

File metadata and controls

304 lines (219 loc) · 8.46 KB
name Obsidian Vault Initializer
description 一键初始化 AI-ready 的 Obsidian 知识库。自动创建文件夹结构、CLAUDE.md、Git 配置、笔记模板,并安装精选 Skills 和 Commands。
version 1.0.0
tags
obsidian
knowledge-management
setup
init

Obsidian Vault Initializer

将当前目录初始化为一个可以与 Claude Code 协同工作的 Obsidian 知识库。

重要:此 Skill 应在一个空目录已有的 Obsidian vault 根目录中运行。


Phase 0: 环境检查

在开始之前,逐项检查以下环境依赖。对于每个缺失项,停下来告诉用户如何安装,等用户确认安装完成后再继续。

检查清单

  1. Git

    • 运行 git --version
    • 若未安装,给出安装指引:
      • macOS: xcode-select --installbrew install git
      • Windows: 从 https://git-scm.com/downloads 下载安装
      • Linux: sudo apt install gitsudo dnf install git
  2. curl

    • 运行 curl --version
    • 若未安装:
      • macOS/Linux: 通常预装,否则 brew install curl / sudo apt install curl
      • Windows: Git Bash 自带 curl
  3. Git 用户配置

    • 运行 git config user.namegit config user.email
    • 若为空,提示用户设置:
      git config --global user.name "你的名字"
      git config --global user.email "your@email.com"
      
  4. 当前目录状态

    • 检查当前目录是否为空或已有 .obsidian/ 目录
    • 如果目录中已有大量非 Obsidian 文件,警告用户并确认是否继续

所有检查通过后,打印 "环境检查通过" 并继续。


Phase 1: 交互式设置

依次询问用户以下问题,收集配置信息:

问题 1: 基本信息

  • "你的名字/昵称是什么?"(用于 CLAUDE.md 中的身份描述)

问题 2: Vault 用途

  • "这个知识库的主要用途是什么?"
  • 选项:
    • 个人知识管理 - 日常笔记、读书笔记、想法记录
    • 学习与研究 - 课程笔记、论文阅读、学术研究
    • 项目管理 - 工作项目、任务跟踪、会议记录
    • 综合 - 以上皆有
    • 用户也可以自由描述

问题 3: 组织方式

  • "你想用哪种方式组织笔记?"
  • 选项(附简要说明):
    • PARA(推荐新手)- Projects/Areas/Resources/Archives,按行动性分类,最主流
    • 极简 - 最少的文件夹,依赖链接和搜索,Obsidian CEO 的方式
    • MOC - Maps of Content,用导航笔记串联知识,适合大规模知识库

问题 4: Git 远程仓库

  • "你想配置 Git 远程仓库吗?(用于备份和多设备同步)"
  • 如果是,询问 GitHub 仓库 URL(提示格式:https://github.com/用户名/仓库名.git
  • 如果否,跳过远程配置,仅本地 Git

问题 5: 语言偏好

  • "CLAUDE.md 和模板用中文还是英文?"
  • 默认中文

收集完成后,向用户确认所有选择,得到确认后继续。


Phase 2: 创建文件夹结构

根据用户选择的组织方式,创建对应的文件夹结构。

PARA 方式

Inbox/
Projects/
Areas/
Resources/
Archives/
Daily Notes/
Templates/
MOCs/
Attachments/

极简方式

Inbox/
Notes/
Daily Notes/
Templates/
Attachments/

MOC 方式

Inbox/
Atlas/
  MOCs/
  Notes/
  Sources/
Calendar/
  Daily Notes/
  Weekly Reviews/
Efforts/
  Active/
  Completed/
Templates/
Attachments/

在每个文件夹中创建一个 .gitkeep 文件以确保空文件夹被 Git 追踪。


Phase 3: 生成 CLAUDE.md

读取此 Skill 目录下对应的 CLAUDE.md 模板文件,将占位符替换为用户信息后,写入 vault 根目录的 CLAUDE.md

模板文件位置(相对于此 SKILL.md):

  • PARA: claude-md/para.md
  • 极简: claude-md/minimal.md
  • MOC: claude-md/moc.md

替换以下占位符:

  • {{USER_NAME}} → 用户名字
  • {{VAULT_PURPOSE}} → 用户描述的用途
  • {{LANGUAGE}} → 中文 或 English

Phase 4: 生成笔记模板

读取此 Skill 目录下的模板文件,复制到 vault 的 Templates/ 文件夹:

模板文件位置(相对于此 SKILL.md):

  • templates/daily-note.mdTemplates/Daily Note.md
  • templates/topic.mdTemplates/Topic.md
  • templates/weekly-review.mdTemplates/Weekly Review.md

Phase 5: 生成 .gitignore

在 vault 根目录创建 .gitignore,内容如下:

# Obsidian workspace(设备相关,频繁变化)
.obsidian/workspace.json
.obsidian/workspace-mobile.json

# Obsidian 回收站
.trash/

# 插件缓存
.obsidian/plugins/obsidian-git/.git-data
.obsidian-git-data
.smart-connections/

# 系统文件
.DS_Store
Thumbs.db

# 编辑器文件
.vscode/
.idea/

Phase 6: 安装外部 Skills 和 Commands

6.1 安装 kepano 的 Obsidian 格式 Skills

这 3 个 Skill 让 Claude 理解 Obsidian 特有的文件格式。创建 .claude/skills/ 目录并下载:

mkdir -p .claude/skills/obsidian-markdown
mkdir -p .claude/skills/obsidian-bases
mkdir -p .claude/skills/json-canvas

从 GitHub 下载 SKILL.md 文件:

curl -sL "https://raw.githubusercontent.com/kepano/obsidian-skills/main/skills/obsidian-markdown/SKILL.md" -o .claude/skills/obsidian-markdown/SKILL.md

curl -sL "https://raw.githubusercontent.com/kepano/obsidian-skills/main/skills/obsidian-bases/SKILL.md" -o .claude/skills/obsidian-bases/SKILL.md

curl -sL "https://raw.githubusercontent.com/kepano/obsidian-skills/main/skills/json-canvas/SKILL.md" -o .claude/skills/json-canvas/SKILL.md

每个下载后验证文件非空(test -s 文件路径)。如果下载失败,告知用户手动从 https://github.com/kepano/obsidian-skills 获取。

6.2 安装日常工作流 Commands

这 6 个 Command 是日常使用的核心操作。创建 .claude/commands/ 目录并下载:

mkdir -p .claude/commands

从 GitHub 下载 command 文件:

curl -sL "https://raw.githubusercontent.com/ashish141199/obsidian-claude-code/main/.claude/commands/day.md" -o .claude/commands/day.md

curl -sL "https://raw.githubusercontent.com/ashish141199/obsidian-claude-code/main/.claude/commands/log.md" -o .claude/commands/log.md

curl -sL "https://raw.githubusercontent.com/ashish141199/obsidian-claude-code/main/.claude/commands/new.md" -o .claude/commands/new.md

curl -sL "https://raw.githubusercontent.com/ashish141199/obsidian-claude-code/main/.claude/commands/answer.md" -o .claude/commands/answer.md

curl -sL "https://raw.githubusercontent.com/ashish141199/obsidian-claude-code/main/.claude/commands/task.md" -o .claude/commands/task.md

curl -sL "https://raw.githubusercontent.com/ashish141199/obsidian-claude-code/main/.claude/commands/save.md" -o .claude/commands/save.md

每个下载后验证文件非空。如果下载失败,告知用户手动从 https://github.com/ashish141199/obsidian-claude-code 获取。


Phase 7: 初始化 Git

# 如果还没有 .git 目录,初始化
git init

# 添加远程仓库(如果用户提供了 URL)
git remote add origin <用户提供的URL>

# 添加所有文件并创建初始提交
git add -A
git commit -m "init: 初始化 Obsidian 知识库

- 文件夹结构: <所选方式>
- 包含 CLAUDE.md、模板、.gitignore
- 安装 kepano/obsidian-skills (3 个格式 skill)
- 安装 ashish141199 的 6 个日常 commands"

如果用户配置了远程仓库,询问是否现在推送:

git push -u origin main

Phase 8: 完成总结

初始化完成后,向用户展示以下总结:

输出内容

=== Obsidian 知识库初始化完成 ===

📁 文件夹结构: <所选方式>
📄 CLAUDE.md: 已生成
📋 模板: Daily Note, Topic, Weekly Review
🔒 .gitignore: 已配置
🔧 Git: 已初始化 <+ 已连接远程仓库>

=== 已安装的 Skills ===
  .claude/skills/obsidian-markdown  - Obsidian Markdown 语法
  .claude/skills/obsidian-bases     - Obsidian Bases 文件格式
  .claude/skills/json-canvas        - JSON Canvas 文件格式

=== 已安装的 Commands ===
  /day    - 创建每日笔记
  /log    - 快速记录一条内容
  /new    - 创建新的主题笔记
  /answer - 从知识库回答问题
  /task   - 管理待办事项
  /save   - Git 同步(提交+推送)

=== 下一步 ===
1. 用 Obsidian 打开此文件夹作为 vault
2. 安装社区插件 "Obsidian Git"(用于自动备份)
3. 在 Claude Code 中试试 /day 开始写今天的第一篇日记
4. 用 /log 随时快速记录想法
5. 用 /save 保存并同步到 GitHub