obsidian-data-handling

Featured

Implement vault data backup, sync, and recovery strategies. Use when building backup features, implementing data export, or handling vault synchronization in your plugin. Trigger with phrases like "obsidian backup", "obsidian sync", "obsidian data export", "vault backup strategy".

AI & Automation 2,266 stars 315 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Obsidian Data Handling ## Overview Data management patterns for Obsidian plugins: plugin config with loadData/saveData, vault file I/O, frontmatter parsing via metadataCache, handling renames and deletes, cross-device sync considerations, and IndexedDB fallback for large datasets. ## Prerequisites - Working Obsidian plugin (`export default class extends Plugin`) - Understanding of Obsidian's `Vault` and `MetadataCache` APIs - TypeScript compilation configured ## Instructions ### Step 1: Plugin Config with loadData / saveData Obsidian stores plugin data in `.obsidian/plugins/<plugin-id>/data.json`. Use `loadData()` and `saveData()` — never read that file directly. ```typescript interface PluginConfig { version: number; apiEndpoint: string; syncInterval: number; excludedFolders: string[]; } const DEFAULT_CONFIG: PluginConfig = { version: 1, apiEndpoint: 'https://api.example.com', syncInterval: 300, excludedFolders: [], }; export default class DataPlugin extends Plugin { config: PluginConfig; async onload() { await this.loadConfig(); } async loadConfig() { const saved = await this.loadData(); this.config = Object.assign({}, DEFAULT_CONFIG, saved); // Migrate from older config versions if (this.config.version < 1) { this.config.excludedFolders = []; this.config.version = 1; await this.saveConfig(); } } async saveConfig() { await this.saveData(this.config); } } ``` `loadData()` returns `null...

Details

Author
jeremylongshore
Repository
jeremylongshore/claude-code-plugins-plus-skills
Created
7 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

obsidian-security-basics

Implement secure Obsidian plugin development practices. Covers credential storage, input validation, XSS prevention, network security, URI handler safety, and Electron security. Use when handling user data, storing API keys, making network requests, or preparing for community plugin submission. Trigger with phrases like "obsidian security", "secure obsidian plugin", "obsidian data protection", "obsidian privacy", "obsidian api key storage".

2,266 Updated today
jeremylongshore
AI & Automation Featured

obsidian-performance-tuning

Optimize Obsidian plugin performance for smooth operation in large vaults. Use when experiencing lag, memory issues, slow startup, or optimizing plugin code for vaults with thousands of files. Trigger with phrases like "obsidian performance", "obsidian slow", "optimize obsidian plugin", "obsidian memory usage", "obsidian lag".

2,266 Updated today
jeremylongshore
AI & Automation Featured

obsidian-sdk-patterns

Production-ready Obsidian plugin patterns: typed settings with migration, safe vault operations, event auto-cleanup, workspace layout, metadata cache, and debounced file handlers. Use when hardening a plugin for release, refactoring for reliability, or learning idiomatic Obsidian TypeScript. Trigger with "obsidian patterns", "obsidian best practices", "obsidian production code", "idiomatic obsidian plugin".

2,266 Updated today
jeremylongshore
AI & Automation Featured

obsidian-webhooks-events

Handle Obsidian events and workspace callbacks for plugin development. Use when implementing reactive features, handling file changes, or responding to user interactions in your plugin. Trigger with phrases like "obsidian events", "obsidian callbacks", "obsidian file change", "obsidian workspace events".

2,266 Updated today
jeremylongshore
AI & Automation Featured

obsidian-install-auth

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 from scratch. Trigger with phrases like "obsidian setup", "obsidian plugin dev", "create obsidian plugin", "obsidian development environment".

2,266 Updated today
jeremylongshore