Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    liaocaoxuezhe

    obsidian-templater-use

    liaocaoxuezhe/obsidian-templater-use
    Productivity
    25
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    创建和使用 Obsidian Templater 模板,包括动态变量、JavaScript 代码、系统命令和高级模板功能。当用户提到模板、Templater、动态内容、自动化笔记创建或需要模板语法帮助时使用此技能。

    SKILL.md

    obsidian_templater_use

    Instructions

    Provide clear, step-by-step guidance for Claude.

    Templater 插件使用指南

    Templater 概述

    Templater 是 Obsidian 的高级模板插件,支持动态变量、JavaScript 代码和系统命令,让模板更加智能和灵活。

    基本模板变量

    核心变量

    • {{title}} - 当前笔记标题
    • {{date}} - 当前日期(默认格式:YYYY-MM-DD)
    • {{time}} - 当前时间(默认格式:HH:mm)
    • {{date:YYYY年MM月DD日}} - 自定义日期格式
    • {{time:HH时mm分}} - 自定义时间格式

    基本模板示例

    ---
    title: {{title}}
    created: {{date}} {{time}}
    tags: [笔记]
    ---
    
    # {{title}}
    
    **创建时间**:{{date:YYYY年MM月DD日}} {{time:HH时mm分}}
    
    ## 内容
    
    ## 链接
    
    ## 总结
    

    Templater 高级功能

    动态变量系统

    • <% tp.file.title %> - 当前文件标题
    • <% tp.file.creation_date("YYYY-MM-DD") %> - 创建日期
    • <% tp.file.last_modified_date("YYYY-MM-DD") %> - 最后修改日期
    • <% tp.date.now("YYYY-MM-DDTHH:mm") %> - 当前日期时间
    • <% tp.date.weekday() %> - 星期几
    • <% tp.date.now("YYYYMMDDHHmmssSSS") %> - 时间戳UID

    系统交互功能

    • <% tp.system.prompt("请输入笔记主题") %> - 用户输入提示
    • <% tp.system.suggester(["选项1", "选项2"], ["值1", "值2"]) %> - 选择器
    • <% tp.system.clipboard() %> - 获取剪贴板内容
    • <% tp.system.open("path/to/file") %> - 打开文件

    文件操作功能

    • <% tp.file.cursor() %> - 光标位置标记
    • <% tp.file.cursor(1) %> - 多个光标位置
    • <% tp.file.path() %> - 当前文件路径
    • <% tp.file.folder() %> - 当前文件夹路径
    • <% tp.file.include("[[文件名]]") %> - 包含其他文件内容

    高级数据处理

    <%*
    // 随机标识符生成
    const randomId = Math.floor(Math.random() * 10000000 + 80000000).toFixed(7)
    tR += randomId
    
    // 条件判断
    const today = new Date()
    const hour = today.getHours()
    if (hour < 12) {
      tR += "上午好"
    } else {
      tR += "下午好"
    }
    
    // 循环处理
    const tags = ["工作", "学习", "生活"]
    for (let tag of tags) {
      tR += `#${tag} `
    }
    %>
    

    模板创建最佳实践

    1. 原子化设计

    • 每个模板专注于特定类型的笔记
    • 避免过于复杂的单个模板
    • 保持模板的可重用性

    2. 标准化结构

    • 保持一致的 frontmatter 格式
    • 使用统一的变量命名规范
    • 添加清晰的注释说明

    3. 灵活变量使用

    • 结合基本变量和高级动态变量
    • 使用条件判断适应不同场景
    • 利用用户输入增加交互性

    4. 错误处理

    • 添加默认值处理
    • 使用 try-catch 处理异常
    • 提供用户友好的错误提示

    常用模板类型和示例

    Zettelkasten 原子笔记模板

    ---
    uid: <% tp.date.now('YYYYMMDDHHmmssSSS') %>
    created: <% tp.date.now('YYYY-MM-DD') %>
    updated: <% tp.date.now('YYYY-MM-DD') %>
    type: zettel
    tags: []
    ---
    
    # <% tp.file.title %>
    
    <% tp.file.cursor() %>
    
    ## 相关链接
    
    ---
    **创建时间**:<% tp.date.now('YYYY年MM月DD日 HH:mm') %>
    

    读书笔记模板

    ---
    title: <% tp.system.prompt("请输入书名") %>
    author: <% tp.system.prompt("请输入作者") %>
    created: <% tp.date.now('YYYY-MM-DD') %>
    type: book-notes
    tags: [读书笔记, <% tp.system.prompt("请输入分类") %>]
    ---
    
    # <% tp.file.title %>
    
    **作者**:<% tR += tp.system.prompt("请输入作者") %>
    **页数**:<% tp.system.prompt("请输入总页数") %>
    **阅读进度**:<% tp.system.prompt("当前阅读页数") %>/<% tp.system.prompt("总页数") %>
    **评分**:⭐⭐⭐⭐⭐ (0-5)
    
    ## 核心观点
    
    <% tp.file.cursor() %>
    
    ## 关键摘录
    
    ## 个人思考
    
    ## 行动计划
    
    ## 相关笔记
    
    ---
    **创建时间**:<% tp.date.now('YYYY年MM月DD日 HH:mm') %>
    

    项目笔记模板

    ---
    project_name: <% tp.system.prompt("项目名称") %>
    status: 进行中
    priority: <% tp.system.suggester(["高", "中", "低"], ["high", "medium", "low"]) %>
    created: <% tp.date.now('YYYY-MM-DD') %>
    deadline: <% tp.system.prompt("截止日期 (YYYY-MM-DD)") %>
    type: project
    tags: [项目, <% tp.system.prompt("项目分类") %>]
    ---
    
    # <% tp.file.title %>
    
    **项目状态**:<% tp.system.suggester(["计划中", "进行中", "已暂停", "已完成"], ["planning", "in_progress", "paused", "completed"]) %>
    **优先级**:<%* const priority = tp.system.suggester(["高", "中", "低"], ["high", "medium", "low"]); if (priority === "high") { tR += "🔴 高" } else if (priority === "medium") { tR += "🟡 中" } else { tR += "🟢 低" } %>
    **截止日期**:<% tp.system.prompt("截止日期 (YYYY-MM-DD)") %>
    **创建时间**:<% tp.date.now('YYYY-MM-DD') %>
    
    ## 项目目标
    
    <% tp.file.cursor() %>
    
    ## 任务列表
    
    - [ ] 任务1
    - [ ] 任务2
    - [ ] 任务3
    
    ## 进度记录
    
    ### <% tp.date.now('YYYY-MM-DD') %>
    
    ## 资源链接
    
    ## 遇到的问题
    
    ## 解决方案
    
    ## 总结反思
    
    ---
    **创建时间**:<% tp.date.now('YYYY年MM月DD日 HH:mm') %>
    

    会议记录模板

    ---
    meeting_title: <% tp.system.prompt("会议主题") %>
    meeting_date: <% tp.date.now('YYYY-MM-DD') %>
    meeting_time: <% tp.system.prompt("会议时间") %>
    attendees: <% tp.system.prompt("参会人员 (用逗号分隔)") %>
    type: meeting-notes
    tags: [会议记录]
    ---
    
    # <% tp.file.title %>
    
    **会议时间**:<% tp.date.now('YYYY-MM-DD') %> <% tp.system.prompt("会议时间") %>
    **参会人员**:<% tp.system.prompt("参会人员 (用逗号分隔)") %>
    **记录人**:<% tp.system.prompt("记录人") %>
    
    ## 会议议程
    
    1. <% tp.file.cursor() %>
    2.
    3.
    
    ## 讨论要点
    
    ### 议题1:议题名称
    **讨论内容**:
    **决策结果**:
    
    ### 议题2:议题名称
    **讨论内容**:
    **决策结果**:
    
    ## 行动项
    
    | 任务 | 负责人 | 截止日期 | 状态 |
    |------|--------|----------|------|
    | 任务1 |  |  | 待开始 |
    | 任务2 |  |  | 待开始 |
    
    ## 下次会议安排
    
    **时间**:
    **议题**:
    
    ## 附件链接
    
    ---
    **记录时间**:<% tp.date.now('YYYY年MM月DD日 HH:mm') %>
    

    日记模板

    ---
    date: <% tp.date.now('YYYY-MM-DD') %>
    weekday: <% tp.date.weekday() %>
    weather: <% tp.system.prompt("今天天气如何?") %>
    mood: <% tp.system.suggester(["😊 很好", "😐 一般", "😔 不好"], ["good", "normal", "bad"]) %>
    type: daily
    tags: [日记]
    ---
    
    # <% tp.date.now('YYYY年MM月DD日') %> <% tp.date.weekday() %>
    
    ## 今日概要
    
    **天气**:<% tp.system.prompt("今天天气如何?") %>
    **心情**:<%* const mood = tp.system.suggester(["😊 很好", "😐 一般", "😔 不好"], ["good", "normal", "bad"]); tR += mood %>
    
    ## 专注时刻
    
    <% tp.file.cursor() %>
    
    ## 学习收获
    
    ## 生活感悟
    
    ## 明日计划
    
    ## 感恩记录
    
    ---
    **记录时间**:<% tp.date.now('YYYY年MM月DD日 HH:mm') %>
    

    高级模板技巧

    动态文件名生成

    <%*
    // 根据当前日期和时间生成文件名
    const timestamp = tp.date.now('YYYYMMDDHHmmss')
    const title = tp.system.prompt("请输入笔记标题")
    await tp.file.rename(`${timestamp}-${title}`)
    %>
    

    自动标签管理

    <%*
    // 根据文件夹自动添加标签
    const folder = tp.file.folder()
    const tags = []
    if (folder.includes("Projects")) {
      tags.push("项目")
    }
    if (folder.includes("Books")) {
      tags.push("读书")
    }
    tags.push(tp.system.prompt("请输入其他标签 (用空格分隔)"))
    tR += tags.join(" ")
    %>
    

    智能链接创建

    <%*
    // 检查相关文件是否存在并创建链接
    const relatedFile = tp.system.prompt("请输入相关笔记名称")
    const files = app.vault.getFiles()
    const exists = files.some(file => file.basename === relatedFile)
    if (exists) {
      tR += `[[${relatedFile}]]`
    } else {
      tR += relatedFile + " (待创建)"
    }
    %>
    

    模板使用流程

    1. 安装和配置

    • 从社区插件市场安装 Templater
    • 配置模板文件夹路径
    • 启用自动触发器(可选)

    2. 创建模板

    • 在 /template/ 文件夹创建新模板
    • 使用 .md 扩展名
    • 编写模板内容,包含必要的变量

    3. 应用模板

    • 使用命令面板:"Templater: Insert Template"
    • 设置快捷键快速访问
    • 配置文件夹自动触发器

    4. 调试和优化

    • 检查模板语法错误
    • 测试动态变量功能
    • 根据使用情况调整模板结构

    常见问题解决

    语法错误

    • 检查 <% %> 标签配对
    • 确认 JavaScript 语法正确
    • 验证变量名拼写

    性能优化

    • 避免过于复杂的循环
    • 减少文件系统操作
    • 使用缓存机制

    兼容性问题

    • 确保插件版本兼容
    • 检查与其他插件的冲突
    • 备份重要模板

    Examples

    Show concrete examples of using this Skill.

    Recommended Servers
    Codeinterpreter
    Codeinterpreter
    Google Docs
    Google Docs
    Google Slides
    Google Slides
    Repository
    liaocaoxuezhe/obsidian_claudecode_prompt
    Files