vault_write
Create a new note from a template with required frontmatter tags and auto-substituted variables. Ensures proper note metadata and structure in Obsidian.
Instructions
Create a new note from a template. Notes must be created from templates to ensure proper frontmatter.
Available templates: (No templates found - add .md files to 05-Templates/)
Built-in variables (auto-substituted):
<% tp.date.now("YYYY-MM-DD") %> - Current date
<% tp.file.title %> - Derived from output path filename
Required: frontmatter.tags - provide at least one tag for the note.
Optional: frontmatter.status, frontmatter.priority, frontmatter.project, frontmatter.deciders, frontmatter.due, frontmatter.source (depending on template type).
Pass custom <%...%> variables via the 'variables' parameter. Paths in this tool's output are formatted as markdown links [vault-relative-path.md](obsidian://...) so users can Cmd/Ctrl-click to open in Obsidian. Preserve the link form when relaying paths to the user; pass only the bracket text (e.g. 01-Projects/Foo/note.md) to other vault tools' path arguments, never the full markdown link.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Output path relative to vault root | |
| template | Yes | Template name (filename without .md from 05-Templates/) | |
| variables | No | Custom variables for <%...%> patterns in body (key-value string pairs) | |
| createDirs | No | Create parent directories if they don't exist | |
| frontmatter | No | Frontmatter fields to set (e.g., {tags: ['tag1', 'tag2'], status: 'active'}) |