obsidian-manager

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Obsidian Manager Skill

Obsidian Manager 技能

Manage the user's Obsidian vault as a persistent second brain. Read existing knowledge, write new content, and search across years of highlights and notes.
将用户的Obsidian库作为持久化的第二大脑进行管理。读取已有知识、撰写新内容,并跨多年的高亮内容与笔记进行搜索。

Vault Configuration

库配置

Path:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Personal_Notes/
Write Mode: Auto-create new files, confirm before updating existing files.
路径:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Personal_Notes/
写入模式: 自动创建新文件,更新现有文件前需确认。

Vault Structure

库结构

Personal_Notes/
├── Geoffrey/              # Geoffrey-generated content
│   ├── Mission Control.md # Central dashboard (Dataview queries)
│   ├── Scheduled Tasks.md # Scheduler dashboard
│   ├── Research/          # Research task outputs
│   │   ├── Daily AI Briefings/  # Daily automated research
│   │   ├── {Project}/     # Other research projects
│   │   └── attachments/   # Research images
│   ├── Reports/           # Generated reports and artifacts
│   │   ├── PSD/           # Peninsula School District reports
│   │   │   ├── Discipline/    # Discipline reports and infographics
│   │   │   ├── Enrollment/    # Enrollment reports
│   │   │   ├── Tech Support/  # Tech support dashboards
│   │   │   └── {topic}/       # Other PSD topics
│   │   ├── HRG/           # Hat Rack Group (consulting LLC) reports
│   │   │   └── {topic}/       # HRG topics
│   │   ├── Personal/      # Personal reports
│   │   │   └── {topic}/       # Personal topics
│   │   └── {org}/         # Other organizations as needed
│   ├── Daily-Logs/        # Session summaries (YYYY-MM-DD.md)
│   ├── Learnings/         # Extracted patterns (YYYY-MM-DD-topic.md)
│   └── Decisions/         # Major decisions with rationale (YYYY-MM-DD-topic.md)
├── Meetings/              # Meeting notes (YYYY-MM-DD format)
├── People/                # Contact profiles with metadata
├── Readwise/              # Synced highlights (368 articles, 34 books)
│   ├── Articles/
│   ├── Books/
│   ├── Podcasts/
│   └── Tweets/
├── Snipd/                 # Podcast highlights (58+ episodes)
│   └── Data/              # Podcast folders > episodes
└── Templates/             # Note templates
CRITICAL: See CLAUDE.md "Obsidian Organizational Rules" section for:
  • Strict folder structure requirements
  • File naming conventions
  • Routing rules by content type
  • Validation checklist before writing
Always validate folder placement before writing any files to Geoffrey folder.
Personal_Notes/
├── Geoffrey/              # Geoffrey生成的内容
│   ├── Mission Control.md # 中央控制面板(Dataview查询)
│   ├── Scheduled Tasks.md # 任务调度面板
│   ├── Research/          # 研究任务输出
│   │   ├── Daily AI Briefings/  # 每日自动化研究
│   │   ├── {Project}/     # 其他研究项目
│   │   └── attachments/   # 研究图片
│   ├── Reports/           # 生成的报告与成果
│   │   ├── PSD/           # 半岛学区报告
│   │   │   ├── Discipline/    # 纪律报告与信息图
│   │   │   ├── Enrollment/    # 入学报告
│   │   │   ├── Tech Support/  # 技术支持面板
│   │   │   └── {topic}/       # 其他PSD相关主题
│   │   ├── HRG/           # Hat Rack Group(咨询LLC)报告
│   │   │   └── {topic}/       # HRG相关主题
│   │   ├── Personal/      # 个人报告
│   │   │   └── {topic}/       # 个人相关主题
│   │   └── {org}/         # 其他需要的组织文件夹
│   ├── Daily-Logs/        # 会话摘要(YYYY-MM-DD.md格式)
│   ├── Learnings/         # 提炼的规律(YYYY-MM-DD-topic.md格式)
│   └── Decisions/         # 带有决策依据的重大决策(YYYY-MM-DD-topic.md格式)
├── Meetings/              # 会议笔记(YYYY-MM-DD格式)
├── People/                # 带元数据的联系人档案
├── Readwise/              # 同步的高亮内容(368篇文章,34本书籍)
│   ├── Articles/
│   ├── Books/
│   ├── Podcasts/
│   └── Tweets/
├── Snipd/                 # 播客高亮内容(58+集)
│   └── Data/              # 播客文件夹 > 单集
└── Templates/             # 笔记模板
重要提示: 请查看CLAUDE.md中的「Obsidian组织规则」部分,了解:
  • 严格的文件夹结构要求
  • 文件命名规范
  • 按内容类型的路由规则
  • 写入前的验证清单
