vault-templates

Installation
SKILL.md

Templater Convention & Drift Repair

Obsidian's Templater plugin renders placeholder syntax when a new note is created. When rendering fails (plugin error, user dismissal, manual copy-paste), the literal markers get committed and persist. Fixing them is mechanical.

Unrendered Markers

Marker Meaning Fix
<% tp.file.cursor(N) %> Cursor position placeholder Strip the entire tag
<% tp.file.title %> Filename stem Replace with actual filename (no .md)
<% tp.date.now("YYYY-MM-DD") %> Today's date Replace with the creation date from frontmatter, or the filename date for daily notes
{{title}} Filename stem (legacy) Replace with filename stem
{{date}} Today's date (legacy) Same as above
<% await tp.system.prompt(...) %> User prompt Strip; requires user to refill

Detection

# Find any Templater leak
rg '<%\s*tp\.' --glob '*.md'
rg '\{\{title\}\}|\{\{date\}\}' --glob '*.md'

Fixing <% tp.file.cursor(1) %>

Before:

---
tags: [πŸ“/notes]
---

<% tp.file.cursor(1) %>

After:

---
tags: [πŸ“/notes]
---

Use Edit with old_string='\n\n<% tp.file.cursor(1) %>' and new_string='' (or adjust for trailing whitespace) β€” the cursor marker never has meaningful content around it.

Fixing {{title}} in daily notes

Before (file FVH/notes/2025-03-26.md):

# {{title}}

## Log

After:

# 2025-03-26

## Log

Use the filename stem (no .md). Don't replace {{title}} inside code blocks or quoted text β€” only in headings / body.

Canonical Template Files

The templates themselves live in Templates/ and should contain raw Templater syntax β€” never "fix" them. Only fix notes outside Templates/.

Template Produces Sections
Daily.md Notes/YYYY-MM-DD.md Quick Links, Today's Focus, Work, Personal, Tomorrow's Prep, Navigation
MOC.md Zettelkasten/{Subject} MOC.md Title heading + sections
New.md general Zettelkasten notes Frontmatter + body stub
FVH Daily.md FVH/notes/YYYY-MM-DD.md Log, Thoughts, Discoveries, Todo, Recurring reminders

Daily Note Structure Drift

Personal daily notes created before 2025 usually lack ## Navigation and ## Tomorrow's Prep. Two remediation options:

  1. Retrofit template β€” add the missing sections to every old daily note. Usually not worth the diff; users rarely look at old daily notes.
  2. Leave as-is β€” document the change boundary in a single commit message and let old notes age.

Default to #2 unless the user specifically asks for retrofit.

FVH Daily Note Drift

7 FVH daily notes contain literal {{title}} in the heading β€” fix these.

Safety

  • Never edit Templates/*.md when fixing leakage β€” templates are supposed to contain Templater syntax.
  • Never run a blanket sed -i 's/{{title}}/.../' β€” always use file-specific Edit calls so the title derivation is correct per file.
  • When you encounter <% tp.system.prompt(...) %>, don't guess the answer β€” flag for user.

Related Skills

  • vault-frontmatter β€” YAML-level fixes
  • vault-files β€” daily-note operations via Obsidian CLI
Weekly Installs
3
GitHub Stars
28
First Seen
7 days ago