obsidian-templater_skill

This skill helps you generate and debug Obsidian Templater templates and tp.* snippets from natural language instructions.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
obsidian-templater skill by nweii/agent-stuff | VeilStrat