在向Geoffrey文件夹写入任何文件前,务必验证文件夹位置是否正确。

Scripts

脚本

All scripts use Python via
uv run
with inline dependencies.
所有脚本通过
uv run
运行Python,使用内联依赖。

Search Scripts

搜索脚本

search.py - General Vault Search

search.py - 通用库搜索

bash
uv run scripts/search.py "query" [folder] [--limit N]
Search across the vault for keyword matches. Returns file paths and matching excerpts.
Examples:
bash
undefined
bash
uv run scripts/search.py "query" [folder] [--limit N]
在库中搜索关键词匹配内容,返回文件路径和匹配片段。
示例:
bash
undefined

Search entire vault

搜索整个库

uv run scripts/search.py "prompt engineering"
uv run scripts/search.py "prompt engineering"

Search specific folder

搜索指定文件夹

uv run scripts/search.py "leadership" People
uv run scripts/search.py "leadership" People

Limit results

限制结果数量

uv run scripts/search.py "AI" Readwise/Articles --limit 10
undefined
uv run scripts/search.py "AI" Readwise/Articles --limit 10
undefined

search-readwise.py - Search Highlights

search-readwise.py - 搜索高亮内容

bash
uv run scripts/search-readwise.py "query" [--author "name"] [--category articles|books|podcasts]
Search Readwise highlights by topic, author, or category.
Examples:
bash
undefined
bash
uv run scripts/search-readwise.py "query" [--author "name"] [--category articles|books|podcasts]
按主题、作者或类别搜索Readwise高亮内容。
示例:
bash
undefined

Search by topic

按主题搜索

uv run scripts/search-readwise.py "second brain"
uv run scripts/search-readwise.py "second brain"

Search specific author

搜索指定作者

uv run scripts/search-readwise.py "AI" --author "Andrej Karpathy"
uv run scripts/search-readwise.py "AI" --author "Andrej Karpathy"

Search books only

仅搜索书籍

uv run scripts/search-readwise.py "habits" --category books
undefined
uv run scripts/search-readwise.py "habits" --category books
undefined

search-snipd.py - Search Podcast Transcripts

search-snipd.py - 搜索播客文稿

bash
uv run scripts/search-snipd.py "query" [--show "podcast name"]
Search Snipd podcast transcripts and snips.
Examples:
bash
undefined
bash
uv run scripts/search-snipd.py "query" [--show "podcast name"]
搜索Snipd播客文稿和片段。
示例:
bash
undefined

Search all podcasts

搜索所有播客

uv run scripts/search-snipd.py "machine learning"
uv run scripts/search-snipd.py "machine learning"

Search specific show

搜索指定节目

uv run scripts/search-snipd.py "leadership" --show "Huberman Lab"
undefined
uv run scripts/search-snipd.py "leadership" --show "Huberman Lab"
undefined

Creation Scripts

创建脚本

create-note.py - Create New Note

create-note.py - 创建新笔记

bash
uv run scripts/create-note.py "title" "content" [--folder Geoffrey/Research] [--tags tag1,tag2] [--related "[[Note]]"]
Create a new note with proper frontmatter and optional backlinks.
Examples:
bash
undefined
bash
uv run scripts/create-note.py "title" "content" [--folder Geoffrey/Research] [--tags tag1,tag2] [--related "[[Note]]"]
创建带有正确frontmatter和可选反向链接的新笔记。
示例:
bash
undefined

Create research note

创建研究笔记

uv run scripts/create-note.py "AI Model Comparison" "Content here..." --folder Geoffrey/Research --tags research,ai
uv run scripts/create-note.py "AI Model Comparison" "Content here..." --folder Geoffrey/Research --tags research,ai

Create with backlinks

创建带反向链接的笔记

uv run scripts/create-note.py "Meeting Notes" "Content..." --folder Meetings --related "[[John Smith]],[[Project Alpha]]"
undefined
uv run scripts/create-note.py "Meeting Notes" "Content..." --folder Meetings --related "[[John Smith]],[[Project Alpha]]"
undefined

open-in-obsidian.py - Open Note in Obsidian

open-in-obsidian.py - 在Obsidian中打开笔记

bash
uv run scripts/open-in-obsidian.py "path/to/note.md"
Opens the specified note in Obsidian using Actions URI.
bash
uv run scripts/open-in-obsidian.py "path/to/note.md"
使用Actions URI在Obsidian中打开指定笔记。

Content Routing

内容路由

