Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:42:13 +08:00
commit 43c7c7f639
25 changed files with 4114 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
{
"name": "para-brain",
"description": "Ultimate PARA method and Building a Second Brain plugin for Obsidian. Includes CODE methodology (Capture, Organize, Distill, Express), Progressive Summarization, and complete note management workflows with MCP Obsidian integration.",
"version": "1.0.0",
"author": {
"name": "Nathan Vale"
},
"skills": [
"./skills"
],
"commands": [
"./commands"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# para-brain
Ultimate PARA method and Building a Second Brain plugin for Obsidian. Includes CODE methodology (Capture, Organize, Distill, Express), Progressive Summarization, and complete note management workflows with MCP Obsidian integration.

View File

@@ -0,0 +1,75 @@
# Shared Create Workflow
Reference file for `/para:create-*` commands.
## File Naming Convention (REQUIRED)
See: `naming-convention.md` in this folder.
**Standard**: Title Case with Spaces → `Folder/Title Case with Spaces.md`
| User Input | Filename |
|------------|----------|
| `"tassie holiday 2025"` | `Tassie Holiday 2025.md` |
| `"react best practices"` | `React Best Practices.md` |
| `"learn piano"` | `Learn Piano.md` |
**Always convert user input to Title Case before creating files.**
## PARA Principle: Don't Over-Organize
Per Tiago Forte's PARA method:
- "Keep it to 4-6 items per level maximum"
- "Resources don't need perfect organization. They just need to be findable."
**Rule**: Let structure emerge naturally. Don't create folders preemptively.
## Subfolder Logic by Type
| Type | Subfolder Behavior |
|------|-------------------|
| **Project** | Always create in `01_Projects/` root |
| **Area** | Always create in `02_Areas/` root |
| **Resource** | Suggest existing subfolders if they match title |
## Resource Subfolder Matching
Only for Resources - if user has existing subfolders:
1. List subfolders in `03_Resources/` using `mcp__MCP_DOCKER__obsidian_list_files_in_dir`
2. If subfolders exist, check if title contextually matches any
3. **If match** → Ask user with `AskUserQuestion`:
- Matching subfolder(s)
- Root folder option
4. **If no match or no subfolders** → Create in root silently
**Never offer "create new folder"** - structure should emerge from repeated use.
### Matching Examples
| Title | Existing Subfolders | Action |
|-------|---------------------|--------|
| "React Best Practices" | Technical/, Work/ | Ask: Technical/ or root? |
| "Docker Tutorial" | Technical/, Work/ | Ask: Technical/ or root? |
| "Fishing Trip Guide" | Technical/, Work/ | Create in root (no match) |
| "TypeScript Patterns" | (none) | Create in root |
## Argument Parsing
Use positional arguments: `$1` (title), `$2`, `$3` for optional fields.
- If arg provided → use it
- If arg missing → ask with `AskUserQuestion`
## Output Format
```
✅ Created: [[Title]]
📁 Location: [folder]/[filename].md
📋 Type: [project|area|resource]
```
## MCP Tools
- `mcp__MCP_DOCKER__obsidian_list_files_in_dir` - Check subfolders (Resources only)
- `mcp__MCP_DOCKER__obsidian_append_content` - Create note

View File

@@ -0,0 +1,106 @@
# File Naming Convention
Standard for all para-brain note creation.
## Convention: Title Case with Spaces
**Format**: `Title Case with Spaces.md`
### Rules
1. **Use spaces** - Not underscores, not hyphens
2. **Title Case** - Capitalize first letter of each significant word
3. **No special characters** - Avoid `/ \ : * ? " < > |`
4. **Dates in ISO format** - Use `YYYY-MM-DD` when dates are part of title
5. **Numbers are fine** - `2025 Tassie Holiday.md`
### Examples
| User Input | Filename |
|------------|----------|
| "tassie holiday 2025" | `Tassie Holiday 2025.md` |
| "react best practices" | `React Best Practices.md` |
| "learn piano" | `Learn Piano.md` |
| "Q1 2025 goals" | `Q1 2025 Goals.md` |
| "nathan's birthday" | `Nathans Birthday.md` |
### Title Case Rules
- Capitalize: First word, nouns, verbs, adjectives, adverbs
- Lowercase: Articles (a, an, the), prepositions (in, on, at), conjunctions (and, but, or)
- Exception: Always capitalize first and last word
### Why This Convention
1. **Most readable** - Natural language, easy to scan
2. **Obsidian-friendly** - Handles spaces perfectly in wikilinks `[[Title Case]]`
3. **No cognitive load** - Write titles naturally
4. **Consistent** - Same format across all note types
5. **Unique names prevent conflicts** - Descriptive names avoid wikilink resolution issues
### Conversion Function (Pseudocode)
```
function toTitleCaseFilename(input):
1. Trim whitespace
2. Remove special characters: / \ : * ? " < > |
3. Replace apostrophes with nothing (nathan's → nathans)
4. Convert to Title Case
5. Append .md
return filename
```
### What NOT to Do
| Wrong | Right |
|-------|-------|
| `tassie_holiday_2025.md` | `Tassie Holiday 2025.md` |
| `tassie-holiday-2025.md` | `Tassie Holiday 2025.md` |
| `TASSIE HOLIDAY 2025.md` | `Tassie Holiday 2025.md` |
| `tassie holiday 2025.md` | `Tassie Holiday 2025.md` |
---
## Critical: Avoid Duplicate Filenames
### Why This Matters
Obsidian wikilinks `[[Note Name]]` search **the entire vault** by filename. If two files have the same name in different folders, wikilinks will resolve to the wrong file.
### Generic Names to Avoid
**Never use these generic names:**
- `Overview.md`
- `README.md`
- `Index.md`
- `Notes.md`
- `Project.md`
- `Ideas.md`
**Instead, use descriptive, specific names:**
- `2025 Tasmania Holiday.md` (not `Overview.md`)
- `React Best Practices.md` (not `Notes.md`)
- `Levi School Term 1.md` (not `Project.md`)
### Example: Project Overview Files
```
❌ BAD - Causes wikilink conflicts:
/01_Projects/Tassie Holiday/Overview.md
/01_Projects/Home Renovation/Overview.md
/01_Projects/Learn Piano/Overview.md
✅ GOOD - Unique, descriptive names:
/01_Projects/2025 Tassie Holiday/2025 Tasmania Holiday.md
/01_Projects/Home Renovation/Home Renovation Project.md
/01_Projects/Learn Piano/Learn Piano Journey.md
```
### Rule of Thumb
**Include the project/area name in the filename:**
- Project folder: `My Project/`
- Main note: `My Project.md` or `My Project Overview.md`
- Never just: `Overview.md`
This ensures wikilinks `[[My Project]]` work correctly across your entire vault.

View File

@@ -0,0 +1,138 @@
# Note Validation
Validates frontmatter against PARA schemas. Call this when reading a note to detect outdated formats.
## Schemas by Type
### Project Schema (Required Fields)
```yaml
title: string # Required
created: date # Required
type: project # Required
status: string # Required: active, on-hold, completed, archived
start_date: date # Required
target_completion: date # Required
area: "[[Link]]" # Required
reviewed: date # Required
review_period: string # Optional, default 7d
tags: [project] # Required
```
### Area Schema (Required Fields)
```yaml
title: string # Required
created: date # Required
type: area # Required
status: string # Required: active
reviewed: date # Required
review_period: string # Optional, default 14d
tags: [area] # Required
```
### Resource Schema (Required Fields)
```yaml
title: string # Required
created: date # Required
type: resource # Required
source: string # Required: book, article, video, course, podcast, paper, web
areas: ["[[Link]]"] # Required - array of area links (NEW)
reviewed: date # Required (NEW)
tags: [resource] # Required
```
### Task Schema (Required Fields)
```yaml
title: string # Required
created: date # Required
type: task # Required
task_type: string # Required: task, reminder, habit, chore
status: string # Required: not-started, in-progress, blocked, done, cancelled
priority: string # Required: low, medium, high, urgent
effort: string # Required: small, medium, large
reviewed: date # Required
tags: [task] # Required
```
## Validation Function
When a command reads a note:
1. **Check `type:` field exists** - If missing, note is unformatted
2. **Look up schema for that type**
3. **Compare frontmatter to schema**
4. **Return missing/outdated fields**
## Validation Response Format
```markdown
### Note Validation: [[Note Title]]
**Type**: resource
**Status**: ⚠️ Needs update
**Missing fields**:
- `areas` - Required array of linked areas
- `reviewed` - Last review date
**Would you like to update this note?**
```
## Update Prompt
When validation finds issues, offer to fix:
```markdown
I can add the missing fields:
- `areas`: Which area(s) does this relate to?
- `reviewed`: I'll set to today's date
Update now? (y/n)
```
## How Commands Use This
```markdown
### In search.md, process.md, review.md:
After reading a note with `obsidian_get_file_contents`:
1. Parse frontmatter
2. Check against schema (see above)
3. If missing required fields:
- Show validation warning
- Ask if user wants to update
4. If user says yes:
- Prompt for missing values
- Use `obsidian_patch_content` to update frontmatter
5. Continue with original command purpose
```
## Common Migration Patterns
### Old Resource → New Resource
**Missing**: `areas`, `reviewed`
**Fix**:
1. Ask "Which area(s) does this resource relate to?"
2. Set `reviewed: [today]`
3. Patch frontmatter
### Unformatted Note → Typed Note
**Missing**: Everything
**Fix**:
1. Ask "What type is this? (project/area/resource/task)"
2. Apply appropriate template schema
3. Prompt for required fields by type
## Token Efficiency
- Only validate when note is already being read
- Don't re-validate if `reviewed` date is recent (< 7 days)
- Batch field prompts into single question when possible

23
commands/capture.md Normal file
View File

@@ -0,0 +1,23 @@
---
description: $ARGUMENTS - Quick capture to Obsidian inbox with PARA-compliant frontmatter
allowed-tools: Read, mcp__MCP_DOCKER__obsidian_append_content
---
# Quick Capture to Second Brain
Capture a new item to `00_Inbox/` using the template at [templates/capture.md](../templates/capture.md).
## Input
The user's capture: **$ARGUMENTS**
## Process
1. **Determine resonance** - Why is this worth saving?
- inspiring, useful, personal, or surprising
2. **Assess urgency** - high (24h), medium (few days), low (no pressure)
3. **Generate title** → Convert to Title Case (see `_shared/naming-convention.md`)
4. **Read template** at `templates/capture.md`
5. **Replace Templater prompts** with: title, $ARGUMENTS content, resonance, urgency
6. **Create file** in `00_Inbox/[Title].md` using `obsidian_append_content`
7. **Confirm**: "Captured to inbox: [[Title]] - Process within 48h with /para:process"

31
commands/create-area.md Normal file
View File

@@ -0,0 +1,31 @@
---
description: Create a new PARA area note for ongoing responsibilities
argument-hint: [title]
allowed-tools: Read, mcp__MCP_DOCKER__obsidian_list_files_in_dir, mcp__MCP_DOCKER__obsidian_append_content, AskUserQuestion
---
# Create Area Note
Create an area in `02_Areas/` using the template at [templates/area.md](../templates/area.md).
Areas are **ongoing responsibilities** with **no end date**.
## Arguments
- `$1` - Title (required)
**Examples:**
```
/para:create-area "Health & Fitness"
/para:create-area "Career Development"
/para:create-area "Melanie & Relationship"
```
## Process
1. **Parse title** → Convert to Title Case (see `_shared/naming-convention.md`)
2. **Read template** at `templates/area.md`
3. **Replace Templater prompts** with parsed values
4. **Create file** in `02_Areas/[Title].md` using `obsidian_append_content`
5. **Confirm** with location
6. **Suggest**: "Would you like to create a project within this area?"

View File

@@ -0,0 +1,36 @@
---
description: Create a new PARA project note with deadline and area
argument-hint: [title] [target-date?] [area?]
allowed-tools: Read, mcp__MCP_DOCKER__obsidian_list_files_in_dir, mcp__MCP_DOCKER__obsidian_append_content, AskUserQuestion
---
# Create Project Note
Create a project in `01_Projects/` using the template at [templates/project.md](../templates/project.md).
Projects have **end dates** and can be **finished**.
## Arguments
- `$1` - Title (required)
- `$2` - Target completion date (optional, ask if missing)
- `$3` - Related area (optional, ask if missing)
**Examples:**
```
/para:create-project "2025 Tassie Holiday" 2025-12-20 Travel
/para:create-project "Website Redesign" 2025-03-01
/para:create-project "Learn Piano"
```
## Process
1. **Parse arguments** - Title (→ Title Case), target date, area
2. **If target date missing** → Ask with options: "1 week", "1 month", "3 months", "Custom"
3. **If area missing** → List existing areas from `02_Areas/`, include "None / Create new"
4. **Read template** at `templates/project.md`
5. **Replace Templater prompts** with parsed values
6. **Create file** in `01_Projects/[Title].md` using `obsidian_append_content`
7. **Confirm** with location and suggest first action
**Naming**: See `_shared/naming-convention.md` for Title Case rules

View File

@@ -0,0 +1,51 @@
---
description: Create a new PARA resource note for reference material
argument-hint: [title] [source-type?]
allowed-tools: Read, mcp__MCP_DOCKER__obsidian_list_files_in_dir, mcp__MCP_DOCKER__obsidian_append_content, AskUserQuestion
---
# Create Resource Note
Create a resource in `03_Resources/` using the template at [templates/resource.md](../templates/resource.md).
Resources are **reference material** and **topics of interest**.
## Arguments
- `$1` - Title (required)
- `$2` - Source type (optional): book, article, video, course, podcast, paper, web
**Examples:**
```
/para:create-resource "TypeScript Best Practices" article
/para:create-resource "Deep Work by Cal Newport" book
/para:create-resource "NetworkChuck Docker Tutorial" video
```
## Process
1. **Parse arguments** - Title (→ Title Case), source type
2. **If source type missing** → Ask with options: book, article, video, course, podcast, paper, web
3. **Based on type, ask follow-ups**:
- book/article/paper → "Who's the author?"
- video/course/podcast/web → "What's the URL?" (optional)
4. **Ask for areas** (required):
- List existing areas from `02_Areas/` using `obsidian_list_files_in_dir`
- Ask "Which area(s) does this relate to?" with multi-select
- Resources MUST link to at least one area
- Can link to multiple areas (array in frontmatter)
5. **Smart subfolder check**: List `03_Resources/` subfolders, offer if match exists, else use root
6. **Read template** at `templates/resource.md`
7. **Replace Templater prompts** with parsed values, including `areas:` array
8. **Create file** using `obsidian_append_content`
9. **Suggest**: "Ready to capture key insights with Progressive Summarization?"
## Frontmatter Format
```yaml
areas:
- "[[Primary Area]]"
- "[[Secondary Area]]" # if multiple selected
```
**Naming**: See `_shared/naming-convention.md` for Title Case rules

140
commands/process.md Normal file
View File

@@ -0,0 +1,140 @@
---
description: Process inbox items using PARA decision tree - moves notes to correct folders
allowed-tools: mcp__MCP_DOCKER__obsidian_list_files_in_dir, mcp__MCP_DOCKER__obsidian_get_file_contents, mcp__MCP_DOCKER__obsidian_patch_content, mcp__MCP_DOCKER__obsidian_delete_file, mcp__MCP_DOCKER__obsidian_append_content, AskUserQuestion
---
# Process Inbox Items
You guide the user through processing their Obsidian inbox using the PARA method.
## Process
### 1. List Inbox Items
Use MCP to get inbox contents:
```
mcp__MCP_DOCKER__obsidian_list_files_in_dir
dirpath: 00_Inbox
```
### 2. For Each Item, Apply PARA Decision Tree
Present each item and ask:
```markdown
## Processing: [[Item Title]]
**Created**: [date]
**Resonance**: [type]
**Content preview**: [first 100 chars]
### PARA Decision:
1. **Is it actionable with an END DATE/GOAL?**
→ Move to `01_Projects/`
2. **Is it an ongoing responsibility with NO end date?**
→ Move to `02_Areas/`
3. **Is it reference material or an interest?**
→ Move to `03_Resources/`
4. **Is it done or no longer relevant?**
→ Move to `04_Archive/` or delete
Which destination? (1-4, or 'd' to delete)
```
### 3. On User Selection
**For Projects (1)**:
- Ask for target_completion date
- Ask which area it relates to
- Update frontmatter:
```yaml
type: project
status: active
start_date: [today]
target_completion: [user input]
area: "[[Area Name]]"
tags: [project]
```
- Move to `01_Projects/`
**For Areas (2)**:
- Update frontmatter:
```yaml
type: area
status: active
tags: [area]
```
- Move to `02_Areas/`
**For Resources (3)**:
- Ask for source type (book, article, video, etc.)
- Update frontmatter:
```yaml
type: resource
source: [user input]
tags: [resource]
```
- Move to `03_Resources/`
**For Archive (4)**:
- Add archived date
- Move to `04_Archive/[year]/`
**For Delete (d)**:
- Confirm deletion
- Delete the note
### 4. Summary
After processing all items:
```markdown
## Inbox Processing Complete
- **Processed**: X items
- **To Projects**: X
- **To Areas**: X
- **To Resources**: X
- **Archived**: X
- **Deleted**: X
Inbox is now empty. Great work!
Next: Run `/para:review` for your weekly review.
```
## Tips
- Process inbox at least every 48 hours
- When in doubt, put in Resources
- It's okay to delete things that no longer resonate
- Link new notes to existing notes when relevant
---
## Lazy Migration: Validate on Process
When moving a note to its destination, ensure it matches the current schema.
**See**: [_shared/validate-note.md](_shared/validate-note.md) for schemas.
### After PARA Decision
When updating frontmatter for the destination folder, always include ALL required fields for that type:
**For Resources (3)**:
```yaml
type: resource
source: [user input]
areas: # REQUIRED - prompt user
- "[[Primary Area]]"
reviewed: [today] # Set automatically
tags: [resource]
```
This ensures notes are created/moved with complete, current schemas.

198
commands/review.md Normal file
View File

@@ -0,0 +1,198 @@
---
description: Guided weekly review of your Second Brain using PARA method
allowed-tools: mcp__MCP_DOCKER__obsidian_list_files_in_dir, mcp__MCP_DOCKER__obsidian_get_file_contents, mcp__MCP_DOCKER__obsidian_get_recent_changes, mcp__MCP_DOCKER__obsidian_get_periodic_note, mcp__MCP_DOCKER__obsidian_simple_search, mcp__MCP_DOCKER__obsidian_patch_content, AskUserQuestion
---
# Weekly Review
You guide the user through a comprehensive weekly review of their Second Brain.
## Review Process
### Phase 1: Clear the Inbox
```markdown
## Phase 1: Clear the Inbox
Let's start by processing any unprocessed items.
```
Check inbox:
```
mcp__MCP_DOCKER__obsidian_list_files_in_dir
dirpath: 00_Inbox
```
If items exist:
- Run the processing workflow for each
- Goal: Empty inbox
If empty:
- "Inbox is clear. Moving to Phase 2."
---
### Phase 2: Review Active Projects
```markdown
## Phase 2: Review Active Projects
Let's check on your active projects.
```
List projects:
```
mcp__MCP_DOCKER__obsidian_list_files_in_dir
dirpath: 01_Projects
```
For each project, present:
```markdown
### [[Project Name]]
**Status**: [status]
**Target Completion**: [date]
**Area**: [[area]]
Questions:
1. Is this still active? (y/n/archive)
2. Is it on track for the deadline?
3. What's the next action?
[Update status if needed]
```
Check for:
- **Overdue projects** (target_completion passed)
- **Stale projects** (no updates in 2+ weeks)
- **Completed projects** (should be archived)
---
### Phase 3: Review Areas
```markdown
## Phase 3: Review Areas of Responsibility
Are you maintaining your key life areas?
```
List areas:
```
mcp__MCP_DOCKER__obsidian_list_files_in_dir
dirpath: 02_Areas
```
For each area:
```markdown
### [[Area Name]]
Questions:
1. Have you given this area attention this week?
2. Are there any urgent issues?
3. Should you create a new project for this area?
```
---
### Phase 4: Check Upcoming Deadlines
```markdown
## Phase 4: Upcoming Deadlines
Projects with deadlines in the next 2 weeks:
```
Search for target_completion dates and highlight:
- **This week**: Urgent attention needed
- **Next week**: Plan time for these
- **Overdue**: Address immediately or adjust deadline
---
### Phase 5: Express & Create
```markdown
## Phase 5: Express - What Can You Create?
Review your captured knowledge:
- Any patterns emerging across notes?
- Topics you've collected a lot about?
- Ideas ready to become projects?
Potential outputs:
- [ ] Blog post about [topic]
- [ ] Decision on [issue]
- [ ] Project plan for [idea]
```
---
### Phase 6: Summary
```markdown
## Weekly Review Complete
### Statistics
- **Inbox processed**: X items
- **Active projects**: X
- **Projects completed this week**: X
- **Areas reviewed**: X
### Key Takeaways
1. [Most important insight]
2. [Action needed]
3. [Celebration/win]
### Next Week Focus
- [ ] Top priority 1
- [ ] Top priority 2
- [ ] Top priority 3
---
Great work! Your Second Brain is up to date.
Next review: [date + 7 days]
```
## Best Practices
- Schedule weekly review at the same time each week
- Allow 30-60 minutes for thorough review
- Don't skip the "Express" phase - creation is the goal
- Celebrate completed projects!
- Be ruthless about archiving stale items
---
## Lazy Migration: Validate During Review
The weekly review is an ideal time to update outdated note schemas.
**See**: [_shared/validate-note.md](_shared/validate-note.md) for schemas.
### During Each Phase
When reading projects, areas, or resources, check frontmatter against current schema:
1. **Missing `reviewed` field?** → Add it, set to today
2. **Resource missing `areas`?** → Prompt user to add
3. **Project missing `review_period`?** → Add default (7d)
### Batch Update Option
At end of Phase 2 (Projects) and Phase 3 (Areas), offer:
```markdown
### Schema Updates Available
Found X notes with outdated schemas:
- [[Resource 1]] - missing `areas`
- [[Resource 2]] - missing `areas`, `reviewed`
- [[Project 1]] - missing `reviewed`
**Update all now?** I'll prompt for any required input.
```
This lets user fix multiple notes efficiently during their natural review workflow.

161
commands/search.md Normal file
View File

@@ -0,0 +1,161 @@
---
description: $ARGUMENTS - Search Obsidian vault with PARA-aware context
allowed-tools: mcp__MCP_DOCKER__obsidian_simple_search, mcp__MCP_DOCKER__obsidian_complex_search, mcp__MCP_DOCKER__obsidian_get_file_contents, mcp__MCP_DOCKER__obsidian_list_files_in_dir, mcp__MCP_DOCKER__obsidian_patch_content, AskUserQuestion
---
# Search Second Brain
You search the user's Obsidian vault with PARA-aware context.
## Input
Search query: **$ARGUMENTS**
## Search Strategy
### 1. Parse Query Intent
Determine search type:
- **By content**: General text search
- **By type**: "projects about X", "resources for Y"
- **By status**: "active projects", "inbox items"
- **By area**: "everything related to [area]"
- **By date**: "created this week", "due soon"
### 2. Execute Search
**Content Search**:
```
mcp__MCP_DOCKER__obsidian_simple_search
query: [search terms]
context_length: 150
```
**Folder-Specific Search**:
```
mcp__MCP_DOCKER__obsidian_list_files_in_dir
dirpath: [01_Projects|02_Areas|03_Resources|04_Archive]
```
Then filter/search within results.
**Complex Search (JsonLogic)**:
```
mcp__MCP_DOCKER__obsidian_complex_search
query: {"and": [
{"glob": ["01_Projects/**/*.md", {"var": "path"}]},
{"in": ["active", {"var": "content"}]}
]}
```
### 3. Present Results
```markdown
## Search Results: "[query]"
Found X results across your vault:
### Projects (X)
- [[Project 1]] - [brief context]
- [[Project 2]] - [brief context]
### Areas (X)
- [[Area 1]] - [brief context]
### Resources (X)
- [[Resource 1]] - [brief context]
### Archive (X)
- [[Archived Item]] - [brief context]
---
**Refine search?**
- `/para:search [query] in:projects` - Search only projects
- `/para:search [query] status:active` - Only active items
- `/para:search [query] area:[[Area Name]]` - By area
```
## Search Modifiers
| Modifier | Example | Description |
|----------|---------|-------------|
| `in:projects` | `meeting in:projects` | Search only 01_Projects/ |
| `in:areas` | `health in:areas` | Search only 02_Areas/ |
| `in:resources` | `typescript in:resources` | Search only 03_Resources/ |
| `in:inbox` | `urgent in:inbox` | Search only 00_Inbox/ |
| `status:active` | `api status:active` | Only active items |
| `status:completed` | `auth status:completed` | Only completed items |
| `area:[[X]]` | `task area:[[Work]]` | Items linked to area |
| `created:today` | `notes created:today` | Created today |
| `created:week` | `ideas created:week` | Created this week |
## Common Searches
**Find all active projects**:
```
/para:search status:active in:projects
```
**Find resources about a topic**:
```
/para:search typescript in:resources
```
**Find items in an area**:
```
/para:search area:[[Health & Fitness]]
```
**Find inbox items needing processing**:
```
/para:search in:inbox
```
**Find recently created notes**:
```
/para:search created:week
```
## No Results?
If search returns nothing:
1. Suggest alternative search terms
2. Check if content might be in a different PARA category
3. Offer to create a new note with this topic
---
## Lazy Migration: Validate Notes on Read
When user selects a note to view details, validate its frontmatter.
**See**: [_shared/validate-note.md](_shared/validate-note.md) for schemas.
### After Reading a Note
1. Parse frontmatter and check `type:` field
2. Compare against schema for that type
3. If missing required fields, show:
```markdown
### ⚠️ Note needs update
**[[Note Title]]** is missing required fields:
- `areas` - Which area(s) does this relate to?
- `reviewed` - Last review date
**Update now?** This takes 10 seconds.
```
4. If user agrees:
- Use `AskUserQuestion` to gather missing values
- Use `obsidian_patch_content` to update frontmatter
- Confirm update complete
5. Continue with original search results
### Skip Validation If
- Note was reviewed in last 7 days (`reviewed` field is recent)
- User previously declined to update this note in session

78
commands/task-quick.md Normal file
View File

@@ -0,0 +1,78 @@
---
description: "[title] [project-or-area]" - Quick checkbox in Next Actions section
argument-hint: [title] [project-or-area]
allowed-tools: mcp__MCP_DOCKER__obsidian_get_file_contents, mcp__MCP_DOCKER__obsidian_patch_content, mcp__MCP_DOCKER__obsidian_list_files_in_dir
---
# Quick Task (Checkbox)
Add a task checkbox to a project or area's `## Next Actions` section. No separate file created.
**Use when**: Quick capture, simple tasks that don't need rich metadata.
**Use `/para:task` instead when**: You need due dates, priorities, dependencies, or Dataview queries.
## Arguments
- `$1` - Task title (required)
- `$2` - Project or area name (required)
**Examples:**
```
/para:task-quick "Book flights" "2025 Tassie Holiday"
/para:task-quick "Setup SDK wrapper" "Firecrawl Plugin Optimization"
/para:task-quick "Schedule dentist" "Health"
```
## Process
### 1. Parse Arguments
- `$1` = Task title
- `$2` = Project or area name
If either missing, ask the user.
### 2. Find the Note
Check both locations:
1. `01_Projects/$2.md` or `01_Projects/$2/$2.md`
2. `02_Areas/$2.md` or `02_Areas/$2/$2.md`
If not found, list available projects/areas and ask.
### 3. Append Checkbox
Use `mcp__MCP_DOCKER__obsidian_patch_content`:
```yaml
filepath: [found path]
operation: append
target_type: heading
target: "Next Actions"
content: "\n- [ ] $1"
```
**If `## Next Actions` doesn't exist**, append to end of file:
```markdown
## Next Actions
- [ ] $1
```
### 4. Confirm
```
Added to [[Project/Area]]:
- [ ] Task title
```
## When to Use Which
| Scenario | Command |
|----------|---------|
| Quick reminder, simple task | `/para:task-quick` |
| Need due date, priority | `/para:task` |
| Want to query with Dataview | `/para:task` |
| Just jotting something down | `/para:task-quick` |

35
commands/task.md Normal file
View File

@@ -0,0 +1,35 @@
---
description: "[title] [--project name] [--area name] [--type] [--due] [--priority]" - Create task file in Tasks folder
argument-hint: [title] [--project name] [--area name]
allowed-tools: Read, mcp__MCP_DOCKER__obsidian_append_content, mcp__MCP_DOCKER__obsidian_list_files_in_dir, AskUserQuestion
---
# Create Task
Create a task file in `07_Tasks/` using the template at [templates/task.md](../templates/task.md).
## Arguments
- `$1` - Task title (required)
- `--project` - Link to project (optional)
- `--area` - Link to area (optional)
- `--type` - task, reminder, habit, chore (default: task)
- `--due` - Due date YYYY-MM-DD (optional)
- `--priority` - low, medium, high, urgent (default: medium)
**Examples:**
```
/para:task "Setup SDK wrapper" --project "Firecrawl Plugin Optimization"
/para:task "Take vitamins" --area "Health" --type habit
/para:task "Book flights" --project "2025 Tassie Holiday" --due 2025-01-15 --priority high
```
## Process
1. **Parse arguments** - Extract title, project, area, type, due, priority
2. **If title missing** → Ask user
3. **If no project/area** → List options from `01_Projects/` and `02_Areas/`, or "Standalone"
4. **Read template** at `templates/task.md`
5. **Replace Templater prompts** (`<% tp.system.prompt(...) %>`) with parsed values
6. **Create file** in `07_Tasks/[Title].md` using `obsidian_append_content`
7. **Confirm** with location and linked project/area

129
plugin.lock.json Normal file
View File

@@ -0,0 +1,129 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:nathanvale/side-quest-marketplace:plugins/para-brain",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "facbde5402c56576f2c6c5d2be6f74ff664caad3",
"treeHash": "606e73cef5e3f032acac2771158b275ddcfb181a1c56e8ae50fcb9849fb3752a",
"generatedAt": "2025-11-28T10:27:15.251369Z",
"toolVersion": "publish_plugins.py@0.2.0"
},
"origin": {
"remote": "git@github.com:zhongweili/42plugin-data.git",
"branch": "master",
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
},
"manifest": {
"name": "para-brain",
"description": "Ultimate PARA method and Building a Second Brain plugin for Obsidian. Includes CODE methodology (Capture, Organize, Distill, Express), Progressive Summarization, and complete note management workflows with MCP Obsidian integration.",
"version": "1.0.0"
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "4177db0f9caca66a637d31d205b93333930e205cb8c7b2f0767daf5fd140cf87"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "9ffcaeb787167d3555b34fc46e48c44c89e241fc50f12396274fb4f557171d5b"
},
{
"path": "commands/process.md",
"sha256": "95b998d6f46ef4990c24a67f1a1e6918fe0e9a965fbb50eeb9985d838e99c308"
},
{
"path": "commands/search.md",
"sha256": "7ce418b2918e2c77d044c198af70831c9f8cca7f4ea6faecad8b095214dc4390"
},
{
"path": "commands/create-area.md",
"sha256": "82876039ad0bfbb68ec9890e77d5a262896c15ba9259f79eb74d5dba6d91974d"
},
{
"path": "commands/capture.md",
"sha256": "8d860b9140d823295e39c4ca8690e3a592592421406e6ad77e187289de2dcb46"
},
{
"path": "commands/create-project.md",
"sha256": "2fffc917345d1ddb2e5c939d7e226fd744c1b020ebae5e550b2a15172843a979"
},
{
"path": "commands/task-quick.md",
"sha256": "f2a55ce17fbbc97febc407459acc1327684e2f697c7618302dd8a5d670bfb931"
},
{
"path": "commands/create-resource.md",
"sha256": "0a5dad3b4ea703597a94bbe9955190ac4f37260be6960ec92be7d5b4a3fcea88"
},
{
"path": "commands/task.md",
"sha256": "18d0581a42561755a0cac1ff782911fcac2c53d7015b60b7ba574a385e9f6513"
},
{
"path": "commands/review.md",
"sha256": "481952be4bb9699824d594ffb8d1289866737604aa3733ab60e914fe0ae48fa4"
},
{
"path": "commands/_shared/validate-note.md",
"sha256": "3dc7a30d2078c4433dab212559477920483e336ee0c3df862b2499db26595e52"
},
{
"path": "commands/_shared/naming-convention.md",
"sha256": "4b457e94bff9e43c0732b209e9ab01b78607ee75c69fa71d3a0b14b9ea3c769e"
},
{
"path": "commands/_shared/create-workflow.md",
"sha256": "aa3cbd7dd730157a66c4e3068549e76989036dc260a19715fcca74cf053ed5f7"
},
{
"path": "skills/second-brain/SKILL.md",
"sha256": "4d8b8363f4f46912570993973d0faedd6fd50d74e694831c01cc10b325b129e0"
},
{
"path": "skills/second-brain/reference/dataview-patterns.md",
"sha256": "ee9f793421757becec24e2e1d9d45a9a69d568200caa359e55a1d642145549e1"
},
{
"path": "skills/second-brain/reference/gtd-task-management.md",
"sha256": "bac40b6d77a2b4e7a226923d1cf8c10cbb2f1594e617f86597767a061f9234c3"
},
{
"path": "skills/second-brain/reference/para-method.md",
"sha256": "9282eeda5b6f1f4d9808e3213ad57149f63b6df755dc59ab104c456b1025511b"
},
{
"path": "skills/second-brain/reference/youtube-insights.md",
"sha256": "cbd98b4efd37e847296357d95c0cd6f165812acaa2c6583928e09c2151793cf3"
},
{
"path": "skills/second-brain/reference/code-method.md",
"sha256": "0bf2a227858e5057a2fc4e6bc3e20c7340181e824d34193fe7fe9b1ec154e7e6"
},
{
"path": "skills/second-brain/reference/templater-templates.md",
"sha256": "8ff3de5d205d5ea3105f3d690112d3f50de5e72dd744c8aba8a60571eeecc101"
},
{
"path": "skills/second-brain/reference/feynman-12-problems.md",
"sha256": "28ac66d995e9077a5a8faa4affc2ad42b35f66d8649183b2c03b271dc8172acd"
},
{
"path": "skills/second-brain/reference/obsidian-best-practices.md",
"sha256": "5c7c302542e6c1d1a1b0feef6a095efa506301b9aa4df5b7c81aaa92435b8beb"
},
{
"path": "skills/second-brain/reference/progressive-summarization.md",
"sha256": "340b4789a1aa7435890da21bd72918dffff34fabecfb27969c34f896bc736f41"
}
],
"dirSha256": "606e73cef5e3f032acac2771158b275ddcfb181a1c56e8ae50fcb9849fb3752a"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}

