Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

export-vault-note

Exports a single Obsidian vault note and all its linked images into a portable zip or tar.gz archive. Paths inside the archive preserve vault-root-relative structure so the archive unpacks correctly anywhere.

Invocation

This skill is slash-command only — it does not trigger on keywords:

/export-vault-note <vault-relative-path> [zip|tar] [output-dir]

Examples:

/export-vault-note projects/blog/my-post.md zip
/export-vault-note meeting-notes/2026-05-sprint.md tar ~/Desktop
/export-vault-note ai/research/summary.md zip /tmp

What It Does

  1. Parses arguments — note path, format (zip or tar), and output directory; prompts for anything not supplied
  2. Confirms output location — defaults to one directory above the vault root; asks the user before proceeding
  3. Detects the vault root — walks up the directory tree from CWD looking for a .obsidian folder; asks if not found
  4. Resolves all linked images — handles both ![[wiki-links]] and ![inline](markdown) links; bare filenames (no path separator) trigger a vault-wide search
  5. Builds the archive — zip or tar.gz with vault-root-relative paths preserved; overwrites silently if the output already exists
  6. Reports results — full archive path, note path inside the archive, each image included, and any warnings for skipped or unresolved images

Image Link Support

Link style Example Resolution
Wiki bare ![[diagram.png]] Vault-wide filename search
Wiki with path ![[assets/diagram.png]] Vault-root-relative lookup
Inline Markdown ![alt](assets/diagram.png) Vault-root-relative, then note-relative
External URL ![](https://…) Skipped with warning

Prerequisites

  • Python 3 — standard library only (zipfile, tarfile, pathlib, re); no packages to install
  • Must be invoked from within or near an Obsidian vault (directory containing .obsidian/)

Eval Results

Eval files are in .workspace/evals/:

  • evals.json — 3 functional test cases: zip with inline images, tar with bare wiki-links, output-dir confirmation prompt

No trigger-evals.json — this skill is user-invocable only and intentionally does not auto-trigger on keywords.