用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/krishagel/geoffrey --skill obsidian-manager命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Unified Google Workspace integration for managing email, calendar, files, and communication across multiple accounts
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy. Make sure to use this skill whenever the user mentions creating, building, designing, or improving skills, even if they don't explicitly say "skill-creator".
Generate Peninsula School District Standard Operating Procedures using the official PSD SOP template and conventions. Conducts a structured interview to gather all required information before drafting. Use when creating new SOPs, updating existing procedures, or drafting operational documentation for any district department. Triggers on requests to create SOPs, standard operating procedures, operational procedures, process documentation, or procedural guides for PSD.
基于 SOC 职业分类
正在显示 SKILL.md
| name | obsidian-manager |
| description | Manage Obsidian vault for persistent knowledge storage, search, and retrieval |
| triggers | ["save to obsidian","search my notes","find in vault","check my readwise","search readwise","search snipd","check my highlights","create note","add to obsidian","what did I read about","what podcasts mentioned"] |
| allowed-tools | Read, Write, Bash, Glob, Grep |
| version | 0.1.0 |
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.
Path: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Personal_Notes/
Write Mode: Auto-create new files, confirm before updating existing files.
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:
Always validate folder placement before writing any files to Geoffrey folder.
All scripts use Python via uv run with inline dependencies.
uv run scripts/search.py "query" [folder] [--limit N]
Search across the vault for keyword matches. Returns file paths and matching excerpts.
Examples:
# Search entire vault
uv run scripts/search.py "prompt engineering"
# Search specific folder
uv run scripts/search.py "leadership" People
# Limit results
uv run scripts/search.py "AI" Readwise/Articles --limit 10
uv run scripts/search-readwise.py "query" [--author "name"] [--category articles|books|podcasts]
Search Readwise highlights by topic, author, or category.
Examples:
# Search by topic
uv run scripts/search-readwise.py "second brain"
# Search specific author
uv run scripts/search-readwise.py "AI" --author "Andrej Karpathy"
# Search books only
uv run scripts/search-readwise.py "habits" --category books
uv run scripts/search-snipd.py "query" [--show "podcast name"]
Search Snipd podcast transcripts and snips.
Examples:
# Search all podcasts
uv run scripts/search-snipd.py "machine learning"
# Search specific show
uv run scripts/search-snipd.py "leadership" --show "Huberman Lab"
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:
# Create research note
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]]"
uv run scripts/open-in-obsidian.py "path/to/note.md"
Opens the specified note in Obsidian using Actions URI.
CRITICAL: When creating content, use these destinations. NEVER dump files directly into Geoffrey/ - always use proper subfolders.
| Content Type | Folder | Naming Pattern |
|---|---|---|
| Research results | Geoffrey/Research/ | YYYY-MM-DD-topic.md |
| Reports | Geoffrey/Reports/{org}/{topic}/ | Descriptive name with date |
| Images/Infographics | Same 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:
Descriptive Name YYYY-MM-DD.png or Descriptive Name YYYY-MM-DD to YYYY-MM-DD.png for date rangesPeninsula High School Discipline Report 2025-11-17 to 2025-11-20.pngReports 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
All Geoffrey-created notes should include:
---
created: 2025-11-23
tags: [geoffrey, research]
source: geoffrey
related:
- "[[Related Note 1]]"
- "[[Related Note 2]]"
---
Geoffrey/Research/Geoffrey/Learnings/Geoffrey/Decisions/Geoffrey/Daily-Logs/Always create backlinks to existing content:
[[Note Title]] formatrelated: fieldExample:
Based on insights from [[Readwise/Articles/Building a Second Brain]],
and discussed in [[Snipd/Data/Huberman Lab/episode-123]],
the key pattern is...
Readwise notes have this structure:
---
Author: "Author Name"
Full Title: "Article Title"
Category: #articles
Summary: "AI-generated summary"
---
## Highlights
- Highlight text with optional tags like [[topic]]
Snipd episodes have rich metadata:
---
episode_show: "Podcast Name"
episode_publish_date: 2024-01-15
mentioned_books: ["Book 1", "Book 2"]
snips_count: 5
---
### Snip 1
**Timestamp:** 00:15:30
> Quote text here
**Transcript:** Full context...
Use Actions URI to interact with Obsidian app:
# Open a note
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=..."
When completing Obsidian operations:
## Summary
What was done
## Files
- Created: `path/to/new.md`
- Updated: `path/to/existing.md` (if confirmed)
## Related Content Found
- [[Relevant Note 1]] - why it's relevant
- [[Relevant Note 2]] - why it's relevant
## Next Steps
- Recommendations if any