View File

@@ -0,0 +1,56 @@
---
name: second-brain
description: |
PARA method, GTD, and Building a Second Brain expert for Obsidian. Use when users mention:
"para", "second brain", "obsidian", "capture", "organize", "distill", "code method",
"inbox", "projects", "areas", "resources", "pkm", "tiago forte", "weekly review",
"gtd", "getting things done", "dataview", "task management", "review"
allowed-tools: Read, Glob, Grep, mcp__MCP_DOCKER__obsidian_list_files_in_vault, mcp__MCP_DOCKER__obsidian_list_files_in_dir, mcp__MCP_DOCKER__obsidian_get_file_contents, mcp__MCP_DOCKER__obsidian_batch_get_file_contents, mcp__MCP_DOCKER__obsidian_append_content, mcp__MCP_DOCKER__obsidian_patch_content, mcp__MCP_DOCKER__obsidian_simple_search, mcp__MCP_DOCKER__obsidian_complex_search, mcp__MCP_DOCKER__obsidian_get_periodic_note, mcp__MCP_DOCKER__obsidian_get_recent_changes, mcp__MCP_DOCKER__obsidian_get_recent_periodic_notes, AskUserQuestion
---
# Second Brain Expert - PARA + CODE Method
Guide users on building and maintaining a Second Brain using PARA for organization and CODE for workflow. Integrates with Obsidian via MCP tools.
## Quick Reference
| Method | Purpose | Reference |
|--------|---------|-----------|
| PARA | Organization by actionability | [para-method.md](reference/para-method.md) |
| CODE | Capture → Organize → Distill → Express | [code-method.md](reference/code-method.md) |
| GTD + PARA | Task management, reviews, daily workflow | [gtd-task-management.md](reference/gtd-task-management.md) |
| Dataview Patterns | Advanced queries for PARA | [dataview-patterns.md](reference/dataview-patterns.md) |
| Templater Templates | 11 PARA templates with Templater syntax | [templater-templates.md](reference/templater-templates.md) |
| Progressive Summarization | Distill notes in layers | [progressive-summarization.md](reference/progressive-summarization.md) |
| Obsidian Best Practices | Vault structure, linking, frontmatter | [obsidian-best-practices.md](reference/obsidian-best-practices.md) |
| Feynman 12 Problems | Filter information through open questions | [feynman-12-problems.md](reference/feynman-12-problems.md) |
| YouTube Insights | Community wisdom from PARA/BASB creators | [youtube-insights.md](reference/youtube-insights.md) |
## MCP Obsidian Tools
Tools prefixed `mcp__MCP_DOCKER__obsidian_`:
- `list_files_in_vault` / `list_files_in_dir` - Browse vault
- `get_file_contents` / `batch_get_file_contents` - Read notes
- `append_content` / `patch_content` - Modify notes
- `simple_search` / `complex_search` - Find notes
- `get_periodic_note` / `get_recent_changes` - Daily notes & recent edits
## Common Workflows
### Quick Capture
Create note in `00_Inbox/` with capture template, add resonance tag, process within 48h.
### Process Inbox
Ask: Is it actionable with end date? → Project. Ongoing? → Area. Reference? → Resource. Done? → Archive.
### Weekly Review
Process inbox → Update projects → Archive completed → Check deadlines → Distill touched notes → Express outputs.
For detailed workflows, see [code-method.md](reference/code-method.md).
## Response Style
- **Direct** - Solve immediate problem first
- **PARA-aware** - Consider correct folder placement
- **Template-focused** - Use proper frontmatter
- **Actionable** - Provide specific next steps

