Skip to content
Back to skills

Obsidian Install Auth

BSecurity

Set up Obsidian plugin development environment with Node.js and TypeScript. Use when starting a new plugin project, configuring the dev environment, or initializing Obsidian plugin development. Trigger with phrases like "obsidian setup", "obsidian plugin dev", "create obsidian plugin", "obsidian development environment".

  • 2,688 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 7, 2026
developmenttypescriptbashnodegitapi

Works with

  • vscode
  • terminal
  • api

Security analysis

B89/100
  • highPerforms destructive filesystem operations
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned February 10, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill obsidian-install-auth --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Obsidian Install Auth?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Obsidian Install Auth
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-obsidian-install-auth/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-obsidian-install-auth)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: obsidian-install-auth
description: |
  Set up Obsidian plugin development environment with Node.js and TypeScript.
  Use when starting a new plugin project, configuring the dev environment,
  or initializing Obsidian plugin development.
  Trigger with phrases like "obsidian setup", "obsidian plugin dev",
  "create obsidian plugin", "obsidian development environment".
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(git:*), Grep
version: 1.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
---

# Obsidian Install & Auth

## Overview
Set up a complete Obsidian plugin development environment with TypeScript, esbuild, and hot-reload capabilities.

## Prerequisites
- Node.js 18+ (LTS recommended)
- npm or pnpm package manager
- Obsidian desktop app installed
- Git for version control
- Code editor with TypeScript support (VSCode recommended)

## Instructions

### Step 1: Clone the Sample Plugin Template
```bash
# Clone official sample plugin
git clone https://github.com/obsidianmd/obsidian-sample-plugin.git my-obsidian-plugin
cd my-obsidian-plugin

# Remove existing git history for fresh start
rm -rf .git
git init
```

### Step 2: Install Dependencies
```bash
# Install all dependencies
npm install

# Key dependencies included:
# - @types/node
# - typescript
# - esbuild
# - obsidian (types only - provided by Obsidian app)
```

### Step 3: Configure Development Vault
```bash
# Create a dedicated development vault
mkdir -p ~/ObsidianDev/.obsidian/plugins/my-obsidian-plugin

# Link your plugin for development
# On macOS/Linux:
ln -s "$(pwd)" ~/ObsidianDev/.obsidian/plugins/my-obsidian-plugin

# On Windows (run as admin):
# mklink /D "%USERPROFILE%\ObsidianDev\.obsidian\plugins\my-obsidian-plugin" "%CD%"
```

### Step 4: Update manifest.json
```json
{
  "id": "my-obsidian-plugin",
  "name": "My Obsidian Plugin",
  "version": "1.0.0",
  "minAppVersion": "1.0.0",
  "description": "Description of your plugin",
  "author": "Your Name",
  "authorUrl": "https://your-website.com",
  "isDesktopOnly": false
}
```

### Step 5: Verify Setup
```bash
# Build the plugin
npm run build

# Start development mode with hot-reload
npm run dev
```

## Output
- Cloned and configured plugin project
- Development vault with symlinked plugin
- Working build pipeline with esbuild
- Hot-reload enabled for rapid development

## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Cannot find module 'obsidian' | Types not installed | Run `npm install` again |
| Plugin not showing in Obsidian | Symlink broken | Verify symlink path, restart Obsidian |
| Build failed | TypeScript errors | Check `tsconfig.json` configuration |
| Hot-reload not working | Missing BRAT or wrong path | Install BRAT plugin or verify symlink |
| Permission denied | Symlink requires admin | Run terminal as administrator |

## Examples

### Project Structure
```
my-obsidian-plugin/
├── src/
│   └── main.ts           # Plugin entry point
├── styles.css            # Optional: Plugin styles
├── manifest.json         # Plugin metadata
├── package.json          # Node dependencies
├── tsconfig.json         # TypeScript config
├── esbuild.config.mjs    # Build configuration
└── versions.json         # Version compatibility
```

### Minimal main.ts
```typescript
import { Plugin } from 'obsidian';

export default class MyPlugin extends Plugin {
  async onload() {
    console.log('Loading My Plugin');
  }

  onunload() {
    console.log('Unloading My Plugin');
  }
}
```

## Resources
- [Obsidian Plugin Developer Docs](https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin)
- [Obsidian Sample Plugin](https://github.com/obsidianmd/obsidian-sample-plugin)
- [Obsidian API Reference](https://docs.obsidian.md/Reference/TypeScript+API)
- [BRAT Plugin for Development](https://github.com/TfTHacker/obsidian42-brat)

## Next Steps
After successful setup, proceed to `obsidian-hello-world` for your first plugin feature.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.