Includes: CLAUDE.md, settings.json, agents, commands, rules, skills, hooks, contexts, evals, get-shit-done, plugin configs (installed list and marketplace sources). Excludes credentials, runtime caches, telemetry, session data, and plugin binary cache.
267 lines
5.3 KiB
Markdown
267 lines
5.3 KiB
Markdown
---
|
|
name: knowledge-vault
|
|
description: Manage the Obsidian Knowledge vault — create notes, organize content, search, and maintain the PARA + Zettelkasten system
|
|
---
|
|
|
|
# Knowledge Vault Management
|
|
|
|
## Vault Location
|
|
|
|
`/Users/yiukai/Documents/git/knowledge-base`
|
|
|
|
## Folder Structure
|
|
|
|
```
|
|
0 - Daily Notes/ # 每日笔记
|
|
1 - Inbox/ # 快速捕捉
|
|
2 - Projects/ # 有目标的项目
|
|
3 - Areas/ # 长期关注领域
|
|
4 - Resources/ # 主题参考资料
|
|
5 - Archive/ # 已完成/暂停
|
|
6 - Zettelkasten/ # 原子化永久笔记
|
|
System/
|
|
Attachments/ # 附件
|
|
Templates/ # 模板
|
|
```
|
|
|
|
## Creating Notes
|
|
|
|
### Inbox Note
|
|
|
|
Quick capture, no formatting pressure. Place in `1 - Inbox/`.
|
|
|
|
```markdown
|
|
---
|
|
created: "YYYY-MM-DD HH:mm"
|
|
type: inbox
|
|
---
|
|
|
|
# Title
|
|
|
|
Content here
|
|
```
|
|
|
|
### Daily Note
|
|
|
|
Place in `0 - Daily Notes/` with filename `YYYY-MM-DD.md`.
|
|
|
|
```markdown
|
|
---
|
|
created: "YYYY-MM-DD"
|
|
type: daily
|
|
---
|
|
|
|
# YYYY-MM-DD dddd
|
|
|
|
## 今日捕捉
|
|
|
|
-
|
|
|
|
## 待办
|
|
|
|
- [ ]
|
|
|
|
## 回顾
|
|
|
|
```
|
|
|
|
### Zettelkasten Note
|
|
|
|
Atomic permanent note. One idea per note. Place in `6 - Zettelkasten/`.
|
|
Filename format: `YYYYMMDDHHMMSS Title.md`
|
|
|
|
```markdown
|
|
---
|
|
created: "YYYY-MM-DD HH:mm"
|
|
type: zettel
|
|
tags: []
|
|
source: ""
|
|
---
|
|
|
|
# Title
|
|
|
|
Write the idea in your own words.
|
|
|
|
---
|
|
|
|
## Related
|
|
|
|
- [[link to related notes]]
|
|
|
|
## Source
|
|
|
|
- Source reference
|
|
```
|
|
|
|
### Project Note
|
|
|
|
Place in `2 - Projects/`.
|
|
|
|
```markdown
|
|
---
|
|
created: "YYYY-MM-DD"
|
|
type: project
|
|
status: active
|
|
deadline: ""
|
|
---
|
|
|
|
# Title
|
|
|
|
## Goal
|
|
|
|
## Tasks
|
|
|
|
- [ ]
|
|
|
|
## Notes
|
|
|
|
-
|
|
|
|
## Related
|
|
|
|
-
|
|
```
|
|
|
|
### Resource Note
|
|
|
|
Place in `4 - Resources/`.
|
|
|
|
```markdown
|
|
---
|
|
created: "YYYY-MM-DD"
|
|
type: resource
|
|
tags: []
|
|
source: ""
|
|
---
|
|
|
|
# Title
|
|
|
|
## Summary
|
|
|
|
## Key Points
|
|
|
|
-
|
|
|
|
## Related
|
|
|
|
-
|
|
```
|
|
|
|
### MOC (Map of Content)
|
|
|
|
Index note for a topic. Place in `3 - Areas/` or `4 - Resources/`.
|
|
|
|
```markdown
|
|
---
|
|
created: "YYYY-MM-DD"
|
|
type: moc
|
|
---
|
|
|
|
# Title
|
|
|
|
## Overview
|
|
|
|
-
|
|
|
|
## Key Notes
|
|
|
|
- [[links]]
|
|
|
|
## Related MOCs
|
|
|
|
-
|
|
```
|
|
|
|
## Operations
|
|
|
|
### Create a note
|
|
|
|
1. Determine note type based on content
|
|
2. Use the correct template from above
|
|
3. Fill `created` with current date/time
|
|
4. For Zettelkasten: generate timestamp filename `YYYYMMDDHHMMSS Title.md`
|
|
5. Add `[[links]]` to related existing notes when possible
|
|
|
|
### Organize Inbox
|
|
|
|
1. Read all files in `1 - Inbox/` (exclude README.md)
|
|
2. For each note, suggest destination:
|
|
- Actionable task → `2 - Projects/`
|
|
- Ongoing responsibility → `3 - Areas/`
|
|
- Reference material → `4 - Resources/`
|
|
- Original insight → rewrite as Zettel in `6 - Zettelkasten/`
|
|
- Outdated → suggest deletion
|
|
3. Update frontmatter `type` field to match destination (e.g., `project`, `resource`, `zettel`)
|
|
4. Add `[[wikilinks]]` to related existing notes in the destination folder
|
|
5. Move files after user confirmation
|
|
|
|
### Search notes
|
|
|
|
Use Grep to search note content across the vault:
|
|
```
|
|
Grep pattern="search term" path="/Users/yiukai/Documents/git/knowledge-base" glob="*.md"
|
|
```
|
|
|
|
Exclude system files:
|
|
```
|
|
Grep pattern="search term" path="/Users/yiukai/Documents/git/knowledge-base" glob="[0-6]*/**/*.md"
|
|
```
|
|
|
|
Present search results as a list of `[[wikilinks]]` with brief Chinese summaries of each match.
|
|
|
|
### Find related notes
|
|
|
|
1. Extract key concepts/tags from the current note
|
|
2. Search for those terms across `6 - Zettelkasten/` and other folders
|
|
3. Present results as `[[wikilinks]]` with Chinese explanation of each note's relevance
|
|
|
|
### Review Zettelkasten health
|
|
|
|
1. Find orphan notes (no incoming or outgoing links)
|
|
2. Find notes missing tags or sources
|
|
3. Suggest connections between notes on related topics
|
|
|
|
## Git Sync
|
|
|
|
MANDATORY for every vault operation that modifies files:
|
|
|
|
### Before modifying files
|
|
|
|
```bash
|
|
cd /Users/yiukai/Documents/git/knowledge-base && git pull --rebase origin main
|
|
```
|
|
|
|
### After modifying files
|
|
|
|
```bash
|
|
cd /Users/yiukai/Documents/git/knowledge-base && git add -A && git commit -m "vault: <brief description of changes>" && git push origin main
|
|
```
|
|
|
|
Commit message examples:
|
|
- `vault: add daily note 2026-03-15`
|
|
- `vault: create zettel on distributed consensus`
|
|
- `vault: organize inbox notes to projects and resources`
|
|
- `vault: update MOC for claude code`
|
|
|
|
If pull has conflicts, stop and ask the user before proceeding.
|
|
|
|
## Dependencies
|
|
|
|
This skill defines **what** to create and **where** to put it. For **how** to write Obsidian content, delegate to `obsidian-skills` plugin:
|
|
|
|
- **Writing Markdown** → use `obsidian:obsidian-markdown` for wikilinks, embeds, callouts, properties syntax
|
|
- **Creating .canvas files** → use `obsidian:json-canvas`
|
|
- **Creating .base files** → use `obsidian:obsidian-bases`
|
|
- **Interacting with running Obsidian** → use `obsidian:obsidian-cli` (read/create/search via CLI)
|
|
- **Fetching web content into notes** → use `obsidian:defuddle` to extract clean markdown from URLs
|
|
|
|
## Rules
|
|
|
|
- ALWAYS use Obsidian `[[wikilink]]` syntax for internal links (see `obsidian:obsidian-markdown`)
|
|
- ALWAYS pull before and push after modifying vault files (see Git Sync above)
|
|
- NEVER modify notes without user confirmation (except when creating new ones)
|
|
- Zettelkasten notes must be atomic — one idea per note
|
|
- Use simplified Chinese for all note content
|
|
- Frontmatter `created` field uses ISO format: `YYYY-MM-DD` or `YYYY-MM-DD HH:mm`
|
|
- Tags in frontmatter use lowercase English: `[concept, insight, question]`
|