- Home
- Skills
- Nweii
- Agent Stuff
- Obsidian Templater
obsidian-templater_skill
- TypeScript
0
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
3 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill nweii/agent-stuff --skill obsidian-templater- CHANGELOG.md778 B
- SKILL.md8.6 KB
Overview
This skill helps you create, understand, and debug templates for the Obsidian Templater plugin. It converts natural-language requirements into working <% %> templates, explains tp.* snippets, and adapts existing notes or workflows to use Templater features. Use it to generate date helpers, dynamic frontmatter, prompts, includes, and advanced JS blocks safely.
How this skill works
I inspect template goals, current note structure, and any provided tp.* snippets to produce corrected or improved template code and usage examples. I explain tag types (<% %>, <%* %>), whitespace trimming, tR output handling, async patterns (await tp.*), and common modules like tp.date, tp.file, tp.system, tp.web, tp.frontmatter, tp.config, and tp.user. I can also suggest vault-aware adaptations and point out mobile limitations for user scripts.
When to use it
- You want a new Obsidian template from a plain-language description (daily notes, meeting notes, person templates).
- You have a broken <% %> or tp.* snippet that needs debugging or explanation.
- You need to convert existing notes or workflows into templates that create or rename files.
- You want safer or more maintainable uses of async tp.system and tp.file functions.
- You need help trimming whitespace, preserving cursor positions, or chaining nested templates.
Best practices
- Prefer <%* %> for multi-line JS and build output by appending to tR; use <% %> for simple expressions.
- Use -%> or <%_ / _%> to trim unwanted blank lines from conditional blocks and improve output formatting.
- Keep async calls inside <%* %> and always await tp.system or tp.file.create_new to avoid race conditions.
- Use tp.config and tp.file.* dynamic properties to make templates reusable across note types.
- Place reusable helpers in tp.user scripts (CommonJS) and remember they are unavailable on mobile.
Example use cases
- Generate a daily note template with formatted dates, yesterday/tomorrow links, a quote, and cursor placement.
- Create a prompted metadata template that asks for a title and status, renames the file, and writes frontmatter.
- Debug a template that leaves blank lines by suggesting -%> placement or trimming logic.
- Convert an existing static note into a create_new template that populates fields using tp.frontmatter values.
- Compose a template that includes another note's content and processes it via tp.file.include.
FAQ
Use tR inside <%* %> execution blocks to accumulate string output; use <% %> for single expression outputs. tR is required when you build content across multiple statements.
How do I run async functions in templates?
Use <%* %> blocks and await async tp.* calls (for example await tp.system.suggester(...)). Async work inside <%* %> ensures results are available before the template finishes.