Update Obsidian vault path from ~/knowledge to ~/CODEX

This commit is contained in:
m3tm3re
2026-01-27 19:10:13 +01:00
parent 63cd7fe102
commit 240fde83dd
27 changed files with 5662 additions and 1207 deletions

View File

@@ -0,0 +1,403 @@
---
name: obsidian-management
description: "Obsidian vault operations and file management for ~/CODEX. Use when: (1) creating/editing notes in Obsidian vault, (2) using templates from _chiron/templates/, (3) managing vault structure, (4) reading vault files, (5) organizing files within PARA structure. Triggers: obsidian, vault, note, template, create note, read note, organize files."
compatibility: opencode
---
# Obsidian Management
File operations and template usage for Obsidian vault at `~/CODEX/`.
## Vault Structure
```
~/CODEX/
├── _chiron/ # System files
│ ├── context.md # Primary context
│ └── templates/ # Note templates
├── 00-inbox/ # Quick captures
├── 01-projects/ # Active projects
├── 02-areas/ # Ongoing responsibilities
├── 03-resources/ # Reference material
├── 04-archive/ # Completed items
├── daily/ # Daily notes
└── tasks/ # Task management
```
## Core Operations
### Create Note
**When user says**: "Create a note called X", "Make a new note for X", "Add a note"
**Steps:**
1. Determine location (ask if unclear):
- `00-inbox/` for quick captures
- `01-projects/[work|personal]/[project]/` for project notes
- `02-areas/` for area notes
- `03-resources/` for reference material
2. Create file with proper filename (kebab-case, .md extension)
3. Add frontmatter if using template
4. Confirm creation
**Example:**
```
User: "Create a note about Obsidian plugins in resources"
Action:
1. Locate: ~/CODEX/03-resources/tools/obsidian-plugins.md
2. Create file with template or basic frontmatter
3. Confirm: "Created obsidian-plugins.md in 03-resources/tools/"
```
### Read Note
**When user says**: "Read the note X", "Show me X note", "What's in X?"
**Steps:**
1. Find note by:
- Exact path if provided
- Fuzzy search across vault
- Dataview query if complex
2. Read full note content
3. Summarize key points if long
4. Offer follow-up actions
**Example:**
```
User: "Read my learning-python note"
Action:
1. Search: rg "learning-python" ~/CODEX --type md
2. Read matching file
3. Present content
4. Offer: "Want to edit this? Add tasks? Link to other notes?"
```
### Edit Note
**When user says**: "Update X", "Change X to Y", "Add to X"
**Steps:**
1. Read existing note
2. Locate section to modify
3. Apply changes preserving formatting
4. Maintain frontmatter structure
5. Confirm changes
**Preserve:**
- Wiki-links `[[Note Name]]`
- Frontmatter YAML
- Task formatting
- Tags
- Dataview queries
### Use Template
**When user says**: "Create using template", "Use the X template"
**Available templates:**
| Template | Location | Purpose |
|----------|----------|---------|
| `daily-note.md` | `_chiron/templates/` | Daily planning/reflection |
| `weekly-review.md` | `_chiron/templates/` | Weekly review |
| `project.md` | `_chiron/templates/` | Project initialization |
| `meeting.md` | `_chiron/templates/` | Meeting notes |
| `resource.md` | `_chiron/templates/` | Reference material |
| `area.md` | `_chiron/templates/` | Area definition |
**Steps:**
1. Read template from `_chiron/templates/[template-name].md`
2. Replace template variables ({{date}}, {{project}}, etc.)
3. Create new file in appropriate location
4. Fill in placeholder sections
**Example:**
```
User: "Create a new project using the project template for 'Learn Rust'"
Action:
1. Read _chiron/templates/project.md
2. Replace {{project}} with "learn-rust", {{date}} with today
3. Create: ~/CODEX/01-projects/personal/learn-rust/_index.md
4. Fill in: deadline, priority, goals, etc.
```
### Search Vault
**When user says**: "Search for X", "Find notes about X", "Where's X?"
**Search methods:**
1. **Simple search**: `rg "term" ~/CODEX --type md`
2. **Tag search**: `rg "#tag" ~/CODEX --type md`
3. **Task search**: `rg "- \\[ \\]" ~/CODEX --type md`
4. **Wiki-link search**: `rg "\\[\\[.*\\]\\]" ~/CODEX --type md`
**Present results grouped by:**
- Location (Projects/Areas/Resources)
- Relevance
- Date modified
### Organize Files
**When user says**: "Organize inbox", "Move X to Y", "File this note"
**Steps:**
1. Read file to determine content
2. Consult chiron-core PARA guidance for proper placement
3. Create proper directory structure if needed
4. Move file maintaining links
5. Update wiki-links if file moved
**Example:**
```
User: "Organize my inbox"
Action:
1. List files in 00-inbox/
2. For each file:
- Read content
- Determine PARA category
- Move to appropriate location
3. Update broken links
4. Confirm: "Moved 5 files from inbox to Projects (2), Resources (2), Archive (1)"
```
## File Operations
### Paths
**Always use absolute paths:**
- `~/CODEX/``/home/username/knowledge/`
- Expand `~` before file operations
### Filenames
**Naming conventions:**
- Notes: `kebab-case.md` (all lowercase, hyphens)
- Projects: `project-name/` (directory with `_index.md`)
- Daily notes: `YYYY-MM-DD.md` (ISO date)
- Templates: `template-name.md` (kebab-case)
**Do NOT use:**
- Spaces in filenames
- CamelCase (use kebab-case)
- Special characters (except hyphens and underscores)
### Frontmatter
**Required fields:**
```yaml
---
title: "Note Title"
tags: [tag1, tag2]
created: YYYY-MM-DD
modified: YYYY-MM-DD
---
```
**Project frontmatter:**
```yaml
---
title: "Project Name"
status: active | on-hold | completed
deadline: YYYY-MM-DD
priority: critical | high | medium | low
tags: [work, personal]
---
```
**Task file frontmatter:**
```yaml
---
title: "Task List"
context: daily | project | area
tags: [tasks]
---
```
### Wiki-Links
**Format:** `[[Note Name]]` or `[[Note Name|Display Text]]`
**Best practices:**
- Use exact note titles
- Include display text for clarity
- Link to related concepts
- Back-link from destination notes
### Tags
**Format:** `#tagname` or `#tag/subtag`
**Common tags:**
- `#work`, `#personal`
- `#critical`, `#high`, `#low`
- `#project`, `#area`, `#resource`
- `#todo`, `#done`, `#waiting`
## Template System
### Template Variables
Replace these when using templates:
| Variable | Replacement |
|----------|-------------|
| `{{date}}` | Current date (YYYY-MM-DD) |
| `{{datetime}}` | Current datetime (YYYY-MM-DD HH:mm) |
| `{{project}}` | Project name |
| `{{area}}` | Area name |
| `{{title}}` | Note title |
| `{{week}}` | Week number (e.g., W04) |
### Template Locations
**Core templates** in `_chiron/templates/`:
- `daily-note.md` - Daily planning and reflection
- `weekly-review.md` - Weekly review structure
- `project.md` - Project initialization
- `meeting.md` - Meeting notes template
- `resource.md` - Reference material
- `area.md` - Area definition
- `learning.md` - Learning capture
### Custom Templates
**User can add** templates to `_chiron/templates/`:
1. Create new template file
2. Use variable syntax: `{{variable}}`
3. Document in `_chiron/templates/README.md`
4. Reference in obsidian-management skill
## Integration with Other Skills
**Calls to other skills:**
- `chiron-core` - PARA methodology guidance for organization
- `task-management` - Extract/update tasks from notes
- `quick-capture` - Process inbox items
- `meeting-notes` - Apply meeting template
**Delegation rules:**
- User asks about PARA → `chiron-core`
- User wants task operations → `task-management`
- User wants quick capture → `quick-capture`
- User wants meeting structure → `meeting-notes`
## File Format Standards
### Task Format (Obsidian Tasks plugin)
```markdown
- [ ] Task description #tag ⏫ 📅 YYYY-MM-DD
```
**Priority indicators:**
- ⏫ = Critical (urgent AND important)
- 🔼 = High (important, not urgent)
- 🔽 = Low (nice to have)
**Date indicators:**
- 📅 = Due date
- ⏳ = Start date
- 🛫 = Scheduled date
### Dataview Queries
```dataview
LIST WHERE status = "active"
FROM "01-projects"
SORT deadline ASC
```
```dataview
TABLE deadline, status, priority
FROM "-04-archive"
WHERE contains(tags, "#work")
SORT deadline ASC
```
### Callouts
```markdown
> [!INFO] Information
> Helpful note
> [!WARNING] Warning
> Important alert
> [!TIP] Tip
> Suggestion
> [!QUESTION] Question
> To explore
```
## Error Handling
### File Not Found
1. Search for similar filenames
2. Ask user to confirm
3. Offer to create new file
### Directory Not Found
1. Create directory structure
2. Confirm with user
3. Create parent directories as needed
### Template Not Found
1. List available templates
2. Offer to create template
3. Use basic note structure if needed
### Link Breaks After Move
1. Find all notes linking to moved file
2. Update links to new path
3. Confirm updated links count
## Best Practices
### When Creating Notes
1. Use descriptive titles
2. Add relevant tags
3. Link to related notes immediately
4. Use appropriate frontmatter
### When Editing Notes
1. Preserve existing formatting
2. Update `modified` date in frontmatter
3. Maintain wiki-link structure
4. Check for broken links
### When Organizing
1. Ask user before moving files
2. Update all links
3. Confirm final locations
4. Document changes in daily note
## Quick Reference
| Action | Command Pattern |
|--------|-----------------|
| Create note | "Create note [title] in [location]" |
| Read note | "Read [note-name]" or "Show me [note-name]" |
| Edit note | "Update [note-name] with [content]" |
| Search | "Search vault for [term]" or "Find notes about [topic]" |
| Use template | "Create [note-type] using template" |
| Organize inbox | "Organize inbox" or "Process inbox items" |
| Move file | "Move [file] to [location]" |
## Resources
- `references/file-formats.md` - Detailed format specifications
- `references/dataview-guide.md` - Dataview query patterns
- `references/link-management.md` - Wiki-link best practices
- `assets/templates/` - All template files
**Load references when:**
- User asks about format details
- Creating complex queries
- Troubleshooting link issues
- Template customization needed