obsidian
Local-first knowledge management with markdown vaults, bidirectional linking, plugin ecosystem, and flexible sync strategies
What this skill does
# Obsidian Knowledge Management Skill
Master Obsidian for building a personal knowledge management system with markdown-based notes, bidirectional linking, powerful plugins, and flexible sync strategies. This skill covers vault organization, linking strategies, plugin ecosystem, and backup workflows.
## When to Use This Skill
### USE Obsidian when:
- Building a personal knowledge base or second brain
- Implementing Zettelkasten or evergreen note systems
- Need local-first, privacy-focused note-taking
- Want full control over your data (plain markdown files)
- Creating interlinked notes with graph visualization
- Writing with markdown and want powerful editing
- Need offline access to all your notes
- Building project documentation alongside code
- Journaling with daily notes and templates
### DON'T USE Obsidian when:
- Need real-time collaboration (use Notion, Google Docs)
- Require database-style structured data (use Notion)
- Need web-based access without sync setup
- Team-wide knowledge base with permissions (use Confluence)
- Simple note-taking without linking (use Apple Notes, Bear)
- Need built-in task management with reminders (use Todoist)
## Prerequisites
### Installation
```bash
# Download from official site
# https://obsidian.md/download
# macOS via Homebrew
brew install --cask obsidian
# Linux (AppImage)
wget https://github.com/obsidianmd/obsidian-releases/releases/download/v1.5.3/Obsidian-1.5.3.AppImage
chmod +x Obsidian-1.5.3.AppImage
./Obsidian-1.5.3.AppImage
# Linux (Flatpak)
flatpak install flathub md.obsidian.Obsidian
# Linux (Snap)
sudo snap install obsidian --classic
```
### Create Your First Vault
```bash
# Create vault directory
mkdir -p ~/Documents/ObsidianVault
# Initialize vault structure
cd ~/Documents/ObsidianVault
mkdir -p "Daily Notes" "Templates" "Inbox" "Projects" "Areas" "Resources" "Archive"
# Create initial configuration
mkdir -p .obsidian
cat > .obsidian/app.json << 'EOF'
{
"alwaysUpdateLinks": true,
"newFileLocation": "folder",
"newFileFolderPath": "Inbox",
"attachmentFolderPath": "Attachments",
"showUnsupportedFiles": false,
"defaultViewMode": "source"
}
EOF
# Create .gitignore for vault
cat > .gitignore << 'EOF'
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/plugins/*/data.json
.trash/
*.sync-conflict-*
EOF
```
### Verify Setup
```bash
# Check vault structure
tree -L 2 ~/Documents/ObsidianVault
# Expected output:
# ObsidianVault/
# ├── .obsidian/
# │ └── app.json
# ├── Archive/
# ├── Areas/
# ├── Daily Notes/
# ├── Inbox/
# ├── Projects/
# ├── Resources/
# └── Templates/
```
## Core Capabilities
### 1. Vault Structure and Organization
**PARA Method Structure:**
```markdown
# Vault Organization with PARA Method
#
# Projects/ - Active projects with deadlines
# Areas/ - Ongoing responsibilities
# Resources/- Reference materials
# Archive/ - Completed or inactive items
# Example folder structure:
ObsidianVault/
├── Daily Notes/ # Daily journal entries
├── Inbox/ # Quick capture, process later
├── Projects/
│ ├── Project-Alpha/
│ │ ├── Overview.md
│ │ ├── Tasks.md
│ │ └── Meeting Notes/
│ └── Project-Beta/
├── Areas/
│ ├── Health/
│ ├── Finance/
│ ├── Career/
│ └── Learning/
├── Resources/
│ ├── Books/
│ ├── Courses/
│ ├── Articles/
│ └── Recipes/
├── Archive/
│ └── 2025-Q1/
├── Templates/
│ ├── Daily Note.md
│ ├── Meeting Note.md
│ ├── Project.md
│ └── Book Note.md
└── Attachments/
└── images/
```
**Zettelkasten Structure:**
```markdown
# Zettelkasten-style vault
ObsidianVault/
├── 0-Inbox/ # Fleeting notes
├── 1-Literature Notes/ # Notes from sources
├── 2-Permanent Notes/ # Your own ideas
├── 3-Structure Notes/ # MOCs (Maps of Content)
├── 4-Projects/ # Project-specific notes
└── Templates/
```
**Naming Conventions:**
```markdown
# Date-based naming for daily notes
Daily Notes/2025-01-17.md
# Timestamp-based for Zettelkasten
202501171430 - Concept Name.md
# Descriptive naming for permanent notes
How to Structure a Knowledge Base.md
# Project-prefixed naming
Project-Alpha - Meeting 2025-01-17.md
# Use lowercase with hyphens for consistency
my-note-about-something.md
```
### 2. Linking and Backlinking
**Basic Linking:**
```markdown
# Internal links
[[Note Name]]
[[Note Name|Display Text]]
[[Folder/Subfolder/Note Name]]
# Link to heading
[[Note Name#Heading Name]]
[[Note Name#Heading Name|Custom Text]]
# Link to block
[[Note Name#^block-id]]
# Embed notes
![[Note Name]]
![[Note Name#Heading]]
![[image.png]]
![[document.pdf]]
# External links
[External Link](https://example.com)
```
**Block References:**
```markdown
# In source note (Source Note.md)
This is an important concept. ^important-concept
This paragraph explains something crucial about the topic.
It spans multiple lines. ^key-explanation
# In referencing note
As mentioned in [[Source Note#^important-concept]], this concept is key.
# Embed the block
![[Source Note#^important-concept]]
```
**Linking Best Practices:**
```markdown
# Note: The Power of Compound Interest.md
## Summary
Compound interest is the concept where interest earns interest over time.
## Related Concepts
- [[Time Value of Money]] - foundational concept
- [[Investment Strategies]] - practical applications
- [[Rule of 72]] - quick estimation method
## Sources
- [[Book - The Psychology of Money]]
- [[Article - Warren Buffett on Compounding]]
## Applications
See [[Personal Finance MOC#Investment Strategies]] for implementation.
## Tags
#finance #investing #concepts
```
**Alias Usage:**
```yaml
---
aliases: [PKM, Knowledge Management, KM]
---
# Personal Knowledge Management
This note can now be linked via:
- [[Personal Knowledge Management]]
- [[PKM]]
- [[Knowledge Management]]
```
### 3. Tags and Properties (Frontmatter)
**YAML Frontmatter:**
```yaml
---
title: Complete Guide to Obsidian
date: 2025-01-17
updated: 2025-01-17
type: reference
status: active
tags:
- obsidian
- knowledge-management
- productivity
author: Your Name
rating: 5
source: https://obsidian.md
related:
- "[[Markdown Basics]]"
- "[[Note-Taking Methods]]"
cssclass: wide-page
---
# Complete Guide to Obsidian
Content starts here...
```
**Common Property Patterns:**
```yaml
# For book notes
---
title: "Book Title"
author: "Author Name"
type: book
status: reading # reading, completed, abandoned
started: 2025-01-01
finished:
rating:
genre: [non-fiction, productivity]
---
# For meeting notes
---
title: Weekly Team Sync
type: meeting
date: 2025-01-17
attendees:
- Alice
- Bob
- Charlie
project: "[[Project Alpha]]"
action-items: true
---
# For project notes
---
title: Project Alpha Overview
type: project
status: active # planning, active, on-hold, completed
start-date: 2025-01-01
due-date: 2025-03-31
priority: high
stakeholders:
- Team Lead
- Product Manager
---
```
**Tag Hierarchies:**
```markdown
# Use nested tags for organization
#status/active
#status/completed
#status/on-hold
#type/note
#type/literature
#type/project
#area/health
#area/finance
#area/career
#source/book
#source/article
#source/podcast
#source/video
# In a note:
#project/alpha #status/active #priority/high
```
### 4. Templates
**Daily Note Template:**
```markdown
---
date: {{date}}
type: daily
tags:
- daily-note
---
# {{date:dddd, MMMM D, YYYY}}
## Morning Review
- [ ] Review calendar
- [ ] Check priorities
- [ ] Set daily intention
## Today's Focus
> What is the ONE thing I can do today that will make everything else easier?
1.
## Tasks
### Must Do
- [ ]
### Should Do
- [ ]
### Could Do
- [ ]
## Notes & Ideas
## Meetings
```dataview
TABLE WITHOUT ID
file.link as "Meeting",
attendees as "Attendees"
FROM #meeting
WHERE date = date("{{date:YYYY-MM-DD}}")
```
## Journal
## Evening Review
- What went well today?
- What could be improved?
- What did I learn?
---
**Links:** [[{{date:YYYY-MM-DD|yesterday(-1)}}]] | [[{{date:YYYYRelated in productivity
decision-board
IncludedRender an interactive HTML board for the user to pick among multiple comparable options side-by-side at once — engineering trade-offs, copy audits, action-item triage, architecture decisions, policy calls. Returns the picks (and optional hold/note flags) as a JSON file the agent can apply.
notion-api
IncludedNotion API for workspace automation including databases, pages, blocks, query/filter syntax, and integration patterns
time-tracking
IncludedTime tracking integration patterns with RescueTime and Toggl APIs for automated time entry, reporting, analytics, and project/task attribution
todoist-api
IncludedTask management API integration for Todoist with projects, tasks, labels, filters, webhooks, and Python SDK usage
trello-api
IncludedKanban board automation with Trello API including boards, lists, cards, members, webhooks, power-ups, and Python SDK (py-trello) integration
docs
IncludedCode documentation agent — write/update docs with /docs write, check status with /docs check. Minimal code blocks, reference pointer based.