Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Slash snippets

echo-sauravecho-saurav10k downloads

Use slash command to insert quick text

Add to Obsidian
  • Overview
  • Scorecard
  • Updates14

Quickly insert your most-used text snippets while writing in Obsidian. Perfect for things like Dataview blocks, callouts, templates, or any reusable text.

gif

Setup

  • Pick a trigger character, by default, it’s / (slash).
  • Enter the folder path where you'll keep all your text snippets.
  • Set a folder path where you will be store all your text snippets.
  • Turn on Ignore properties if you don’t want property values included when inserting snippets.
  • Enable Templater support if you want to use Templater syntax inside snippets.
  • Add your snippets to the folder you specified.

image

How to install

Currently its under review , you can install using BRAT plugin or manually

Manual Installation

  • Download main.js , manifest.json , styles.css the latest release from the releases page
  • create a folder name slash-snippets-plugin in .obsidian/plugins
  • put all the file you downloaded in your vault's .obsidian/plugins/slash-snippets-plugin/ directory
  • Reload Obsidian
  • Enable the plugin in Settings -> Community Plugins

Text Variables

cursor position

use %%cursor%% in the snippet file to have a predefined position after the snippet is inserted.

Example:

<iframe src="%%cursor%%" height="400px" width="100%"></iframe>

Text selection insert

insert last selected text into snippet.

Example

> [!faq]- %%textSelection%%
> 

gif

Here are some inspirations for snippets

Colorful text

<span style='background:red; color: white'>%%cursor%%</span> 

Or this, if you want text selection

<span style='background:red; color: white'>%%cursor%%%%textSelection%%</span> 

image

Callouts

> [!faq]- Are callouts foldable?
> yes 
> [!success] 
> nice!

2 col table

| 1   | 2   |
| --- | --- |
|     |     |

3 col table

| 1   | 2   | 3   |
| --- | --- | --- |
|     |     |     |

4 col table

| 1   | 2   | 3   | 4   |
| --- | --- | --- | --- |
|     |     |     |     |
|     |     |     |     |

Html snippets

</br> </br>
<iframe src=" " height="400px" width="100%"></iframe>

mermaid chart

```mermaid
flowchart LR 
    Start --> Stop
```

Also you can mix with templater code to make powerful snippets**

Iframe

<iframe src="<% await tp.system.prompt("Ifram Url") %>" height="400px" width="100%"></iframe>

Markdown comment

<!-- <% tp.file.cursor() %> -->

You can create some snippets named as today, yesterday and so on

today

[[<%tp.date.now("YYYY-MM-DD")%>]] 

tomorrow

[[<% tp.date.now("YYYY-MM-DD" ,1) %>]] 

yesterday

[[<% tp.date.now("YYYY-MM-DD" ,-1) %>]]

last week

[[<% tp.date.now("YYYY-MM-DD" ,-7) %>]]

Quick dataview

```dataview
LIST FROM "<%tp.file.cursor()%>"
SORT file.mtim DESC
```
```dataview
TABLE 
<%tp.file.cursor(1)%>
FROM "<%tp.file.cursor()%>"

WHERE
<%tp.file.cursor(2)%>

SORT file.mtim DESC
```

Progress bar for tasks in a note with inline dataview

`= "<progress value='" + (length(filter(this.file.tasks.completed, (t) => t = true)) / length(this.file.tasks)) * 100 + "' max='100'></progress>" + "<br>" + round((length(filter(this.file.tasks.completed, (t) => t = true)) / length(this.file.tasks)) * 100) + "% completed"`

List all backlinks

## Backlinks
```dataview
LIST FROM [[<%tp.file.title%>]]
```

List all outgoing links

## Outlinks
```dataview
LIST
WITHOUT ID
file.link
FROM  "/"

WHERE 
contains(file.inlinks ,[[<%tp.file.title%>]] )

```

AI Templates with obsidian-ai-templater plugin

Answer question about the note

<%*_
const content = tp.file.content
const userInput = await tp.system.prompt("What you want to write?")

let cleanContent = content.replace(/^-{3}[\s\S]*?-{3}\s*/gm, '');
cleanContent = cleanContent.replace(/<%\*_[\s\S]*?_%\>/g, '');
cleanContent = cleanContent.replace(/<%[\s\S]*?%\>/g, '');
cleanContent = cleanContent.trim();

