Agent skill · software engineering · jeremylongshore

obsidian-local-dev-loop

Set up a fast Obsidian plugin development loop with hot reload.

Why this skill is useful

Adds executable scripts for setting up a fast Obsidian plugin development environment with hot reload and debugging capabilities.

What it needs

Requires git, node, obsidian installed locally. About 5k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

Obsidian Local Dev Loop Overview Establish a fast edit-build-test cycle for Obsidian plugins. Clone the official sample plugin, run esbuild in watch mode, symlink into a dev vault, hot-reload with Ctrl+R, debug with Chrome DevTools, and run tests with vitest. Aimed at sub-second feedback from save to reload. Prerequisites Node.js 18+ with npm Git Obsidian desktop app installed A vault dedicated to development (keep it separate from your real notes) Instructions Step 1: Clone the official sample plugin Start from the maintained template rather than from scratch: The sample includes esbuild.config.mjs, tsconfig.json, manifest.json, and a working src/main.ts. Step 2: Create a dedicated dev vault Keep a vault just for testing. Pre-populate it with sample notes. Open this vault in Obsidian: File > Open vault > select ~/ObsidianDev. Step 3: Symlink the plugin into the dev vault Instead of copying files after every build, symlink the entire project directory. The build outputs main.js at the project root, right where Obsidian expects it. On Windows, use an admin terminal: Step 4: Run esbuild in watch mode Watch mode rebuilds main.js on every source file change (typically <50ms). The esbuild.config.mjs from the sample plugin already supports this. Inline source maps are enabled in dev mode for accurate stack traces. Step 5: Hot-reload in Obsidian After esbuild rebuilds, reload the plugin in Obsidian: Method A -- Keyboard (fastest): Press Ctrl+R (or Cmd+R on macOS) to reload the app. This unloads all plugins and reloads them, picking up the new main.js. Method B -- Hot Reload plugin (automatic): Install the Hot Reload community plugin. It watches for main.js changes in plugin directories and auto-reloads only the changed plugin. No manual refresh needed. 1. In Obsidian, install "Hot Reload" from Community plugins 2. Enable it 3. Create a .hotreload file in your plugin directory: touch .hotreload 4. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/obsidian-local-dev-loop

View the source on GitHub

Browse the @skills marketplace