Communitygithub.com

heyitsnoah/claudesidian

交互式设置向导,帮助新用户根据其 Obsidian 工作流偏好,创建个性化的 CLAUDE.md 文件。

claudesidian 是什么?

该技能作为一个交互式设置向导,用于为新用户初始化并个性化其 CLAUDE.md 配置文件,特别针对将 AI 代理(如 Claude Code)与 Obsidian 笔记工作流相结合的场景。其主要用途是引导用户完成一个结构化的引导过程,该过程会检测现有的 Obsidian 知识库、分析其结构(例如,是否使用 PARA 或 Zettelkasten 方法),并就组织偏好、命名约定、使用案例以及可选工具(如用于视觉分析的 Gemini Vision 和用于网络研究的 Firecrawl)进行提问。该技能支持在 Claude Code、OpenCode、Codex、Cursor 和 Pi 等平台上使用,这些平台共享一个基于 `.agents/skills/` 的技能系统。它首先收集用户信息,可能的话会研究用户的公开资料以了解上下文,然后根据已有的 CLAUDE-BOOTSTRAP.md 模板动态生成一个全面的 CLAUDE.md。生成的配置会根据检测到的或用户指定的工作流(例如,项目管理、研究、每日笔记)进行定制,建立文件夹结构,创建支持文件(如 README 和项目子文件夹),并配置可选的 MCP 服务器。该技能还负责处理依赖安装(优先使用 pnpm)、Git 初始化以及将现有知识库文件安全地迁移到一个 `OLD_VAULT` 文件夹中,确保用户在当前知识库采用新的结构化工作流之前,原始数据完好无损。

兼容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add https://github.com/heyitsnoah/claudesidian/tree/HEAD/.agents/skills/init-bootstrap

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

初始化引导配置

此命令通过询问有关您 Obsidian 工作流和偏好的问题,帮助您创建个性化的 CLAUDE.md 配置文件。

任务

阅读 CLAUDE-BOOTSTRAP.md 模板,并交互式地收集用户信息:

  • 现有知识库结构(如有)
  • 工作流偏好
  • 笔记记录风格
  • 组织方法
  • 特定需求

然后根据其需求生成一个定制化的 CLAUDE.md 文件。

