[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C68G562MYWNMNBD46K52M1":3,"skill-same:01M6C68G562MYWNMNBD46K52M1":75},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6C68G562MYWNMNBD46K52M1","templates",null,"Obsidian Templates plugin: list, read, insert templates with {{date}}\u002F{{time}}\u002F{{title}} variables. Use when inserting or applying a template.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",60,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fobsidian-plugin\u002Fskills\u002Ftemplates\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"use","2026","when","title","Variables","with","sep","false","time","obsidian","list","read","grep","template","Bash","plugin","2026-11-10 10:12:30",false,"---\ncreated: 2026-04-30\nmodified: 2026-09-22\nreviewed: 2026-09-22\nname: templates\ndescription: \"Obsidian Templates plugin: list, read, insert templates with {{date}}\u002F{{time}}\u002F{{title}} variables. Use when inserting or applying a template.\"\nuser-invocable: false\nallowed-tools: Bash(obsidian *), Read, Grep, Glob\n---\n\n# Obsidian Templates\n\n## When to Use This Skill\n\n| Use this skill when... | Use the alternative instead when... |\n|---|---|\n| Listing or previewing the templates configured in the vault | Editing template content as a plain note — use `vault-files` |\n| Inserting a template into the currently open note | Creating a new note **from** a template — use `vault-files` `create … template=…` |\n| Reading the resolved (`{{date}}` → real date) form of a template | Working with Templater plugin scripts — use `command-palette` for `templater-obsidian:*` |\n\nThis skill covers the **core Templates plugin**. The community Templater\nplugin uses a different command surface — invoke it via `command-palette`\n(`templater-obsidian:*`) instead.\n\n## Prerequisites\n\n- Obsidian desktop 1.12.7+ installer with CLI enabled\n- Obsidian must be running\n- Core **Templates** plugin enabled, with a templates folder configured\n\n## List Templates\n\n```bash\n# All templates\nobsidian templates\n\n# Just the count\nobsidian templates total\n```\n\n## Read a Template\n\n```bash\n# Raw template content (variables unresolved)\nobsidian template:read name=\"Meeting\"\n\n# Resolve variables ({{date}}, {{time}}, {{title}})\nobsidian template:read name=\"Meeting\" resolve\n\n# Provide a title for {{title}} resolution\nobsidian template:read name=\"Meeting\" title=\"Standup 2026-04-30\" resolve\n```\n\n## Insert a Template\n\n```bash\n# Insert into the active file at the cursor\nobsidian template:insert name=\"Meeting\"\n```\n\n`template:insert` only works on the active editor. To create a new note\nfrom a template instead, reach for `vault-files`:\n\n```bash\nobsidian create name=\"Meeting 2026-04-30\" template=\"Meeting\"\n```\n\n## Common Patterns\n\n### \"Preview what a template will produce before inserting\"\n\n```bash\nobsidian template:read name=\"Daily\" resolve\n```\n\n### \"Bulk-create a week of daily notes from a template\"\n\n```bash\nfor offset in 0 1 2 3 4; do\n  date=$(date -v+${offset}d +%F)   # macOS; use date -d \"+$offset days\" +%F on Linux\n  obsidian create path=\"Daily\u002F$date.md\" template=\"Daily\"\ndone\n```\n\n### \"Open today's daily template raw vs resolved (debugging)\"\n\n```bash\nobsidian template:read name=\"Daily\"           # raw, with {{date}}\nobsidian template:read name=\"Daily\" resolve   # with today's date filled in\n```\n\n## Template Variables\n\nThe core Templates plugin understands:\n\n| Variable | Resolves to |\n|----------|-------------|\n| `{{date}}` | Current date (format from Templates settings) |\n| `{{time}}` | Current time (format from Templates settings) |\n| `{{title}}` | The new note's title (or `title=` parameter) |\n\nUse the `resolve` flag to apply these — without it, `template:read` returns\nthe raw source, which is what you want for editing the template itself.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| List templates | `obsidian templates` |\n| Template count | `obsidian templates total` |\n| Raw template body | `obsidian template:read name=X` |\n| Resolved template body | `obsidian template:read name=X resolve` |\n| Insert into active file | `obsidian template:insert name=X` |\n| Create new note from template | `obsidian create name=X template=Y` (see `vault-files`) |\n\n## Related Skills\n\n- **vault-files** — Create new notes from templates (`create … template=…`)\n- **command-palette** — Invoke Templater (`templater-obsidian:*`) commands\n- **plugins-themes** — Enable \u002F configure the Templates core plugin\n","# Obsidian Templates\n\n## When to Use This Skill\n\n| Use this skill when... | Use the alternative instead when... |\n|---|---|\n| Listing or previewing the templates configured in the vault | Editing template content as a plain note — use `vault-files` |\n| Inserting a template into the currently open note | Creating a new note **from** a template — use `vault-files` `create … template=…` |\n| Reading the resolved (`{{date}}` → real date) form of a template | Working with Templater plugin scripts — use `command-palette` for `templater-obsidian:*` |\n\nThis skill covers the **core Templates plugin**. The community Templater\nplugin uses a different command surface — invoke it via `command-palette`\n(`templater-obsidian:*`) instead.\n\n## Prerequisites\n\n- Obsidian desktop 1.12.7+ installer with CLI enabled\n- Obsidian must be running\n- Core **Templates** plugin enabled, with a templates folder configured\n\n## List Templates\n\n```bash\n# All templates\nobsidian templates\n\n# Just the count\nobsidian templates total\n```\n\n## Read a Template\n\n```bash\n# Raw template content (variables unresolved)\nobsidian template:read name=\"Meeting\"\n\n# Resolve variables ({{date}}, {{time}}, {{title}})\nobsidian template:read name=\"Meeting\" resolve\n\n# Provide a title for {{title}} resolution\nobsidian template:read name=\"Meeting\" title=\"Standup 2026-04-30\" resolve\n```\n\n## Insert a Template\n\n```bash\n# Insert into the active file at the cursor\nobsidian template:insert name=\"Meeting\"\n```\n\n`template:insert` only works on the active editor. To create a new note\nfrom a template instead, reach for `vault-files`:\n\n```bash\nobsidian create name=\"Meeting 2026-04-30\" template=\"Meeting\"\n```\n\n## Common Patterns\n\n### \"Preview what a template will produce before inserting\"\n\n```bash\nobsidian template:read name=\"Daily\" resolve\n```\n\n### \"Bulk-create a week of daily notes from a template\"\n\n```bash\nfor offset in 0 1 2 3 4; do\n  date=$(date -v+${offset}d +%F)   # macOS; use date -d \"+$offset days\" +%F on Linux\n  obsidian create path=\"Daily\u002F$date.md\" template=\"Daily\"\ndone\n```\n\n### \"Open today's daily template raw vs resolved (debugging)\"\n\n```bash\nobsidian template:read name=\"Daily\"           # raw, with {{date}}\nobsidian template:read name=\"Daily\" resolve   # with today's date filled in\n```\n\n## Template Variables\n\nThe core Templates plugin understands:\n\n| Variable | Resolves to |\n|----------|-------------|\n| `{{date}}` | Current date (format from Templates settings) |\n| `{{time}}` | Current time (format from Templates settings) |\n| `{{title}}` | The new note's title (or `title=` parameter) |\n\nUse the `resolve` flag to apply these — without it, `template:read` returns\nthe raw source, which is what you want for editing the template itself.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| List templates | `obsidian templates` |\n| Template count | `obsidian templates total` |\n| Raw template body | `obsidian template:read name=X` |\n| Resolved template body | `obsidian template:read name=X resolve` |\n| Insert into active file | `obsidian template:insert name=X` |\n| Create new note from template | `obsidian create name=X template=Y` (see `vault-files`) |\n\n## Related Skills\n\n- **vault-files** — Create new notes from templates (`create … template=…`)\n- **command-palette** — Invoke Templater (`templater-obsidian:*`) commands\n- **plugins-themes** — Enable \u002F configure the Templates core plugin\n",{"name":5,"created":40,"modified":41,"reviewed":41,"description":7,"allowed-tools":42,"user-invocable":36},1777507200000,1790035200000,"Bash(obsidian *), Read, Grep, Glob","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","obsidian-plugin\u002Fskills\u002Ftemplates",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-13 20:24:11",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add laurigates\u002Fclaude-plugins --skill templates",{"tool":57,"command":58},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill templates",{"tool":60,"command":61},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill templates","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fobsidian-plugin\u002Fskills\u002Ftemplates\u002FSKILL.md",true,[65,71],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"SOURCE.md","REFERENCE","参考文档",206,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fexton-wallet-skill\u002FSOURCE.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fexton-wallet-skill\u002FTRUST.auto.yaml",[76,102,122,138,161,190],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":87,"publishedAt":35},"01M70PFHMH9ADY0CRE6047Y4B2","kitty-show-image","Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no \u002Fdev\u002Ftty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-show-image\u002FSKILL.md",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[88,89,90,91,92,93,94,95,96,97,19,21,33,98,99,24,100,101,20,30],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","xdg","via",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":35},"01M70PFEN18HKQ4RCQ1VPGMPTB","kitty-session-persistence","Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-session-persistence\u002FSKILL.md",[],[91,109,110,111,26,112,21,33,113,114,115,20,30,116,117,118,119,120,121,19],"kitty session persistence","session","persistence","snapshots","uname","reboot","terminal","write","edit","snapshot","macos","sessions","restore",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":35},"01M70PFC77XGXCVQ1543VGZHYR","kitty-remote-control","Safe kitty remote control from an agent — read panes with kitty @ ls\u002Fget-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-remote-control\u002FSKILL.md",[],[129,130,91,131,132,93,133,134,94,135,136,19,21,137,33,99,24,115,20,30],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":35},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check","Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved\u002Fdeleted files, or wiring a doc-drift lint.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[145,146,147,148,149,150,151,152,153,154,19,21,33,155,98,156,157,158,159,160],"docs reference check","check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":176,"publishedAt":35},"01M6C6NDE7DAQGNWSF22J5CJ0Z","youtube-upload","Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-upload\u002FSKILL.md",[167,170,171],{"categoryNo":168,"categoryName":169,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},{"categoryNo":172,"categoryName":173,"taxonomyType":174,"taxonomyTypeDesc":175},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[177,178,179,180,151,181,30,182,117,183,184,185,19,33,98,186,187,21,188,189,22,101,20],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":199,"publishedAt":35},"01M6C6NABWW1X58KJJM4F6GQMQ","youtube-studio-share","Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-studio-share\u002FSKILL.md",[196],{"categoryNo":197,"categoryName":198,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000023","Skill与智能体开发",[200,201,202,203,179,180,204,205,206,207,208,30,209,210,211,212,19,213,21,24,214,20],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]