View File

@@ -0,0 +1,226 @@
# CODE Method Reference
> Source: Building a Second Brain by Tiago Forte
## Table of Contents
- [Overview](#overview)
- [1. CAPTURE: Keep What Resonates](#1-capture-keep-what-resonates)
- [2. ORGANIZE: Save for Actionability](#2-organize-save-for-actionability)
- [3. DISTILL: Find the Essence](#3-distill-find-the-essence)
- [4. EXPRESS: Show Your Work](#4-express-show-your-work)
- [The CODE Cycle](#the-code-cycle)
- [Weekly Review Integration](#weekly-review-integration)
---
## Overview
CODE is the four-step workflow for building and using a Second Brain:
```
Capture → Organize → Distill → Express
```
Each step builds on the previous, creating a cycle of knowledge capture and creation.
---
## 1. CAPTURE: Keep What Resonates
### The Principle
Don't try to capture everything. Capture what **resonates** with you emotionally or intellectually.
### What to Capture
- **Inspiring**: Uplifting quotes, stories, ideas that move you
- **Useful**: Templates, processes, mental models, how-tos
- **Personal**: Your experiences, reflections, lessons learned
- **Surprising**: Challenges assumptions, offers new perspectives
### Capture Sources
- Highlights from books/articles
- Voice memos and quick thoughts
- Images and screenshots
- Meeting notes
- Quotes from conversations
- Social media saves
- Email excerpts
### The 12 Favorite Problems Filter
Richard Feynman's technique: Maintain 12 open questions you care about.
When you encounter new information, ask: "Does this relate to one of my 12 problems?"
Example problems:
- How can I be more productive without burning out?
- What makes a great leader?
- How do I build lasting relationships?
### Capture Best Practices
- Capture liberally, curate ruthlessly later
- Don't over-organize during capture
- Use whatever tool is fastest in the moment
- Trust that you'll find it later
- Add minimal context (source, date)
---
## 2. ORGANIZE: Save for Actionability
### The Principle
Organize information based on **when you'll use it**, not what it's about.
### The PARA System
```
01_Projects/ → Active projects with deadlines
02_Areas/ → Ongoing responsibilities
03_Resources/ → Topics of interest
04_Archives/ → Completed or inactive items
```
### The Key Question
"In what project will this be most useful?"
### Organization Flow
```
New Item Arrives
Is it actionable with a deadline?
├── YES → Projects
└── NO → Is it an ongoing responsibility?
├── YES → Areas
└── NO → Is it useful reference?
├── YES → Resources
└── NO → Archive or Delete
```
### Organization Best Practices
- Process inbox within 48 hours
- Don't create categories that don't exist yet
- Move things between categories freely
- When in doubt, put in Resources
- Archive liberally - you can always retrieve
---
## 3. DISTILL: Find the Essence
### The Principle
Every time you touch a note, make it a little more useful for your future self.
### Progressive Summarization
Five layers of distillation:
#### Layer 0: Raw Capture
The original content, unprocessed.
#### Layer 1: Captured Notes
Initial highlights and excerpts you saved.
#### Layer 2: Bold Passages
**Bold** the most important 10-20% of your notes.
#### Layer 3: Highlighted Core
==Highlight== the top 10% of the bold passages.
#### Layer 4: Executive Summary
Write a brief summary in your own words at the top.
#### Layer 5: Remix
Transform into your own original content.
### When to Distill
- Don't distill everything upfront
- Distill when you encounter a note again
- Each touch adds value
- "Just-in-time" summarization
### Distillation Best Practices
- Highlight for your future self, not for completeness
- Ask: "What would make this useful in 6 months?"
- Use formatting consistently (bold, highlight, headers)
- Add your own thoughts and connections
- Don't over-distill - preserve enough context
---
## 4. EXPRESS: Show Your Work
### The Principle
The purpose of a Second Brain is not to collect, but to **create**.
### Types of Expression
- Blog posts and articles
- Presentations and talks
- Reports and proposals
- Creative projects
- Decisions and strategies
- Conversations and advice
### Intermediate Packets
Small, reusable pieces of work:
- Distilled notes
- Outlines and drafts
- Graphics and images
- Code snippets
- Checklists and templates
Benefits:
- Reduce activation energy to start
- Make progress visible
- Enable reuse across projects
- Allow collaboration
### The Archipelago of Ideas
Instead of starting with a blank page:
1. Gather relevant notes (islands)
2. Arrange them in rough order
3. Build bridges between them
4. Fill in the gaps
### Expression Best Practices
- Ship regularly, even if imperfect
- Reuse intermediate packets
- Link back to source notes
- Celebrate completions
- Archive finished projects (they're achievements!)
---
## The CODE Cycle
CODE is not linear - it's a cycle:
```
CAPTURE
ORGANIZE
DISTILL
EXPRESS
(feeds back to CAPTURE)
```
What you create (Express) generates new insights to Capture.
---
## Weekly Review Integration
The weekly review keeps CODE flowing:
1. **Clear inbox** (Capture → Organize)
2. **Review projects** (check progress)
3. **Distill recent notes** (add value)
4. **Plan expression** (what will you create?)
---
*Reference compiled from "Building a Second Brain" by Tiago Forte.*

View File

@@ -0,0 +1,439 @@
# Dataview Patterns for PARA
> Advanced Dataview queries for PARA-based task and project management
## Table of Contents
- [Core Concepts](#core-concepts)
- [Self-Referential Queries](#self-referential-queries)
- [Task Queries](#task-queries)
- [Project Queries](#project-queries)
- [Resource Queries](#resource-queries)
- [Review Tracking](#review-tracking)
- [Dashboard Queries](#dashboard-queries)
- [Common Patterns](#common-patterns)
- [Troubleshooting](#troubleshooting)
---
## Core Concepts
### Query Types
| Type | Purpose | Level |
|------|---------|-------|
| `LIST` | Bullet list of pages | Page |
| `TABLE` | Tabular data | Page |
| `TASK` | Interactive task list | Task |
| `CALENDAR` | Date-based calendar view | Page |
### Key Difference: Page vs Task Level
**Page-level queries** (LIST, TABLE, CALENDAR):
```dataview
TABLE status, priority
FROM "07_Tasks"
WHERE status != "done"
```
Returns *files* matching criteria.
**Task-level queries** (TASK):
```dataview
TASK
FROM "07_Tasks"
WHERE !completed
```
Returns *individual tasks* from files, can be checked off interactively.
---
## Self-Referential Queries
### The `this.file.link` Pattern
**Problem**: Hardcoded names break when files are renamed.
```dataview
-- BAD: Breaks if "My Project" is renamed
WHERE contains(project, "[[My Project]]")
```
**Solution**: Use `this.file.link` for robust self-references.
```dataview
-- GOOD: Works even after rename
WHERE contains(project, this.file.link)
```
### In Project Notes
Show all tasks linked to this project:
```dataview
TASK
FROM "07_Tasks"
WHERE contains(project, this.file.link) AND !completed
SORT priority DESC
```
### In Area Notes
Show all tasks linked to this area:
```dataview
TASK
FROM "07_Tasks"
WHERE contains(area, this.file.link) AND !completed
GROUP BY file.link
```
Show all projects in this area:
```dataview
TABLE status, target_completion as "Due"
FROM "01_Projects"
WHERE contains(area, this.file.link) AND status = "active"
SORT target_completion ASC
```
---
## Task Queries
### All Open Tasks
```dataview
TASK
FROM "07_Tasks"
WHERE !completed
SORT priority DESC
```
### Tasks Due This Week
```dataview
TASK
FROM "07_Tasks"
WHERE due_date <= date(today) + dur(7 days)
AND due_date >= date(today)
AND !completed
SORT due_date ASC
```
### Overdue Tasks
```dataview
TASK
FROM "07_Tasks"
WHERE due_date < date(today) AND !completed
SORT due_date ASC
```
### Tasks by Priority
```dataview
TASK
FROM "07_Tasks"
WHERE !completed AND priority = "urgent"
GROUP BY file.link
```
### Tasks Grouped by Project
```dataview
TASK
FROM "07_Tasks"
WHERE !completed
GROUP BY project
SORT rows.priority DESC
```
### High Priority Tasks (Priority >= 42)
Using numeric priority for fine-grained control:
```dataview
TASK
FROM "07_Tasks"
WHERE !completed AND priority >= 42
SORT priority DESC
LIMIT 10
```
---
## Project Queries
### Active Projects Dashboard
```dataview
TABLE
status,
target_completion as "Due",
area as "Area",
length(filter(file.tasks, (t) => !t.completed)) AS "Open Tasks"
FROM "01_Projects"
WHERE status = "active"
SORT target_completion ASC
```
### Projects Needing Review
Show projects not reviewed in the last 7 days:
```dataview
TABLE
status,
reviewed as "Last Review",
target_completion as "Due"
FROM "01_Projects"
WHERE status = "active"
AND (reviewed < date(today) - dur(7 days) OR !reviewed)
SORT reviewed ASC
```
### Projects by Area
```dataview
LIST
FROM "01_Projects"
WHERE status = "active"
GROUP BY area
```
### Stalled Projects
Projects with no tasks or all tasks completed:
```dataview
TABLE status, target_completion
FROM "01_Projects"
WHERE status = "active"
AND length(filter(file.tasks, (t) => !t.completed)) = 0
```
---
## Resource Queries
Resources use an `areas:` array field to link to one or more areas. This enables powerful cross-area queries.
### Resources in This Area
Place in an Area note to show all linked resources:
```dataview
TABLE source, author, reviewed as "Last Review"
FROM "03_Resources"
WHERE contains(areas, this.file.link)
SORT reviewed DESC
```
### All Resources by Area
```dataview
TABLE areas, source, author
FROM "03_Resources"
SORT file.name ASC
```
### Resources Needing Review
```dataview
TABLE
source,
areas,
reviewed as "Last Review"
FROM "03_Resources"
WHERE reviewed < date(today) - dur(30 days) OR !reviewed
SORT reviewed ASC
```
### Resources by Source Type
```dataview
TABLE author, areas
FROM "03_Resources"
WHERE source = "book"
SORT file.name ASC
```
### Recently Added Resources
```dataview
TABLE source, author, areas
FROM "03_Resources"
SORT created DESC
LIMIT 10
```
### Resources Spanning Multiple Areas
Find resources that relate to multiple areas:
```dataview
TABLE areas, source
FROM "03_Resources"
WHERE length(areas) > 1
```
---
## Review Tracking
### The Review Pattern
Add these fields to frontmatter:
```yaml
reviewed: 2025-01-15 # Last review date
review_period: 7d # How often to review (default: 7d)
```
### Projects Due for Review
```dataview
TABLE
reviewed as "Last Review",
(date(today) - reviewed).days + " days ago" as "Age"
FROM "01_Projects"
WHERE status = "active"
AND (
reviewed < (date(today) - dur(default(review_period, "7d")))
OR !reviewed
)
SORT reviewed ASC
```
### Tasks Due for Review
```dataview
TASK
FROM "07_Tasks"
WHERE !completed
AND (reviewed < date(today) - dur(7 days) OR !reviewed)
GROUP BY file.link
```
### Weekly Review Dashboard
Notes modified in last 14 days that haven't been reviewed:
```dataview
TABLE file.mtime as "Modified"
FROM ""
WHERE file.mtime > (date(now) - dur(14 days))
AND !reviewed
AND file.folder != "templates"
SORT file.mtime DESC
```
---
## Dashboard Queries
### Master Dashboard
**Urgent Tasks**
```dataview
TASK
FROM "07_Tasks"
WHERE !completed AND priority = "urgent"
LIMIT 5
```
**Due This Week**
```dataview
TABLE project, due_date, priority
FROM "07_Tasks"
WHERE !completed
AND due_date <= date(today) + dur(7 days)
SORT due_date ASC
LIMIT 10
```
**Projects Needing Attention**
```dataview
TABLE
target_completion as "Due",
(reviewed < date(today) - dur(7 days)) as "Needs Review"
FROM "01_Projects"
WHERE status = "active"
SORT target_completion ASC
LIMIT 5
```
**Inbox Count**
```dataview
LIST WITHOUT ID length(rows) + " items in inbox"
FROM "00_Inbox"
GROUP BY true
```
---
## Common Patterns
### Counting Items
```dataview
LIST WITHOUT ID length(rows) + " active projects"
FROM "01_Projects"
WHERE status = "active"
GROUP BY true
```
### Date Calculations
```dataview
TABLE
target_completion as "Due",
(target_completion - date(today)).days + " days left" as "Countdown"
FROM "01_Projects"
WHERE status = "active" AND target_completion
SORT target_completion ASC
```
### Filtering by Link Contains
```dataview
-- Check if frontmatter link contains a specific note
WHERE contains(project, [[Project Name]])
-- Self-referential (recommended)
WHERE contains(area, this.file.link)
```
### Default Values
```dataview
-- Use default() for missing fields
WHERE reviewed < (date(today) - dur(default(review_period, "7d")))
```
### Child Tasks
Child tasks (indented under parent) belong to parent:
```dataview
TASK
WHERE !completed
-- Will include completed children if parent is incomplete
```
To exclude specific children:
```dataview
TASK
WHERE !completed AND !contains(text, "optional")
```
---
## Troubleshooting
### Query Returns Nothing
1. **Check folder path**: `FROM "01_Projects"` - case sensitive!
2. **Check field names**: `status` vs `Status` matters
3. **Check field values**: `"active"` vs `active` (quotes matter for strings)
### Links Not Matching
**Problem**: `WHERE area = [[My Area]]` doesn't work
**Solution**: Use `contains()` for link fields:
```dataview
WHERE contains(area, [[My Area]])
-- or self-referential
WHERE contains(area, this.file.link)
```
### Tasks Not Appearing
1. **Check if using TASK query type** (not TABLE)
2. **Check if tasks are in the right folder**
3. **Check if `!completed` filter is correct**
### Slow Queries
1. **Add folder constraints**: `FROM "01_Projects"` instead of `FROM ""`
2. **Limit results**: `LIMIT 20`
3. **Enable lazy loading** in Dataview settings
---
*Reference compiled from Dataview documentation and community best practices.*

View File

@@ -0,0 +1,267 @@
# Feynman's 12 Favorite Problems
> A capture filter technique adapted by Tiago Forte for Building a Second Brain
## Table of Contents
- [The Origin](#the-origin)
- [The Concept](#the-concept)
- [How to Use Them](#how-to-use-them)
- [Crafting Good Problems](#crafting-good-problems)
- [Maintaining Your List](#maintaining-your-list)
- [Common Mistakes](#common-mistakes)
- [Integration with Capture](#integration-with-capture)
- [Sample Problem Sets](#sample-problem-sets)
- [Getting Started](#getting-started)
---
## The Origin
Richard Feynman, Nobel Prize-winning physicist, described his approach:
> "You have to keep a dozen of your favorite problems constantly present in your mind, although by and large they will lay in a dormant state. Every time you hear or read a new trick or a new result, test it against each of your twelve problems to see whether it helps. Every once in a while there will be a hit, and people will say, 'How did he do it? He must be a genius!'"
---
## The Concept
### What Are Favorite Problems?
Open-ended questions that:
- You're deeply curious about
- Don't have easy answers
- Connect to your goals and values
- Span years or decades
- Guide your learning and capture
### Why 12?
- Enough to cover major life areas
- Few enough to remember
- Forces prioritization
- Creates a filter for information overload
---
## How to Use Them
### As a Capture Filter
When you encounter new information, ask:
> "Does this relate to one of my 12 problems?"
If yes → Worth capturing
If no → Probably skip it
### As a Learning Guide
- Direct your reading toward your problems
- Choose courses that address them
- Seek conversations about them
### As a Creation Prompt
- Write about your problems
- Share your findings
- Build projects that explore them
---
## Crafting Good Problems
### Format
Frame as questions starting with:
- "How can I...?"
- "What would it take to...?"
- "Why does...?"
- "What is the relationship between...?"
### Characteristics of Good Problems
1. **Open-ended**: No single correct answer
2. **Personal**: Genuinely matters to you
3. **Evolving**: Deepens over time
4. **Cross-domain**: Connects multiple interests
5. **Long-term**: Not solved in a week
### Examples by Category
**Career & Work**
- How can I do meaningful work while maintaining financial stability?
- What would it take to become an expert in my field?
- How do I balance depth and breadth in my skills?
**Learning & Growth**
- How can I learn faster and retain more?
- What makes some explanations clearer than others?
- How do I develop better judgment?
**Relationships**
- How can I be a better partner/parent/friend?
- What creates lasting, meaningful connections?
- How do I communicate more effectively?
**Health & Wellbeing**
- How can I maintain energy throughout life?
- What habits have the highest ROI for health?
- How do I balance ambition with contentment?
**Creativity & Expression**
- What is my unique creative voice?
- How do I overcome creative blocks?
- What would I create if I weren't afraid?
**Systems & Productivity**
- How can I do more of what matters and less of what doesn't?
- What's the minimum viable system for staying organized?
- How do I make better decisions faster?
**Philosophy & Meaning**
- What makes a good life?
- How do I reconcile competing values?
- What do I want my legacy to be?
---
## Maintaining Your List
### Regular Review
- Review quarterly
- Problems should evolve
- It's okay to retire problems
- Add new ones as interests change
### Integration with PARA
| Problem Type | PARA Location |
|--------------|---------------|
| Active exploration | Projects |
| Ongoing inquiry | Areas |
| Collected insights | Resources |
| Resolved questions | Archive |
### In Your Second Brain
Create a note: `My 12 Favorite Problems`
```markdown
# My 12 Favorite Problems
Last updated: 2025-01-15
## Currently Active
1. **How can I...?**
- Recent insights: [[note1]], [[note2]]
- Active project: [[Project Name]]
2. **What would it take to...?**
- Recent insights: [[note3]]
[...continue for all 12...]
## Retired Problems
- Former problem (retired 2024-06)
- Why retired: Found satisfactory answer
- Key notes: [[summary]]
```
---
## Common Mistakes
### 1. Too Specific
- Bad: "How do I fix my sleep schedule?"
- Good: "How can I optimize my energy and recovery?"
### 2. Too Vague
- Bad: "How do I be better?"
- Good: "How can I develop expertise while maintaining curiosity?"
### 3. Not Personal
Don't copy someone else's problems. These must genuinely matter to you.
### 4. Too Many
Stick to ~12. If you have 50 "favorite" problems, you have no filter.
### 5. Never Revisiting
Review and update regularly. Problems should evolve.
---
## Integration with Capture
### Quick Test
New information arrives. Ask:
1. Does this relate to a favorite problem? (Yes/No)
2. If yes, which one(s)?
3. How does it add to my understanding?
### Tagging Convention
```yaml
tags:
- problem/productivity
- problem/learning
```
Or link directly:
```markdown
This relates to [[My 12 Favorite Problems#Problem 3]]
```
---
## Sample Problem Sets
### The Knowledge Worker
1. How can I produce high-quality work consistently?
2. What makes communication truly effective?
3. How do I build genuine expertise?
4. What's the relationship between focus and creativity?
...
### The Creator
1. How do I find my authentic voice?
2. What makes ideas spread?
3. How do I balance creation with consumption?
4. What role does constraint play in creativity?
...
### The Leader
1. How do I bring out the best in others?
2. What makes teams high-performing?
3. How do I make good decisions under uncertainty?
4. What's the relationship between culture and results?
...
---
## Getting Started
### Exercise: Draft Your 12
1. Set 30 minutes
2. Brain dump all questions you're curious about
3. Group similar questions
4. Select the 12 most compelling
5. Refine the wording
6. Create a note in your vault
### First Week Practice
Each day, when you capture something:
- Pause and consider your 12 problems
- Note which problem it relates to
- Add the connection in your capture
---
*Technique adapted from Richard Feynman, popularized by Tiago Forte in Building a Second Brain.*

View File

@@ -0,0 +1,404 @@
# GTD + PARA Task Management
> Combining Getting Things Done with PARA for effective task management in Obsidian
## Table of Contents
- [The GTD + PARA Integration](#the-gtd--para-integration)
- [Task Properties](#task-properties)
- [The Review System](#the-review-system)
- [Daily Workflow](#daily-workflow)
- [Weekly Review](#weekly-review)
- [Task File vs Inline Tasks](#task-file-vs-inline-tasks)
- [Priority Systems](#priority-systems)
- [Frontmatter Schema](#frontmatter-schema)
---
## The GTD + PARA Integration
### Where GTD Concepts Live in PARA
| GTD Concept | PARA Location | Implementation |
|-------------|---------------|----------------|
| Next Actions | Within Projects | Tasks with `status: not-started` |
| Waiting For | Within Projects | Tasks with `status: blocked` |
| Someday/Maybe | Resources or Areas | Tasks with `priority: low` |
| Reference | Resources | Notes without tasks |
| Projects | Projects | Folders in `01_Projects/` |
| Calendar | Tasks | `due_date` and `start_date` fields |
### The Key Insight
> "Tasks should live in a global folder with frontmatter links to projects and areas. Dataview queries then show them in context."
**Why?**
- Single source of truth for all tasks
- Queryable from anywhere (dashboards, projects, areas)
- No duplicate task management
- Works with Obsidian's lack of a "move file" API
---
## Task Properties
### Essential Fields
```yaml
---
title: "Task Name"
created: 2025-01-15
type: task
status: not-started
project: "[[Project Name]]"
area: "[[Area Name]]"
due_date: 2025-01-20
priority: medium
---
```
### Status Values
| Status | Meaning | Query Filter |
|--------|---------|--------------|
| `not-started` | Ready to work on | `status = "not-started"` |
| `in-progress` | Currently working | `status = "in-progress"` |
| `blocked` | Waiting on something | `status = "blocked"` |
| `done` | Completed | `status = "done"` |
| `cancelled` | No longer needed | `status = "cancelled"` |
### Priority Values
| Priority | Use Case | Urgency |
|----------|----------|---------|
| `urgent` | Drop everything | Today |
| `high` | Important, time-sensitive | This week |
| `medium` | Normal priority | When possible |
| `low` | Someday/maybe | No rush |
### Optional Enhancement: Numeric Priority
For fine-grained sorting, use numeric priority:
- `priority: 42` = Urgent (threshold for "drop everything")
- `priority: 30` = High
- `priority: 20` = Medium
- `priority: 10` = Low
Query for urgent tasks:
```dataview
TASK WHERE priority >= 42 AND !completed
```
---
## The Review System
### Why Review Tracking Matters
Without tracking, you can't answer:
- When did I last look at this project?
- Is this task still relevant?
- Have I forgotten about something important?
### Review Fields
```yaml
reviewed: 2025-01-15 # Last review date
review_period: 7d # Custom review frequency
```
### Review Cadence
| Item Type | Default Period | Override Example |
|-----------|----------------|------------------|
| Active Project | 7 days | `review_period: 3d` for urgent |
| Area | 14 days | `review_period: 30d` for stable |
| Task (in progress) | 3 days | - |
| Task (not started) | 7 days | - |
### What Happens During Review
**Project Review:**
1. Is this project still relevant?
2. Has anything changed since last review?
3. Are all tasks still accurate?
4. What's the next action?
5. Mark as reviewed: `reviewed: 2025-01-15`
**Task Review:**
1. Is this task still needed?
2. Is the due date still accurate?
3. Is the priority correct?
4. Am I blocked on anything?
5. Mark as reviewed or reschedule
---
## Daily Workflow
### Morning: Plan the Day
1. **Check urgent tasks**
```dataview
TASK FROM "07_Tasks"
WHERE priority = "urgent" AND !completed
```
2. **Check due today**
```dataview
TASK FROM "07_Tasks"
WHERE due_date = date(today) AND !completed
```
3. **Pick top 3** from remaining tasks
### During Day: Capture and Execute
1. **Quick capture** → Inbox (process later)
2. **Work from task list** → Update status as you go
3. **New tasks** → Create in `07_Tasks/` with project/area link
### Evening: Close Out
1. **Update task statuses** (in-progress → done, blocked notes)
2. **Quick inbox scan** (anything urgent for tomorrow?)
3. **Review tomorrow's calendar**
---
## Weekly Review
### The Weekly Review Checklist
Based on GTD's weekly review, adapted for PARA:
**1. Get Clear (Process Inbox)**
```dataview
LIST FROM "00_Inbox"
```
- Process each item → Project, Area, Resource, or Archive
**2. Get Current (Review Projects)**
```dataview
TABLE target_completion, reviewed
FROM "01_Projects"
WHERE status = "active"
AND (reviewed < date(today) - dur(7d) OR !reviewed)
```
- Is this still active?
- Update tasks
- Mark reviewed
**3. Get Creative (Review Areas)**
```dataview
LIST FROM "02_Areas"
WHERE status = "active"
```
- Any new projects needed?
- Standards being maintained?
**4. Get Ready (Plan Next Week)**
- Review calendar
- Set priorities for top tasks
- Block time for important projects
---
## Task File vs Inline Tasks
### When to Use Task Files (`07_Tasks/`)
Use separate task files when:
- Task needs due date, priority, or other metadata
- Task should appear in Dataview queries
- Task has subtasks or notes
- Task should be linked to multiple projects/areas
**Example:**
```
07_Tasks/Book Tasmania Flights.md
```
### When to Use Inline Tasks
Use checkboxes in project/area notes when:
- Quick capture during project work
- Simple next actions
- No metadata needed
- Won't need to query separately
**Example in project note:**
```markdown
## Next Actions
- [ ] Email venue for quote
- [ ] Review contract draft
- [ ] Schedule team meeting
```
### Best Practice: Start Inline, Promote to File
1. Capture quickly as inline checkbox
2. If it needs metadata → create task file
3. If it's blocked or complex → create task file
---
## Priority Systems
### Simple (Recommended for Start)
```yaml
priority: low | medium | high | urgent
```
### Eisenhower Matrix
| | Urgent | Not Urgent |
|--|--------|------------|
| **Important** | Do First (`urgent`) | Schedule (`high`) |
| **Not Important** | Delegate (`medium`) | Eliminate (`low`) |
### Numeric (Advanced)
For fine-grained control:
```yaml
priority: 42 # 1-100 scale, higher = more urgent
```
Benefits:
- Sort by exact priority
- Threshold queries (`WHERE priority >= 42`)
- Gradual priority increase
---
## Frontmatter Schema
### Task Schema
```yaml
---
title: "Task Title"
created: 2025-01-15
type: task
task_type: task # task, reminder, habit, chore
status: not-started # not-started, in-progress, blocked, done, cancelled
project: "[[Project]]" # Link to project (optional)
area: "[[Area]]" # Link to area (optional)
due_date: 2025-01-20 # When it's due (optional)
start_date: 2025-01-18 # When to start (optional)
priority: medium # low, medium, high, urgent
effort: medium # small, medium, large
reviewed: 2025-01-15 # Last review date
depends_on: "[[Other Task]]" # Blocking task
tags:
- task
---
```
### Project Schema
```yaml
---
title: "Project Title"
created: 2025-01-15
type: project
status: active # active, on-hold, completed, archived
start_date: 2025-01-15
target_completion: 2025-03-01
completion_date: # Filled when done
area: "[[Parent Area]]"
reviewed: 2025-01-15
review_period: 7d # Custom review frequency
tags:
- project
---
```
### Area Schema
```yaml
---
title: "Area Title"
created: 2025-01-15
type: area
status: active
reviewed: 2025-01-15
review_period: 14d
tags:
- area
---
```
### Resource Schema
```yaml
---
title: "Resource Title"
created: 2025-01-15
type: resource
source: book # book, article, video, course, podcast, paper, web
source_url: "" # Optional URL
author: "" # Optional author
areas: # Required - links to one or more areas
- "[[Primary Area]]"
- "[[Secondary Area]]" # Optional additional areas
reviewed: 2025-01-15 # Last review date
tags:
- resource
---
```
**Why `areas:` is an array:**
- Resources are reference material that can serve multiple areas
- A TypeScript book relates to both "Software Development" and "Learning"
- Unlike projects/tasks which belong to ONE area, resources cross-cut
**Querying resources by area:**
```dataview
TABLE source, author
FROM "03_Resources"
WHERE contains(areas, [[Health]])
```
---
## Quick Reference
### Daily Queries
**What's due today?**
```dataview
TASK FROM "07_Tasks" WHERE due_date = date(today) AND !completed
```
**What's urgent?**
```dataview
TASK FROM "07_Tasks" WHERE priority = "urgent" AND !completed
```
**What am I working on?**
```dataview
TASK FROM "07_Tasks" WHERE status = "in-progress"
```
### Weekly Queries
**Projects needing review?**
```dataview
TABLE reviewed FROM "01_Projects"
WHERE status = "active" AND (reviewed < date(today) - dur(7d) OR !reviewed)
```
**Overdue tasks?**
```dataview
TASK FROM "07_Tasks" WHERE due_date < date(today) AND !completed
```
**Blocked tasks?**
```dataview
TASK FROM "07_Tasks" WHERE status = "blocked"
```
---
*Reference compiled from GTD methodology, PARA system, and Obsidian community patterns.*

View File

@@ -0,0 +1,397 @@
# Obsidian Best Practices for PARA
> Compiled from Obsidian forums, Obsibrain documentation, and community wisdom
## Table of Contents
- [Folder Structure](#folder-structure)
- [Frontmatter Standards](#frontmatter-standards)
- [Linking Strategies](#linking-strategies)
- [Tagging Strategy](#tagging-strategy)
- [Dataview Queries](#dataview-queries)
- [Templates](#templates)
- [File Naming](#file-naming)
- [Performance Tips](#performance-tips)
- [Plugin Recommendations](#plugin-recommendations)
- [Common Mistakes](#common-mistakes)
- [Quick Reference](#quick-reference)
---
## Folder Structure
### Recommended PARA Setup
```
00_Inbox/ # Unprocessed captures
01_Projects/ # Active projects with deadlines
02_Areas/ # Ongoing responsibilities
03_Resources/ # Reference material by topic
04_Archive/ # Completed/inactive items
└── 2024/ # Organized by year
└── 2025/
05_Attachments/ # Images, PDFs, files
06_Metadata/ # Templates, MOCs, system files
└── Templates/
└── MOCs/
```
### Why Number Prefixes?
- Forces consistent sort order
- Prevents alphabetical chaos
- Makes structure scannable
- Numbers indicate actionability (lower = more active)
---
## Frontmatter Standards
### Universal Properties
```yaml
---
title: "Note Title"
created: 2025-01-15
modified: 2025-01-15
type: project|area|resource|capture
status: active|completed|on-hold|archived
tags: []
aliases: []
---
```
### Type-Specific Properties
**Projects**
```yaml
start_date: 2025-01-15
target_completion: 2025-03-01
completion_date: # filled when done
area: "[[Parent Area]]"
priority: high|medium|low
```
**Areas**
```yaml
review_frequency: weekly|monthly|quarterly
last_reviewed: 2025-01-15
```
**Resources**
```yaml
source: book|article|video|course|podcast|paper|web
source_url: "https://..."
author: "Author Name"
date_consumed: 2025-01-15
rating: 1-5
```
**Captures**
```yaml
captured_from: thought|conversation|article|book
resonance: inspiring|useful|personal|surprising
urgency: high|medium|low
processed: false
```
---
## Linking Strategies
### Bi-Directional Links
```markdown
This project relates to [[Area Name]].
```
- Creates automatic backlink in Area note
- Builds knowledge graph organically
- Enables serendipitous discovery
### Link Contexts
```markdown
Working on [[Project X]] taught me about [[concept]].
```
- Surrounding text provides context
- Makes backlinks more useful
- Helps future you understand why you linked
### Block References
```markdown
![[Note Name#Section]]
![[Note Name^block-id]]
```
- Embed content from other notes
- Single source of truth
- Updates propagate automatically
### Wikilink Resolution
**Correct Syntax**
```markdown
[[Note Name]] # Preferred - no extension needed
[[Note Name.md]] # Also works
[[Folder/Note Name]] # Include path if duplicate names exist
[[Note Name|Display Text]] # Custom display text
```
**How Obsidian Resolves Links**
- Obsidian searches for filenames **across the entire vault**
- **Does NOT require folder paths** in most cases
- Finds shortest/closest match first
- **CRITICAL**: Duplicate filenames cause link conflicts
**Common Issue: Duplicate Filenames**
```
# ❌ BROKEN - Two files with same name
/vault-root/Project Overview.md
/01_Projects/My Project/Project Overview.md
When you use [[Project Overview]], Obsidian picks ONE (usually wrong one!)
```
**Solution**
```markdown
# ✅ FIX 1: Delete duplicate files
# Keep only one version in correct location
# ✅ FIX 2: Use unique filenames
/01_Projects/My Project/My Project Overview.md # Unique name
[[My Project Overview]] # Works correctly
# ✅ FIX 3: Include folder path (last resort)
[[01_Projects/My Project/Project Overview]] # Explicitly specify location
```
**Best Practices**
- ✅ Use unique, descriptive filenames (e.g., "2025 Tasmania Holiday" not "Project Overview")
- ✅ Avoid generic names like "Overview", "README", "Index"
- ✅ Keep project overview files INSIDE project folders, not in vault root
- ✅ Search for duplicates: `find /vault -name "*.md" | sort | uniq -d`
- ❌ Never create files in vault root when they belong in PARA folders
**Debugging Wikilinks**
If clicking a wikilink tries to create a new note:
1. The target file doesn't exist, OR
2. A duplicate filename exists elsewhere (Obsidian found wrong one)
3. Check for duplicates: Search vault for exact filename
**Reference**: [Official Obsidian Wikilink Documentation](https://help.obsidian.md/Linking+notes+and+files/Internal+links)
---
## Tagging Strategy
### Hierarchical Tags
```yaml
tags:
- project/active
- area/health
- type/meeting-notes
```
### Status Tags
```yaml
tags:
- status/active
- status/on-hold
- status/completed
```
### When to Tag vs. Link
- **Tag**: For categorization and filtering
- **Link**: For meaningful connections
Example:
- `#book` = This is a book note (category)
- `[[Deep Work]]` = This relates to the Deep Work concept (connection)
---
## Dataview Queries
### Active Projects Dashboard
```dataview
TABLE
status,
target_completion as "Due",
area as "Area"
FROM "01_Projects"
WHERE status = "active"
SORT target_completion ASC
```
### Overdue Projects
```dataview
LIST
FROM "01_Projects"
WHERE target_completion < date(today)
AND status = "active"
```
### Recent Notes
```dataview
TABLE created, type
FROM ""
SORT created DESC
LIMIT 10
```
### Notes by Area
```dataview
LIST
FROM "01_Projects" OR "03_Resources"
WHERE contains(area, "[[Health]]")
```
### Inbox Count
```dataview
LIST
FROM "00_Inbox"
```
### Unprocessed Captures
```dataview
TABLE resonance, urgency
FROM "00_Inbox"
WHERE processed = false
SORT urgency DESC
```
---
## Templates
### Template Location
Store in `06_Metadata/Templates/` or `.obsidian/templates/`
### Template Variables
```markdown
{{title}} # Note title
{{date}} # Current date
{{time}} # Current time
{{date:YYYY-MM-DD}} # Formatted date
```
### Template Plugin vs. Templater
- **Core Templates**: Simple, built-in, limited
- **Templater**: Powerful, programmable, community plugin
### Recommended Templates
1. Project
2. Area
3. Resource
4. Daily Note
5. Meeting Notes
6. Weekly Review
---
## File Naming
### Conventions
- Use descriptive names
- Avoid special characters: `/ \ : * ? " < > |`
- Dates in ISO format: `2025-01-15`
- Consider prefixes for sorting
### Examples
```
2025-01-15 Project Kickoff Meeting.md
Book - Deep Work by Cal Newport.md
MOC - Personal Knowledge Management.md
```
### Daily Notes
```
2025-01-15.md
```
---
## Performance Tips
### Large Vaults (1000+ notes)
- Disable plugins you don't use
- Use lazy loading for Dataview
- Avoid complex queries on startup
- Consider excluding folders from search
### Sync Considerations
- Use Git or Obsidian Sync
- Avoid Dropbox/iCloud for vault root
- Be careful with mobile sync timing
---
## Plugin Recommendations
### Essential
- **Dataview**: Dynamic queries
- **Templater**: Advanced templates
- **Calendar**: Daily note navigation
### Productivity
- **Tasks**: Task management
- **Periodic Notes**: Weekly/monthly notes
- **Quick Add**: Fast capture
### PARA-Specific
- **Folder Note**: Folder index pages
- **Breadcrumbs**: Hierarchy navigation
- **Homepage**: Dashboard on open
---
## Common Mistakes
### 1. Over-Organizing
Creating folders before you need them. Let structure emerge.
### 2. Neglecting Links
Obsidian's power is in connections. Link liberally.
### 3. Tag Explosion
Too many tags = no tags. Keep tags meaningful.
### 4. Ignoring the Inbox
Process inbox regularly or it becomes a graveyard.
### 5. Perfectionism
"Good enough" notes are better than no notes.
### 6. Not Reviewing
Without weekly review, any system degrades.
### 7. Duplicate Filenames
Creating files with identical names in different folders breaks wikilinks. Use unique, descriptive names like "2025 Tasmania Holiday" instead of generic "Project Overview".
---
## Quick Reference
### Keyboard Shortcuts
| Action | Shortcut |
|--------|----------|
| Quick switcher | Cmd/Ctrl + O |
| Search | Cmd/Ctrl + Shift + F |
| New note | Cmd/Ctrl + N |
| Insert template | (configure) |
| Toggle edit/preview | Cmd/Ctrl + E |
### Markdown Essentials
```markdown
**bold**
*italic*
==highlight==
[[link]]
![[embed]]
- [ ] task
> quote
# Header
```
---
*Best practices compiled from Obsidian community, forums, and documentation.*

View File

@@ -0,0 +1,229 @@
# PARA Method Reference
> Source: Tiago Forte - fortelabs.com/blog/para
## Table of Contents
- [The Core Principle](#the-core-principle)
- [The Four Categories](#the-four-categories)
- [The Key Distinction: Projects vs. Areas](#the-key-distinction-projects-vs-areas)
- [Why Breaking Areas into Projects Matters](#why-breaking-areas-into-projects-matters)
- [Why PARA Works](#why-para-works)
- [Common Mistakes](#common-mistakes)
- [The PARA Workflow](#the-para-workflow)
- [Integration with GTD](#integration-with-gtd)
---
## The Core Principle
> "Instead of organizing information according to broad subjects like in school, organize it according to the projects and goals you are committed to right now. This is what it means to **organize by actionability**."
> — Tiago Forte
**The ideal organizational system leads directly to tangible benefits.** It should:
- Be incredibly easy to set up and maintain
- Be flexible across different seasons of life
- Be comprehensive across all platforms
- Pull actions closer and make them easier to start
**PARA is actionable** - it organizes by "when will I use this?" not "what is this about?"
---
## The PARA Definition
PARA stands for **Projects, Areas, Resources, and Archives** - four top-level categories that encompass every type of information you might encounter in your work and life.
## The Four Categories
### Projects
**Definition**: A series of tasks linked to a goal, with a deadline.
**Examples**:
- Complete app mockup
- Develop project plan
- Execute business development campaign
- Write blog post
- Finalize product specifications
- Attend conference
**Key Characteristics**:
- Has a clear end state
- Has a deadline (explicit or implicit)
- Requires multiple tasks to complete
- Can be "finished"
### Areas
**Definition**: A sphere of activity with a standard to be maintained over time.
**Examples**:
- Health
- Finances
- Professional development
- Travel
- Hobbies
- Friends
- Apartment
- Car
- Productivity
- Direct reports
- Product development
- Writing
**Key Characteristics**:
- Ongoing responsibility
- No end date
- Requires consistent attention
- Has standards to maintain
### Resources
**Definition**: A topic or theme of ongoing interest.
**Examples**:
- Habit formation
- Project management
- Transhumanism
- Coffee
- Music
- Gardening
- Online marketing
- SEO
- Interior design
- Architecture
- Note-taking
**Key Characteristics**:
- Topics you're interested in
- Reference material
- May or may not be actionable
- Collected over time
### Archives
**Definition**: Inactive items from the other three categories.
**Examples**:
- Completed projects
- Areas no longer active
- Resources no longer relevant
**Key Characteristics**:
- Not currently needed
- Preserved for potential future use
- Keeps other categories clean
## The Key Distinction: Projects vs. Areas
This is where most people struggle:
| Projects | Areas |
|----------|-------|
| "Run a marathon" | "Health" |
| "Publish book" | "Writing" |
| "Save 3 months expenses" | "Finances" |
| "Plan vacation" | "Travel" |
| "Buy new car" | "Car" |
**The test**: Can you finish it? If yes → Project. If no → Area.
---
## Why Breaking Areas into Projects Matters
> "As long as you view your work through the lens of areas, you'll never quite know just how much is on your plate."
> — Tiago Forte
### 1. You Can't Know Your Commitments Without Projects
Looking at an area like "Hiring" - how much work does it represent? Could be anything from a part-time hire every 6 months to filling 50 positions this quarter.
**Break it down:**
- Review 10 engineering candidates
- Conduct final interviews for Marketing Manager
- Onboard new DevOps hire
Now you can actually see the workload.
### 2. You Can't Connect Efforts to Goals Without Projects
Areas never end - they continue indefinitely. Imagine waking up week after week to the same list of never-ending responsibilities:
- Health
- Finances
- Career
- Relationships
**This kills motivation.** No matter how hard you work, the endless horizon never gets closer.
**Projects create victories.** When you break areas into bite-sized projects, you get a cadence of regular wins:
- ~~Complete marathon training plan~~ ✓
- ~~Hit savings goal for Q1~~ ✓
- ~~Finish certification course~~ ✓
Each completion is a dopamine hit that sustains motivation.
### 3. The Practical Test
Look at your area list. For each one, ask:
> "What's the next project I could define that would move this forward?"
If you can't answer, you're probably stalled in that area.
---
## Why PARA Works
### 1. Universally Applicable
Works across any platform, tool, or medium:
- Digital notes
- Files and folders
- Cloud storage
- Task managers
- Email folders
### 2. Actionability-Based
Organizes by "when will I use this?" not "what is this about?"
### 3. Flexible
- Projects come and go
- Areas evolve
- Resources grow
- Archives preserve
### 4. Cross-Platform
Same structure everywhere creates consistency.
## Common Mistakes
### 1. Too Many Folders
Keep it to 4-6 items per level maximum. If you have more, you probably need sub-projects.
### 2. Confusing Projects and Areas
"Get healthy" is not a project - it's an area. "Lose 10 pounds by March" is a project.
### 3. Over-Organizing Resources
Resources don't need perfect organization. They just need to be findable.
### 4. Fear of Archiving
Archive liberally. You can always retrieve things.
## The PARA Workflow
1. **Capture** everything to Inbox
2. **Clarify** what it is and what it means
3. **Organize** into P, A, R, or A
4. **Review** regularly (weekly)
5. **Engage** with your system daily
## Integration with GTD
PARA complements Getting Things Done:
| GTD Concept | PARA Location |
|-------------|---------------|
| Next Actions | Within Projects |
| Waiting For | Within Projects |
| Someday/Maybe | Resources or Areas |
| Reference | Resources |
| Projects | Projects |
---
*Reference compiled from Tiago Forte's official PARA methodology documentation.*

View File

@@ -0,0 +1,209 @@
# Progressive Summarization Reference
> Source: Tiago Forte - Building a Second Brain
## Table of Contents
- [What is Progressive Summarization?](#what-is-progressive-summarization)
- [The Core Insight](#the-core-insight)
- [The Five Layers](#the-five-layers)
- [When to Summarize](#when-to-summarize)
- [The Just-in-Time Principle](#the-just-in-time-principle)
- [Visual Guide](#visual-guide)
- [Practical Tips](#practical-tips)
- [Common Mistakes](#common-mistakes)
- [Integration with Note Types](#integration-with-note-types)
---
## What is Progressive Summarization?
A technique for distilling notes in layers over time, making them increasingly useful for your future self without requiring upfront effort.
## The Core Insight
**Problem**: We either:
- Spend too much time organizing notes we never use, OR
- Save everything raw and can't find anything useful later
**Solution**: Add value to notes incrementally, only when you actually need them.
## The Five Layers
### Layer 0: Raw Source
The original content in its full form.
- Complete article
- Full book chapter
- Entire video transcript
*You rarely need to save this.*
### Layer 1: Captured Notes
Your initial excerpts and highlights.
```markdown
The key to productivity is not doing more things, but doing the
right things. Most people spend their time on urgent but
unimportant tasks, while neglecting important but not urgent
work. The solution is to identify your highest-leverage
activities and protect time for them.
```
*This is what goes in your Second Brain.*
### Layer 2: Bold Passages
**Bold** the most important 10-20%.
```markdown
The key to productivity is not doing more things, but **doing the
right things**. Most people spend their time on urgent but
unimportant tasks, while **neglecting important but not urgent
work**. The solution is to **identify your highest-leverage
activities** and protect time for them.
```
*Do this when you revisit a note and want to find key points faster.*
### Layer 3: Highlighted Core
==Highlight== the top 10% of bold passages.
```markdown
The key to productivity is not doing more things, but **doing the
right things**. Most people spend their time on urgent but
unimportant tasks, while **neglecting important but not urgent
work**. The solution is to ==**identify your highest-leverage
activities**== and protect time for them.
```
*Do this when the note is proving especially valuable.*
### Layer 4: Executive Summary
Write a brief summary in your own words at the top.
```markdown
## Summary
Focus on high-leverage activities, not urgent busywork.
Protect time for important-but-not-urgent work.
---
The key to productivity is not doing more things, but **doing the
right things**. Most people spend their time on urgent but
unimportant tasks, while **neglecting important but not urgent
work**. The solution is to ==**identify your highest-leverage
activities**== and protect time for them.
```
*Do this for your most valuable notes - the ones you return to repeatedly.*
### Layer 5: Remix
Transform into your own original content.
- Blog post
- Presentation slide
- Decision document
- Creative work
*This is the ultimate expression of the note's value.*
## When to Summarize
### Don't
- Summarize everything upfront
- Spend hours organizing new captures
- Over-process notes you may never use
### Do
- Add a layer when you naturally encounter a note
- Summarize when you need to use the information
- Let importance emerge through repeated access
## The Just-in-Time Principle
```
First encounter: Save it (Layer 1)
Second encounter: Bold key points (Layer 2)
Third encounter: Highlight the best (Layer 3)
Fourth encounter: Write summary (Layer 4)
Active use: Remix into output (Layer 5)
```
If you never encounter it again, you saved time by not processing it.
## Visual Guide
```
Layer 0: ████████████████████████████████████████ (100%)
Layer 1: ██████████████████████████ (65%)
Layer 2: ██████████████ (35%)
Layer 3: ███████ (17%)
Layer 4: ███ (8%)
Layer 5: █ (Original creation)
```
## Practical Tips
### Formatting Conventions
- **Bold**: Important points (Cmd/Ctrl + B)
- ==Highlight==: Key insights (varies by app)
- Headers: Section breaks
- Bullet points: Lists of items
### How Much to Bold?
- Aim for 10-20% of the text
- If everything seems important, you're probably:
- Reading too passively
- Not being selective enough
- Need to re-read with a specific question
### How Much to Highlight?
- Aim for 10% of the bold text
- These should be "golden sentences"
- The parts you'd quote to someone
### Writing Summaries
- 2-3 sentences maximum
- Use your own words
- Answer: "What is this note about and why does it matter?"
- Place at the top of the note
## Common Mistakes
### 1. Highlighting Everything
If 50%+ is highlighted, nothing stands out.
### 2. Summarizing Too Early
Don't write summaries for notes you've only read once.
### 3. Using Only One Layer
Layers work together - bold alone isn't enough.
### 4. Perfectionism
Progressive summarization is meant to be "good enough," not perfect.
### 5. Forgetting the Goal
The goal is future usefulness, not thoroughness.
## Integration with Note Types
### Resources
Most benefit from progressive summarization - these are reference notes you'll return to.
### Projects
Light summarization - these notes are more action-oriented.
### Areas
Moderate summarization - maintain key standards and practices.
### Captures/Inbox
No summarization yet - these need to be processed first.
---
## The Underlying Philosophy
> "Your notes are not a museum of your past reading. They are a workshop for your future creations."
Progressive summarization turns passive consumption into active building blocks for creation.
---
*Reference compiled from Tiago Forte's Progressive Summarization methodology.*

View File

@@ -0,0 +1,458 @@
# Templater-Compatible PARA Templates
All para-brain templates use [Templater](https://silentvoid13.github.io/Templater/) syntax for dynamic content generation in Obsidian.
## Prerequisites
1. Install [Templater plugin](https://obsidian.md/plugins?id=templater-obsidian) in Obsidian
2. Configure template folder path: Settings → Templater → Template folder location → `06_Metadata/Templates`
3. Enable templates on file creation: Settings → Templater → Trigger Templater on new file creation
## Template Syntax Reference
### Date Functions
```markdown
<% tp.date.now("YYYY-MM-DD") %> # Current date: 2025-11-26
<% tp.date.now("dddd, MMMM D, YYYY") %> # Long format: Tuesday, November 26, 2025
<% tp.date.now("YYYY-MM-DD", -1) %> # Yesterday
<% tp.date.now("YYYY-MM-DD", 1) %> # Tomorrow
<% tp.date.now("YYYY-[W]ww") %> # Week number: 2025-W48
```
### User Input Prompts
```markdown
<% tp.system.prompt("Title") %> # Simple prompt
<% tp.system.prompt("Priority (low/medium/high)", "medium") %> # With default
<% tp.system.prompt("Source URL (optional)", "") %> # Optional field
```
## Available Templates
### Core PARA Templates
#### 1. Project Template (`project.md`)
**Purpose**: Time-bound goals with end dates
**Prompts**:
- Project title
- Target completion date (YYYY-MM-DD)
- Area (parent area this project belongs to)
**Use for**:
- Client work with deadlines
- Personal projects (e.g., "Learn TypeScript", "Plan vacation")
- Any goal that can be "finished"
**Example**: Create "Build portfolio site" with target date 2025-12-15
---
#### 2. Area Template (`area.md`)
**Purpose**: Ongoing responsibilities without end dates
**Prompts**:
- Area title
**Use for**:
- Career/professional development
- Health & fitness
- Parenting (e.g., "Levi & Parenting")
- Household maintenance
- Relationships
**Example**: Create "Health & Fitness" area to track ongoing wellness
---
#### 3. Resource Template (`resource.md`)
**Purpose**: Reference material and learnings
**Prompts**:
- Resource title
- Source type (book/article/video/course/podcast/etc.)
- Source URL (optional)
- Author (optional)
- Primary area (required - links resource to an area)
- Main topic (for tagging)
**Frontmatter**:
```yaml
areas:
- "[[Primary Area]]" # Required - at least one area
- "[[Secondary Area]]" # Optional - add more as needed
reviewed: 2025-11-26 # For review tracking
```
**Features**:
- **Area linkage** - Resources link to one or more areas (required)
- Progressive summarization layers (4 levels)
- Connection mapping to other notes
- Action items extraction
- Review date tracking
**Use for**:
- Book notes
- Course materials
- Technical documentation
- Articles worth saving
**Querying resources by area**:
```dataview
TABLE source, author
FROM "03_Resources"
WHERE contains(areas, this.file.link)
```
**Example**: Create resource from conference talk, link to "Software Development" and "Learning" areas
---
#### 4. Capture Template (`capture.md`)
**Purpose**: Zero-friction inbox capture
**Prompts**:
- Title (what is this?)
- Content (the raw capture)
- Captured from (thought/article/conversation/email/meeting)
- Resonance (inspiring/useful/personal/surprising)
- Urgency (high/medium/low)
**Timestamps**: Includes HH:mm for precise capture time
**Use for**:
- Quick thoughts
- Voice memo transcriptions
- Email excerpts
- Meeting notes to process later
**Example**: Capture idea from conversation, tag as "inspiring", process within 48h
---
### Workflow Templates
#### 5. Daily Note Template (`daily.md`)
**Purpose**: Daily planning and reflection
**Auto-fills**:
- Today's date in title and frontmatter
- Day of week header (e.g., "Tuesday, November 26, 2025")
- Links to yesterday and tomorrow's notes
**Sections**:
- Morning: Focus, priorities, energy/mood
- Daily Log: Captures, meetings, progress, blockers
- Evening: Wins, improvements, gratitude, tomorrow's setup
- Links: Related notes, active projects, areas maintained
**Use for**:
- Morning intention setting
- Throughout-day capture
- Evening reflection
- Weekly review reference
**Example**: Auto-created each morning when opening Obsidian
---
#### 6. Weekly Review Template (`weekly-review.md`)
**Purpose**: GTD-style weekly planning ritual
**Auto-fills**:
- Week number (e.g., "2025-W48")
- Week date range
- Next review date (+7 days)
**Phases**:
1. Clear the Mind - Brain dump, inbox status
2. Review Calendar - Past and upcoming week
3. Review Projects - Active project status, stale projects
4. Review Areas - Check-in on ongoing responsibilities
5. Review Goals - Wins, challenges, lessons
6. Express - Ideas ready to create, patterns noticed
7. Plan Next Week - Top 3 priorities, focus projects
**Includes**: Dataview query for active projects
**Use for**:
- End of week reflection
- Planning next week's priorities
- Identifying stale projects
- Capturing emerging patterns
**Example**: Run every Friday afternoon to close the week
---
### Task Management Templates
#### 7. Task Template (`task.md`)
**Purpose**: Granular task tracking with dependencies
**Prompts**:
- Task title
- Task type (task/reminder/habit/chore)
- Due date (YYYY-MM-DD)
- Priority (low/medium/high/urgent) - defaults to "medium"
- Effort (small/medium/large) - defaults to "medium"
- Project (optional)
- Area (optional)
**Fields**:
- Status: not-started, in-progress, blocked, done, cancelled
- Dependencies: Depends on, blocks, dependency type
- Success criteria checklist
**Special sections by type**:
- **Tasks**: Effort estimate, next action
- **Reminders**: Alert time, recurrence
- **Habits**: Frequency, streak, best time
- **Chores**: Seasonal, approximate duration
**Use for**:
- Project breakdown (large → small tasks)
- Recurring habits (gym 3x/week)
- Seasonal chores (clean gutters)
- Time-sensitive reminders
**Example**: Create "Review PR #123" task, medium priority, blocks "Deploy v2.0"
---
### Travel/Event Templates
#### 8. Booking Template (`booking.md`)
**Purpose**: Track reservations and confirmations
**Prompts**:
- Booking title
- Booking type (accommodation/flight/activity/transport/dining)
- Project (parent trip/event)
- Booking date (YYYY-MM-DD)
**Fields**:
- Booking reference number
- Provider details
- Cost and payment status
- Cancellation deadline
- Contact information (phone, email, website)
**Use for**:
- Travel accommodations
- Restaurant reservations
- Activity bookings
- Transport tickets
**Example**: Create booking for "Cradle Mountain Lodge" with confirmation number
---
#### 9. Checklist Template (`checklist.md`)
**Purpose**: Reusable checklists for recurring workflows
**Prompts**:
- Checklist title
- Checklist type (packing/groceries/snacks/tasks)
- Project (parent project)
**Features**:
- Multiple categorized sections
- Timeline with milestone dates (2 weeks before, 1 week before, day before, day of)
- Dependency tracking
**Use for**:
- Packing lists for trips
- Grocery shopping lists
- Pre-departure checklists
- Event preparation
**Example**: Create "Hiking Gear Checklist" for Tasmania trip
---
#### 10. Itinerary Day Template (`itinerary-day.md`)
**Purpose**: Detailed daily travel plans
**Prompts**:
- Day title (e.g., "Day 1 - Cradle Mountain")
- Project (parent trip)
- Trip date (YYYY-MM-DD)
- Day number (1, 2, 3...)
**Sections**:
- Overview: Location, accommodation, energy level
- Time blocks: Morning, afternoon, evening
- Meals: Breakfast, lunch, dinner with booking status
- Transport: Driving times, logistics
- What to bring: Day-specific items
- Bookings: Links to relevant booking notes
- Navigation: Previous day | Project | Next day
**Use for**:
- Multi-day trips
- Conference schedules
- Event itineraries
**Example**: Create "Day 3 - Strahan" with Gordon River Cruise booking linked
---
#### 11. Trip Research Template (`trip-research.md`)
**Purpose**: Research notes for travel planning
**Prompts**:
- Research title (e.g., "Hiking Boots Research")
- Research type (activities/dining/hike/gear/transport)
- Project (parent trip)
**Sections**:
- Options comparison (multiple options with cost, pros/cons)
- Practical information (timing, getting there, what to bring)
- Sources (where info came from)
- Decision (what was chosen, link to booking)
**Use for**:
- Activity research
- Restaurant options
- Gear comparisons
- Route planning
**Example**: Research "Best hikes in Cradle Mountain" with difficulty ratings
---
## Template Usage Patterns
### New Project Workflow
1. Create project note from `project.md`
- Set title and target date
- Link to parent area
2. Break down into tasks using `task.md`
- Set dependencies
- Estimate effort
3. Create weekly review entry to track progress
4. Archive to `04_Archive/YYYY/` when complete
### Travel Planning Workflow
1. Create project note for trip
2. Research activities/dining using `trip-research.md`
3. Book reservations, create `booking.md` for each
4. Create day-by-day itinerary with `itinerary-day.md`
5. Build checklists (packing, groceries) with `checklist.md`
6. Link everything back to project note
### Daily Capture & Processing
1. Morning: Open `daily.md` auto-created note
- Set top 3 priorities
- Check #urgent items
2. Throughout day: Quick captures to `00_Inbox/`
- Use `capture.md` if structured
- Or just create plain note for processing later
3. Evening: Reflect in daily note
- What went well?
- Link to projects touched
4. Weekly: Process inbox using PARA decision tree
## Best Practices
### Templater Tips
1. **Set default folder**: Configure Templater to auto-create daily notes in `00_Inbox/`
2. **Hotkeys**: Assign keyboard shortcuts for frequent templates (e.g., ⌘+D for daily note)
3. **Template testing**: Test changes in a separate note before updating main templates
### Frontmatter Consistency
All templates include standard frontmatter:
- `title`: Note title
- `created`: Creation date (YYYY-MM-DD)
- `type`: Template type (project/area/resource/etc.)
- `tags`: Array of relevant tags
### Linking Strategy
- **Projects** → Link to parent Area (single `area:` field)
- **Tasks** → Link to parent Project and/or Area (single `area:` field)
- **Resources** → Link to related Areas (required `areas:` array - can have multiple)
- **Daily notes** → Link to Projects touched and Areas maintained
### Dataview Queries
Several templates include embedded Dataview queries:
- **Area template**: Shows all projects in this area
- **Weekly review**: Lists active projects sorted by due date
Requires [Dataview plugin](https://obsidian.md/plugins?id=dataview) to be installed.
## Customization
### Adding New Templates
1. Create new `.md` file in `06_Metadata/Templates/`
2. Use Templater syntax for dynamic content
3. Include standard frontmatter
4. Add reference to this document
### Modifying Existing Templates
1. Edit template file directly
2. Test with new note creation
3. Existing notes remain unchanged (templates are blueprints)
4. Update this reference document if changing prompts
### Template Snippets
Common patterns for custom templates:
```markdown
# File creation date
created: <% tp.date.now("YYYY-MM-DD") %>
# Title with prompt
title: "<% tp.system.prompt("Title") %>"
# Optional field with default
priority: <% tp.system.prompt("Priority", "medium") %>
# Calculated date (7 days from now)
due_date: <% tp.date.now("YYYY-MM-DD", 7) %>
# Current file title
# <% tp.file.title %>
# Link to another note
related: [[<% tp.system.prompt("Related note") %>]]
```
## Troubleshooting
### Template not working
1. Check Templater plugin is installed and enabled
2. Verify template folder path in settings
3. Ensure template file has `.md` extension
4. Look for syntax errors in template code
### Prompts not appearing
1. Check Templater is set to run on new file creation
2. Verify you're creating from template (not just new note)
3. Try manual template insertion: Cmd+P → "Templater: Open Insert Template modal"
### Dates showing as code
1. Templater syntax should be `<% %>` not `{{ }}`
2. Check date format string matches moment.js patterns
3. Ensure no typos in function names (`tp.date.now` not `tp.date.new`)
## Further Reading
- [Templater Documentation](https://silentvoid13.github.io/Templater/)
- [PARA Method](para-method.md)
- [CODE Method](code-method.md)
- [Obsidian Best Practices](obsidian-best-practices.md)

View File

@@ -0,0 +1,211 @@
# YouTube Research Insights
> Compiled from video transcripts on PARA, Second Brain, and Obsidian workflows
## Table of Contents
- [John Mavrick: PARA Beginner to Pro](#john-mavrick-para-beginner-to-pro)
- [John Mavrick: Second Brain in Obsidian](#john-mavrick-second-brain-in-obsidian)
- [Paul: YAML Properties Mastery in Obsidian](#paul-yaml-properties-mastery-in-obsidian)
- [Benjamin Ashton: PARA Game-Changer](#benjamin-ashton-para-game-changer)
- [File Organizer 2000: AI Automation](#file-organizer-2000-ai-automation)
- [Common Themes Across All Videos](#common-themes-across-all-videos)
- [Practical Takeaways](#practical-takeaways)
---
## John Mavrick: PARA Beginner to Pro
### Key Insights
**The Paradox of Organization**
- People think more folders = more organization
- Reality: Complexity slows you down
- PARA's power is in its simplicity
**Project Definition Clarity**
- A project MUST have:
1. A clear outcome
2. A deadline (even self-imposed)
- "Get healthy" = Area
- "Lose 10 lbs by March" = Project
**The 3-Project Rule**
- Most people can only actively manage 3-5 projects
- If you have 15 "active" projects, most are actually on hold
- Be honest about what's really active
**Resource Organization**
- Don't pre-create resource folders
- Let categories emerge from what you actually save
- "Topic appears 3+ times? Then make a folder"
---
## John Mavrick: Second Brain in Obsidian
### Key Insights
**Linking Over Filing**
- Obsidian's power is in connections
- Every note should link to something
- Let backlinks reveal relationships
**The MOC Approach**
- Maps of Content for major topics
- MOC = Index page for a subject
- Link MOCs to each other for navigation
**Daily Notes as Inbox**
- Use daily notes for quick capture
- Process daily notes weekly
- Move permanent content to proper PARA location
**Template Automation**
- Create templates for each note type
- Reduces friction in capture
- Ensures consistent frontmatter
---
## Paul: YAML Properties Mastery in Obsidian
### Key Insights
**Essential Properties**
```yaml
---
title: Note Title
created: 2025-01-15
type: project|area|resource|capture
status: active|completed|archived
tags: []
---
```
**Property Naming Conventions**
- Use snake_case for multi-word properties
- Keep names short but descriptive
- Be consistent across all notes
**Dataview Integration**
- Properties enable powerful queries
- Plan your properties with queries in mind
- Example: `status: active` enables "show all active projects"
**Property Types**
- Text: `title: "My Note"`
- Date: `created: 2025-01-15`
- List: `tags: [one, two, three]`
- Link: `area: "[[Work]]"`
**Inline Fields**
- Use `key:: value` for inline properties
- Useful for dynamic content
- Example: `due:: 2025-02-01` in body text
---
## Benjamin Ashton: PARA Game-Changer
### Key Insights
**The Actionability Spectrum**
```
Most Actionable → Least Actionable
Projects → Areas → Resources → Archives
```
**Weekly Review is Non-Negotiable**
- Without review, any system fails
- 30-60 minutes per week
- Review all active projects
- Process inbox to zero
**Archive Without Guilt**
- Archiving isn't deleting
- Completed projects are WINS
- Archive liberally, retrieve easily
**The "Hot" Project Folder**
- Keep most active project materials close
- Don't bury current work in deep folders
- Quick access = less friction
---
## File Organizer 2000: AI Automation
### Key Insights
**AI-Assisted Classification**
- AI can suggest PARA category
- Human makes final decision
- Reduces decision fatigue
**Automatic Tagging**
- AI can extract topics from content
- Consistent tagging across notes
- Enables better search
**Smart Capture**
- AI formats raw captures
- Extracts key points automatically
- Maintains original source
**Limitations**
- AI suggestions need review
- Don't automate everything
- Human judgment for important decisions
---
## Common Themes Across All Videos
### 1. Simplicity Wins
Every creator emphasized keeping the system simple. More folders ≠ better organization.
### 2. Projects Have Deadlines
The clearest differentiator between Projects and Areas is the presence of a deadline.
### 3. Weekly Review is Essential
Without regular review, any productivity system degrades.
### 4. Capture First, Organize Later
Don't let organization prevent capture. Get it down, process later.
### 5. Let Structure Emerge
Don't pre-create elaborate folder structures. Let your actual content dictate organization.
### 6. Link Everything
In tools like Obsidian, connections between notes are more valuable than folder location.
### 7. Archive Liberally
Completed work and outdated content should move to archive. It's still accessible but out of the way.
---
## Practical Takeaways
### For Daily Use
- Capture to inbox immediately
- Don't organize during capture
- Process inbox every 1-2 days
### For Weekly Review
- Review all active projects
- Check areas for neglected responsibilities
- Move completed items to archive
### For Note Creation
- Use templates consistently
- Include essential frontmatter
- Link to related notes
### For Search & Retrieval
- Use consistent tagging
- Leverage Dataview queries
- Trust the search function
---
*Insights compiled from YouTube research on PARA and Second Brain methodologies.*