过程

  1. 初始环境设置

    • 使用 date 命令获取当前日期以添加时间戳
    • 检查当前文件夹名称,并询问是否需要重命名
    • 如果需要,引导用户完成重命名(处理父目录移动)
    • 检查 package.json 并安装依赖:
      • 优先尝试 pnpm install(更快,更好)
      • 如果 pnpm 不可用,回退到 npm install
    • 验证核心依赖已安装
    • 检查 git 状态:
      • 如果没有 .git 文件夹:初始化 git 仓库
      • 如果有远程源:询问是否进行开发工作
        • 个人知识库:移除远程源和 .github 文件夹
        • 贡献项目:保留远程源和工作流不变
      • 如果是干净的本地仓库:准备就绪
    • 暂时不要创建文件夹——等到询问了组织方法之后
  2. 检查现有配置

    • 查找现有的 CLAUDE.md
    • 如果存在,询问是要更新还是重新开始
    • 检查是否存在 CLAUDE-BOOTSTRAP.md 模板
  3. 收集知识库信息

    • 搜索常见位置以查找现有的 Obsidian 知识库(.obsidian 文件夹)
    • 使用适当的深度限制检查以下路径:
      • ~/Documents(最大深度 3) - 所有平台
      • ~/Desktop(最大深度 3) - 所有平台
      • ~/Library/Mobile Documents/iCloud~md~obsidian/Documents(最大深度 5 - 仅限 macOS,iCloud 知识库)
      • 主目录 ~/(最大深度 2) - 所有平台
      • 当前目录的父目录(最大深度 2) - 所有平台
    • 如果找到,询问:“在 [路径] 找到 Obsidian 知识库。这是您要导入的知识库吗?”
    • 正确计数文件:find [路径] -type f -name "*.md" | wc -l(无深度限制)
    • 显示知识库大小:du -sh [路径]
    • 如果确认,分析知识库结构:
      • 运行 tree -L 3 -d [路径] 查看文件夹层次结构
      • 随机抽样 10-15 个笔记以了解内容类型
      • 列出 30-50 个最近的文件名以检测命名模式
      • 检查每日笔记文件夹和格式
      • 按文件计数确定最活跃的文件夹
      • 检测是否使用 PARA、Zettelkasten、Johnny Decimal 或自定义方法
    • 如果不是正确的知识库或未找到:
      • 仅在 macOS 上: 询问:“您的知识库是否存储在 iCloud Drive 中?(是/否)”
      • 如果是(macOS):“请输入知识库的完整路径(例如,/Library/Mobile Documents/iCloudmd~obsidian/Documents/YourVault)”
      • 如果否,或在 Linux/Windows 上:“请输入您现有知识库的路径,或者输入 'skip' 重新开始”
      • 验证用户提供的路径(参见下面的“用户路径验证”部分)
    • 如果没有现有知识库或用户跳过,则从头开始
  4. 询问配置问题

    • “您的名字是什么?”(用于个性化)
    • “您是否希望我研究您的公开作品以更好地了解您的背景?”
      • 如果是:搜索相关信息
      • 始终展示发现结果并询问“这是否正确?”以进行确认
      • 如果找到多人,列出编号以供选择
      • 如果找错了人,提供重新搜索或跳过的选项
      • 保存有关其工作、写作风格、专业领域的相关上下文
    • “您遵循 PARA 方法还是有不同的组织系统?”
    • “您的主要使用场景是什么?(研究、写作、项目管理、知识库、每日笔记)”

    如果使用 PARA,询问具体的设置问题: Tiago Forte 的 PARA 方法

    • “您正在处理哪些活跃项目?”(在 01_Projects 中创建文件夹)
    • “您维护哪些责任领域?”(例如,工作、健康、财务、家庭)
    • “您经常研究哪些主题?”(在 03_Resources 中设置)
    • “您最近完成了哪些项目?”(可以归档并附上摘要)

    通用偏好:

    • 检查 .obsidian/community-plugins.json 以查看他们使用了哪些插件
    • 自动分析现有文件以检测命名约定
    • 检查附件文件夹以了解其是否处理媒体文件
    • “您是否使用 Git 进行版本控制?”
    • “您是否经常引用特定的网站或资源?”
    • “您有特定的写作风格偏好吗?”
    • “您是否希望 Claude 遵循特定的工作流或模式?”
    • “您想要一个每周回顾仪式吗?(例如,周四项目回顾)”
    • “您更喜欢‘思考模式’(提问/探索)还是‘写作模式’?”
  5. 可选工具设置

    Gemini Vision(已包含)

    • 询问:“Gemini Vision 已包含在内,用于分析图片、PDF 和视频。您想要激活它吗?(是/否/稍后)”
    • 解释:“您只需要一个来自 Google 的免费 API 密钥。这样 Claude 就可以分析您知识库中的任何视觉内容。”
    • 如果稍后:“没问题!您可以随时通过从 https://aistudio.google.com/apikey 获取 API 密钥并将其添加到您的 shell 配置文件中,然后运行 claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs 来设置。”
    • 如果是:
      • 引导从 https://aistudio.google.com/apikey 获取 API 密钥(免费,30 秒即可完成)
      • 帮助添加到 shell 配置文件(.zshrc, .bashrc 等)
      • 运行 claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs
      • 使用 API 密钥配置 .mcp.json
      • 使用示例命令测试连接

    Firecrawl(已包含)

    • 询问:“Firecrawl 已包含在内,用于网络研究。您想要设置它吗?(是/否/稍后)”
    • 解释:“这对研究来说是一个颠覆性的工具!当您发现一篇文章或网站时,您可以将其直接以 markdown 格式保存到您的知识库中——永久保留内容,使其可搜索,并让 Claude 分析它。非常适合构建研究库。”
    • 示例:“只需告诉 Claude:‘将此文章保存到我的知识库:[URL]’,就完成了!”
    • 如果稍后:“您可以随时通过从 https://firecrawl.dev 获取 API 密钥并配置 .scripts/ 中的脚本来设置。”
    • 如果是:
      • 引导从 https://firecrawl.dev 获取 API 密钥(有免费套餐)
      • 帮助配置 .scripts/ 中的脚本
      • 演示示例用法:.scripts/firecrawl-scrape.sh https://example.com
  6. 生成自定义配置

    • 获取当前日期:date +"%B %d, %Y" 用于 CLAUDE.md 头部
    • 将偏好保存到 .claude/vault-config.json:
      {
        "user": {
          "name": "Jane Smith",
          "background": {
            "companies": ["Variance", "Percolate"],
            "roles": ["Co-founder", "Writer"],
            "publications": ["Why Is This Interesting?", "every.to"],
            "expertise": [
              "Developer tools",
              "Marketing tech",
              "Systems thinking"
            ],
            "interests": ["AI for thinking", "Note-taking systems", "Creativity"]
          },
          "profileSources": [
            "https://whyisthisinteresting.com/about",
            "https://every.to/@username"
          ],
          "customContext": "Focuses on AI as thinking augmentation, not just writing",
          "publicProfile": true
        },
        "vaultPath": "/path/to/existing/vault",
        "fileNamingPattern": "detected-pattern",
        "organizationMethod": "PARA",
        "primaryUses": ["research", "writing", "projects"],
        "tools": {
          "geminiVision": true,
          "firecrawl": false
        },
        "projects": ["Book - Productivity", "SaaS App"],
        "areas": ["Newsletter", "Health"],
        "importedAt": "2025-01-13",
        "lastUpdated": "2025-01-13"
      }
      
    • 以 CLAUDE-BOOTSTRAP.md 为基础
    • 添加用户特定部分:
      • 包含实际项目/领域的自定义文件夹结构
      • 个人工作流
      • 首选工具和脚本
      • 特定指南
      • 如果已设置,则包含 MCP 配置
    • 包含用户提供的网站/资源
    • 添加任何自定义命名约定
    • 预填充其项目和领域:
      • 在 01_Projects/ 中创建项目文件夹
      • 在 02_Areas/ 中创建领域文件夹
      • 在 03_Resources/ 中创建资源主题
      • 添加解释每个项目/领域的 README 文件
  7. 导入现有知识库(如适用)

    • 如果用户有现有知识库:
      • 创建 OLD_VAULT 文件夹:mkdir OLD_VAULT
      • 复制整个知识库,保留结构:cp -r [vault-path]/* ./OLD_VAULT/
      • 复制 Obsidian 配置:cp -r [vault-path]/.obsidian ./
      • 检查并复制其他重要文件:
        • .trash/(Obsidian 的垃圾箱文件夹)
        • .smart-connections/(如果使用了该插件)
        • 任何工作区文件:.obsidian.vimrc 等
      • 跳过复制:.git/(他们会有自己的)、.claude/(使用我们的)
      • 显示摘要:“已将您的知识库导入到 OLD_VAULT/(X 个文件,Y 个文件夹)”
      • 解释:“您的原始结构已保留在 OLD_VAULT 中。您可以根据需要逐步将文件迁移到 PARA 文件夹。”
  8. 创建支持文件

    • 如果是新知识库,生成初始文件夹结构
    • 为主文件夹创建 README 文件
    • 为每个项目文件夹创建子文件夹:
      • Research/(源材料)
      • Chats/(AI 对话)
      • Daily Progress/(运行日志)
    • 创建 05_Attachments/Organized/ 目录
    • 如果使用 git,设置 .gitignore(包含 .mcp.json, node_modules)
    • 如果用户要求,创建初始模板
    • 如果用户想要回顾仪式,创建 WEEKLY_REVIEW.md
    • 如果存在 FIRST_RUN 标记文件,将其移除
    • 如果仓库已初始化,进行初始 git 提交
  9. 运行测试命令

    • 执行 pnpm vault:stats 以验证脚本正常工作
    • 如果文件夹存在,测试附件命令
    • 如果配置了 MCP 工具,测试 MCP 工具
    • 验证 git 是否正确跟踪文件
  10. 提供后续步骤

  • 已创建和配置内容的摘要
  • 针对其设置的快速入门指南
  • 可用的可用命令列表
  • 用于验证所有设置正常的测试命令
  • 基于其使用场景的首个任务的建议
  • 如何稍后修改配置

示例输出

# 您的 Obsidian 知识库配置

生成于:[运行 `date +"%B %d, %Y"` 获取当前日期] 最后更新:[相同日期] 基于您对以下方面的偏好:[主要使用场景] 设置已完成:✅ 依赖 ✅ 文件夹结构 ✅ Git 已初始化

## 您的自定义文件夹结构

[其特定结构及解释]

## 您的工作流

### 日常惯例

[基于其回答]

### 项目管理

[其特定方法]

### 研究方法(Noah Brier 风格)

- 捕捉您读过的所有内容
- 让重要的想法自然浮现
- 从写作开始以测试理解程度
- 使用搜索而非标签来查找内容
- [从 Noah 的系统了解更多](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452)

### 每周回顾仪式

[如果启用:每周四下午 4 点,回顾所有项目]

## 您的偏好

### 文件命名

- 模式:[他们的约定]
- 示例:[具体示例]

### 工具和脚本

[与其工作流相关的脚本]

## MCP 服务器(如已配置)

### Gemini Vision

- 状态:✅ 已配置并经过测试
- API 密钥:已在 .mcp.json 中设置
- 测试命令:`使用 gemini-vision 分析 [图片路径]`

## 可用命令

### 知识库管理

- `pnpm vault:stats` - 显示知识库统计信息
- `pnpm attachments:list` - 列出未处理的附件
- `pnpm attachments:organized` - 统计已组织的文件

### Claude 技能

技能在您描述任务时自动发现。例如:

- "帮我思考 X" → `thinking-partner`
- "总结我的一天" / "每日回顾" → `daily-review`
- "处理我的收件箱" → `inbox-processor`
- "重新运行设置向导" → `init-bootstrap`

技能位于 `.agents/skills/`(规范位置),并在 `.claude/skills/` 和 `.pi/skills/` 中创建符号链接。它们适用于 Claude Code、OpenCode、Codex、Cursor 和 Pi。

## 快速入门

1. [个性化的第一步]
2. [基于其目标的下一步操作]
3. [特定于其工作流的操作]

## 来自研究大师的专家建议

- **成为 Token 最大主义者**:向 Claude 提供大量上下文
- **写作可扩展**:记录所有内容以备将来参考([Noah Brier](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452))
- **信任涌现**:重要的想法会不断浮现
- **从写作开始**:始终以文本形式开始项目
- **定期回顾**:每周留出时间进行精简和更新
- **PARA 方法**:项目、领域、资源、归档([Tiago Forte](https://fortelabs.com/blog/para/))

## 设置摘要

✅ 依赖已安装(pnpm/npm) ✅ 文件夹结构已创建 ✅ Git 仓库已初始化并与原始仓库断开连接 ✅ CLAUDE.md 已个性化 ✅ 首次运行设置已完成 [✅ MCP Gemini Vision 已配置 - 如果已设置] [✅ 已进行首次提交 - 如果 git 已初始化]

重要实现说明

处理多个知识库

当检测到多个知识库时:

  1. 始终列出所有找到的知识库,并带有清晰的编号和详细信息
  2. 要求明确选择 - 不要假设使用哪个知识库
  3. 在选择后进行确认,然后再继续导入
  4. 处理模糊回应 - 如果用户输入不明确(例如粘贴截图),要求澄清:
    • "我看到您分享了一个截图。能否请您输入要导入的知识库的编号(1-3)?"
    • "我需要一个明确的选择。请键入 '1'、'2' 或 '3' 来选择知识库。"

[为翻译而截断]

相关技能