Obsidian Best Practices
Quick start — new vault setup
- Create a vault folder (e.g.,
~/vaults/brain).
- Create the folder structure:
vault/
├── _templates/
├── daily/
├── meetings/
├── projects/
├── references/
├── archive/
└── attachments/
- Enable core plugins: Daily Notes, Templates, Backlinks, Outgoing Links, Tags, Graph View, Command Palette, Page Preview, Bookmarks, Canvas, Properties View.
- Install Tier 1 community plugins: Dataview, Templater, Obsidian Git, Tasks, Calendar.
- Create
_templates/daily.md, _templates/meeting.md, _templates/project.md, _templates/reference.md using the templates in references/templates-and-daily-notes.md.
- Configure Daily Notes: date format
YYYY-MM-DD, location daily/, template _templates/daily.md, open on startup.
- Configure Templater: template folder
_templates, enable folder templates (daily/ → _templates/daily.md, meetings/ → _templates/meeting.md), trigger on new file creation.
- Initialize Git:
git init, create private remote, configure Obsidian Git plugin (auto backup every 10-30 min, auto pull on open, auto push after commit).
Vault organization principles
- Flat by default. Most notes live at the vault root. Folders are for note types (meetings, projects), not topics. Topics are tags.
- Prefix system folders with
_ (e.g., _templates/).
- Never nest deeper than one level.
- Archive, don't delete. Move stale notes to
archive/.
- For alternative approaches (PARA, Zettelkasten, LYT), see references/vault-organization-and-style.md.
Frontmatter schema
Every note gets this minimum frontmatter:
---
tags:
- type/meeting
- project/auth-redesign
created: 2026-02-26
---
Rules:
- Flat YAML only — Obsidian doesn't support nested properties.
- Namespaced tags:
type/, project/, lang/, topic/. Pluralize leaf values.
created and updated in YYYY-MM-DD format.
status on actionable notes: active, paused, completed, archived.
- Quote wikilinks in YAML:
related: "[[Other Note]]".
Creating Obsidian-compatible Markdown
When creating or editing .md files for an Obsidian vault:
Writing Dataview queries
Use dataview code blocks. Common patterns:
Table from tagged notes:
```dataview
TABLE status, priority, deadline
FROM #type/project
WHERE status = "active"
SORT priority ASC
```
Task aggregation:
```dataview
TASK
WHERE due >= date(today) AND due <= date(today) + dur(7 days)
WHERE !completed
SORT due ASC
```
Recent notes list:
```dataview
LIST
WHERE updated >= date(today) - dur(30 days)
SORT updated DESC
LIMIT 20
```
For DataviewJS, inline fields, and advanced patterns, see references/dataview-git-and-workflows.md.
Canvas files
Canvas files (.canvas) use the JSON Canvas spec:
- Nodes:
text, file, link, or group.
- Edges connect nodes with optional labels and colors.
- Coordinates can be negative — the canvas extends infinitely.
- Color-code by category: blue for people, yellow for events, green for decisions, red for blockers.
Reference material
Consult these for detailed guidance:
- Vault structure, style guide, MOCs, linking strategies: references/vault-organization-and-style.md
- Core and community plugins, keyboard shortcuts: references/plugins-and-configuration.md
- Templates, frontmatter conventions, daily/weekly notes: references/templates-and-daily-notes.md
- Dataview queries, Git backup, knowledge capture pipeline: references/dataview-git-and-workflows.md
- AI plugins, MCP servers, agent skills, Canvas: references/ai-integrations-and-canvas.md
- Curated external links and resources: references/resources-and-links.md
1---2name: obsidian-best-practices3description: Guides setting up, configuring, and organizing Obsidian vaults for software engineers — folder structure, plugins, templates, Git backup, Dataview queries, and AI integrations. Also creates and edits Obsidian vault files following best practices for frontmatter schemas, wikilinks, Templater syntax, Dataview code blocks, and Canvas JSON. Use when setting up a new vault, recommending plugins, creating note templates, writing Dataview queries, configuring Git sync, advising on vault organization, or generating Obsidian-compatible Markdown files.4---56# Obsidian Best Practices78## Quick start — new vault setup9101. Create a vault folder (e.g., `~/vaults/brain`).112. Create the folder structure:12 ```13 vault/14 ├── _templates/15 ├── daily/16 ├── meetings/17 ├── projects/18 ├── references/19 ├── archive/20 └── attachments/21 ```223. Enable core plugins: Daily Notes, Templates, Backlinks, Outgoing Links, Tags, Graph View, Command Palette, Page Preview, Bookmarks, Canvas, Properties View.234. Install Tier 1 community plugins: Dataview, Templater, Obsidian Git, Tasks, Calendar.245. Create `_templates/daily.md`, `_templates/meeting.md`, `_templates/project.md`, `_templates/reference.md` using the templates in [references/templates-and-daily-notes.md](references/templates-and-daily-notes.md).256. Configure Daily Notes: date format `YYYY-MM-DD`, location `daily/`, template `_templates/daily.md`, open on startup.267. Configure Templater: template folder `_templates`, enable folder templates (`daily/` → `_templates/daily.md`, `meetings/` → `_templates/meeting.md`), trigger on new file creation.278. Initialize Git: `git init`, create private remote, configure Obsidian Git plugin (auto backup every 10-30 min, auto pull on open, auto push after commit).2829## Vault organization principles3031- **Flat by default.** Most notes live at the vault root. Folders are for note _types_ (meetings, projects), not topics. Topics are tags.32- **Prefix system folders with `_`** (e.g., `_templates/`).33- **Never nest deeper than one level.**34- **Archive, don't delete.** Move stale notes to `archive/`.35- For alternative approaches (PARA, Zettelkasten, LYT), see [references/vault-organization-and-style.md](references/vault-organization-and-style.md).3637## Frontmatter schema3839Every note gets this minimum frontmatter:4041```yaml42---43tags:44 - type/meeting45 - project/auth-redesign46created: 2026-02-2647---48```4950Rules:51- **Flat YAML only** — Obsidian doesn't support nested properties.52- **Namespaced tags:** `type/`, `project/`, `lang/`, `topic/`. Pluralize leaf values.53- **`created` and `updated`** in `YYYY-MM-DD` format.54- **`status`** on actionable notes: `active`, `paused`, `completed`, `archived`.55- **Quote wikilinks in YAML:** `related: "[[Other Note]]"`.5657## Creating Obsidian-compatible Markdown5859When creating or editing `.md` files for an Obsidian vault:6061- Use **wikilinks**: `[[Note Title]]`, not `[Note Title](Note%20Title.md)`.62- Use **aliases** for readability: `[[Authentication Middleware|auth middleware]]`.63- Use **block references** for precision: `[[Architecture Doc#^decision-rationale]]`.64- Use `##` for top-level sections (reserve `#` for the note title).65- Use **callouts** for emphasis:66 ```markdown67 > [!warning] This API is deprecated in v368 > Use the new endpoint instead.69 ```70- Use **Templater syntax** (`<% tp.date.now("YYYY-MM-DD") %>`) in template files only.71- Use **inline fields** for Dataview: `Status:: In Progress`.7273## Writing Dataview queries7475Use `dataview` code blocks. Common patterns:7677**Table from tagged notes:**78````markdown79```dataview80TABLE status, priority, deadline81FROM #type/project82WHERE status = "active"83SORT priority ASC84```85````8687**Task aggregation:**88````markdown89```dataview90TASK91WHERE due >= date(today) AND due <= date(today) + dur(7 days)92WHERE !completed93SORT due ASC94```95````9697**Recent notes list:**98````markdown99```dataview100LIST101WHERE updated >= date(today) - dur(30 days)102SORT updated DESC103LIMIT 20104```105````106107For DataviewJS, inline fields, and advanced patterns, see [references/dataview-git-and-workflows.md](references/dataview-git-and-workflows.md).108109## Canvas files110111Canvas files (`.canvas`) use the [JSON Canvas](https://jsoncanvas.org) spec:112- Nodes: `text`, `file`, `link`, or `group`.113- Edges connect nodes with optional labels and colors.114- Coordinates can be negative — the canvas extends infinitely.115- Color-code by category: blue for people, yellow for events, green for decisions, red for blockers.116117## Reference material118119Consult these for detailed guidance:120121- **Vault structure, style guide, MOCs, linking strategies:** [references/vault-organization-and-style.md](references/vault-organization-and-style.md)122- **Core and community plugins, keyboard shortcuts:** [references/plugins-and-configuration.md](references/plugins-and-configuration.md)123- **Templates, frontmatter conventions, daily/weekly notes:** [references/templates-and-daily-notes.md](references/templates-and-daily-notes.md)124- **Dataview queries, Git backup, knowledge capture pipeline:** [references/dataview-git-and-workflows.md](references/dataview-git-and-workflows.md)125- **AI plugins, MCP servers, agent skills, Canvas:** [references/ai-integrations-and-canvas.md](references/ai-integrations-and-canvas.md)126- **Curated external links and resources:** [references/resources-and-links.md](references/resources-and-links.md)