CRITICAL: When creating content, use these destinations. NEVER dump files directly into
Geoffrey/
- always use proper subfolders.
Content TypeFolderNaming Pattern
Research results
Geoffrey/Research/
YYYY-MM-DD-topic.md
Reports
Geoffrey/Reports/{org}/{topic}/
Descriptive name with date
Images/InfographicsSame as parent report
Descriptive Name YYYY-MM-DD.png
Meeting notes
Meetings/
Topic - YYYY-MM-DD.md
Daily summaries
Geoffrey/Daily-Logs/
YYYY-MM-DD.md
Learnings
Geoffrey/Learnings/
topic-slug.md
Decisions
Geoffrey/Decisions/
YYYY-MM-DD-decision.md
Person updates
People/
Existing file name
Naming Rules:
  • All images/infographics MUST include date in filename
  • Format:
    Descriptive Name YYYY-MM-DD.png
    or
    Descriptive Name YYYY-MM-DD to YYYY-MM-DD.png
    for date ranges
  • Example:
    Peninsula High School Discipline Report 2025-11-17 to 2025-11-20.png
Reports Folder Structure: Pattern:
Geoffrey/Reports/{organization}/{topic}/
Organizations:
  • PSD - Peninsula School District reports
    • Geoffrey/Reports/PSD/Discipline/
    • Geoffrey/Reports/PSD/Enrollment/
    • Geoffrey/Reports/PSD/Attendance/
    • Geoffrey/Reports/PSD/{topic}/
  • HRG - Hat Rack Group (consulting LLC) reports
    • Geoffrey/Reports/HRG/{topic}/
  • Personal - Personal reports
    • Geoffrey/Reports/Personal/{topic}/
  • {org} - Other organizations as needed
重要提示: 创建内容时,请使用以下目标路径。绝对不要直接将文件放入
Geoffrey/
文件夹中,务必使用正确的子文件夹。
内容类型文件夹命名格式
研究结果
Geoffrey/Research/
YYYY-MM-DD-topic.md
报告
Geoffrey/Reports/{org}/{topic}/
带日期的描述性名称
图片/信息图与对应报告同文件夹
Descriptive Name YYYY-MM-DD.png
会议笔记
Meetings/
Topic - YYYY-MM-DD.md
每日摘要
Geoffrey/Daily-Logs/
YYYY-MM-DD.md
提炼的规律
Geoffrey/Learnings/
topic-slug.md
决策记录
Geoffrey/Decisions/
YYYY-MM-DD-decision.md
联系人更新
People/
现有文件名
命名规则:
  • 所有图片/信息图的文件名必须包含日期
  • 格式:
    Descriptive Name YYYY-MM-DD.png
    ,日期范围使用
    Descriptive Name YYYY-MM-DD to YYYY-MM-DD.png
  • 示例:
    Peninsula High School Discipline Report 2025-11-17 to 2025-11-20.png
报告文件夹结构: 格式:
Geoffrey/Reports/{organization}/{topic}/
组织列表:
  • PSD - 半岛学区报告
    • Geoffrey/Reports/PSD/Discipline/
    • Geoffrey/Reports/PSD/Enrollment/
    • Geoffrey/Reports/PSD/Attendance/
    • Geoffrey/Reports/PSD/{topic}/
  • HRG - Hat Rack Group(咨询LLC)报告
    • Geoffrey/Reports/HRG/{topic}/
  • Personal - 个人报告
    • Geoffrey/Reports/Personal/{topic}/
  • {org} - 其他需要的组织

Frontmatter Standard

前置元数据标准

All Geoffrey-created notes should include:
yaml
---
created: 2025-11-23
tags: [geoffrey, research]
source: geoffrey
related:
  - "[[Related Note 1]]"
  - "[[Related Note 2]]"
---
所有Geoffrey创建的笔记应包含以下内容:
yaml
---
created: 2025-11-23
tags: [geoffrey, research]
source: geoffrey
related:
  - "[[Related Note 1]]"
  - "[[Related Note 2]]"
---

When to Read from Vault

何时读取库内容

  • Before research tasks: Check if user has relevant Readwise highlights or existing notes
  • When people mentioned: Look up context in People folder
  • For meeting prep: Find past meetings and related notes
  • For context: Search Snipd transcripts for podcast discussions on topic
  • 研究任务前: 检查用户是否有相关的Readwise高亮内容或现有笔记
  • 提及联系人时: 在People文件夹中查找相关上下文
  • 会议准备时: 查找过往会议记录和相关笔记
  • 获取上下文时: 搜索Snipd文稿中关于该主题的播客讨论

When to Write to Vault