const prompt = `
${userInput}
Do this based on the note bellow , 
---
${cleanContent}
--

Do not add any yaml for notes, only do or asked as user said. keep it simple and short
`
const aiWrite = await tp.ai.chat(prompt)

_%>
<% tp.file.cursor() %>
<% aiWrite %> 

Make summery of current note

<%*_
const content = tp.file.content

let cleanContent = content.replace(/^-{3}[\s\S]*?-{3}\s*/gm, '');
cleanContent = cleanContent.replace(/<%\*_[\s\S]*?_%\>/g, '');
cleanContent = cleanContent.replace(/<%[\s\S]*?%\>/g, '');
cleanContent = cleanContent.trim();

const prompt = `
Make a summery of the text bellow 
---
${cleanContent}
--

Only make summery dont make heading or anything else, your output will be inserted into a note , so write it as a note's summery sections. 
`
const summery = await tp.ai.chat(prompt)
_%>
<% tp.file.cursor() %>
## Summery
<% summery.trim() %>

Make tasks list for notes

<%*_
const content = tp.file.content
let cleanContent = content.replace(/^-{3}[\s\S]*?-{3}\s*/gm, '');
cleanContent = cleanContent.replace(/<%\*_[\s\S]*?_%\>/g, '');
cleanContent = cleanContent.replace(/<%[\s\S]*?%\>/g, '');
cleanContent = cleanContent.trim();

const prompt = `
Read this notes bellow carefully and make markdown tasks list based on what the notes talking about doing or planning 
---
${cleanContent}
--

Only make tasks dont make heading or anything else, your output will be inserted into a note , so write it as a note's ## Todo's sections, so you dont have to write heading for todo's, Only markdown task 
ex: 
- [ ] something 
`
const tasks = await tp.ai.chat(prompt)
_%>
<% tp.file.cursor() %>
## Todo's
<% tasks %>

Mermaid chart

<%*_
const content = tp.file.content
let cleanContent = content.replace(/^-{3}[\s\S]*?-{3}\s*/gm, '');
cleanContent = cleanContent.replace(/<%\*_[\s\S]*?_%\>/g, '');
cleanContent = cleanContent.replace(/<%[\s\S]*?%\>/g, '');
cleanContent = cleanContent.trim();


const prompt = `
Read this notes bellow carefully and make top down mermaid flowchart based on what the notes talking about, include key points the note says
---
${cleanContent}
--
`
const mermaidChart = await tp.ai.chat(prompt)
_%>
<% tp.file.cursor() %>
<% mermaidChart %> 

Answer question about note

<%*_
const content = tp.file.content
const userInput = await tp.system.prompt("What you want to write?")

let cleanContent = content.replace(/^-{3}[\s\S]*?-{3}\s*/gm, '');
cleanContent = cleanContent.replace(/<%\*_[\s\S]*?_%\>/g, '');
cleanContent = cleanContent.replace(/<%[\s\S]*?%\>/g, '');
cleanContent = cleanContent.trim();

const prompt = `
${userInput}
Do this based on the note bellow , 
---
${cleanContent}
--

Do not add any yaml for notes, only do or asked as user said. keep it simple and short
`
const aiWrite = await tp.ai.chat(prompt)

_%>
<% tp.file.cursor() %>
<% aiWrite %>
HealthGood
ReviewCaution
About
Insert frequently used text snippets instantly while writing in Obsidian using a chosen trigger (default '/'). Store snippets as plain-text files and include variables like %%cursor%% and %%textSelection%%; enable Templater syntax to create dynamic snippets for Dataview blocks, callouts, HTML, mermaid, and more.
AutocompleteTemplatingFiles
Details
Current version
1.0.18
Last updated
6 months ago
Created
Last year
Updates
14 releases
Downloads
10k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
echo-sauravecho-saurav
github.com/echo-saurav
GitHubecho-saurav
  1. Community
  2. Plugins
  3. Autocomplete
  4. Slash snippets

Related plugins

QuickAdd

Quickly add new notes or content to your vault.

Create Note in Folder

Add commands to create a note in a specific folder.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.

Omnisearch

Intelligent search for your notes, PDFs, and OCR for images.

Recent Files

Display a list of recently opened files.

Templater

Create and use dynamic templates.