何时写入库内容

  • After research: Save results to
    Geoffrey/Research/
  • Learned patterns: Extract insights to
    Geoffrey/Learnings/
  • Major decisions: Document with rationale in
    Geoffrey/Decisions/
  • Session summaries: Optional daily logs to
    Geoffrey/Daily-Logs/
  • 研究完成后: 将结果保存至
    Geoffrey/Research/
  • 提炼规律后: 将见解保存至
    Geoffrey/Learnings/
  • 做出重大决策后: 将决策及依据记录至
    Geoffrey/Decisions/
  • 会话结束后: 可选将每日日志保存至
    Geoffrey/Daily-Logs/

Creating Backlinks

创建反向链接

Always create backlinks to existing content:
  1. Search before creating: Find related notes first
  2. Use wiki-links:
    [[Note Title]]
    format
  3. Add to frontmatter: List in
    related:
    field
  4. Reference sources: Link to Readwise/Snipd sources when relevant
Example:
markdown
Based on insights from [[Readwise/Articles/Building a Second Brain]],
and discussed in [[Snipd/Data/Huberman Lab/episode-123]],
the key pattern is...
始终为现有内容创建反向链接:
  1. 创建前先搜索: 先查找相关笔记
  2. 使用维基链接:
    [[Note Title]]
    格式
  3. 添加至前置元数据:
    related:
    字段中列出
  4. 引用来源: 相关时链接至Readwise/Snipd来源
示例:
markdown
基于[[Readwise/Articles/Building a Second Brain]]中的见解,
以及[[Snipd/Data/Huberman Lab/episode-123]]中的讨论,
核心规律是...

Readwise Content Format

Readwise 内容格式

Readwise notes have this structure:
yaml
---
Author: "Author Name"
Full Title: "Article Title"
Category: #articles
Summary: "AI-generated summary"
---
Readwise笔记采用以下结构:
yaml
---
Author: "Author Name"
Full Title: "Article Title"
Category: #articles
Summary: "AI-generated summary"
---

Highlights

Highlights

  • Highlight text with optional tags like [[topic]]
undefined
  • 高亮文本,可添加[[topic]]等标签
undefined

Snipd Content Format

Snipd 内容格式

Snipd episodes have rich metadata:
yaml
---
episode_show: "Podcast Name"
episode_publish_date: 2024-01-15
mentioned_books: ["Book 1", "Book 2"]
snips_count: 5
---
Snipd单集包含丰富元数据:
yaml
---
episode_show: "Podcast Name"
episode_publish_date: 2024-01-15
mentioned_books: ["Book 1", "Book 2"]
snips_count: 5
---

Snip 1

Snip 1

Timestamp: 00:15:30
Quote text here
Transcript: Full context...
undefined
Timestamp: 00:15:30
引用文本
Transcript: 完整上下文...
undefined

Actions URI Integration

Actions URI 集成

Use Actions URI to interact with Obsidian app:
bash
undefined
使用Actions URI与Obsidian应用交互:
bash
undefined

Open a note

打开笔记

open "obsidian://actions-uri/note/open?vault=Personal_Notes&file=Geoffrey/Research/note.md"
open "obsidian://actions-uri/note/open?vault=Personal_Notes&file=Geoffrey/Research/note.md"

Create and open

创建并打开笔记

open "obsidian://actions-uri/note/create?vault=Personal_Notes&file=path&content=..."
undefined
open "obsidian://actions-uri/note/create?vault=Personal_Notes&file=path&content=..."
undefined

Best Practices

最佳实践

  1. Search before creating: Always check for existing content
  2. Link generously: Create connections between notes
  3. Use consistent tags: Match existing tag patterns
  4. Keep notes atomic: One idea per note in Learnings
  5. Include sources: Always cite Readwise/Snipd sources
  6. Respect existing structure: Don't reorganize user's folders
  1. 创建前先搜索: 始终检查是否已有相关内容
  2. 大量创建链接: 在笔记间建立关联
  3. 使用一致标签: 匹配现有标签模式
  4. 保持笔记原子化: Learnings文件夹中每条笔记对应一个观点
  5. 包含来源: 始终引用Readwise/Snipd来源
  6. 尊重现有结构: 不要重新组织用户的文件夹

Output Format

输出格式

When completing Obsidian operations:
markdown
undefined
完成Obsidian操作时,请使用以下格式:
markdown
undefined

Summary

摘要

What was done
已执行的操作

Files

文件

  • Created:
    path/to/new.md
  • Updated:
    path/to/existing.md
    (if confirmed)
  • 创建:
    path/to/new.md
  • 更新:
    path/to/existing.md
    (若已确认)

Related Content Found

找到的相关内容

  • [[Relevant Note 1]] - why it's relevant
  • [[Relevant Note 2]] - why it's relevant
  • [[Relevant Note 1]] - 相关原因
  • [[Relevant Note 2]] - 相关原因

Next Steps

下一步

  • Recommendations if any
undefined
  • 如有建议请列出
undefined