Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 3.32 KB

README.md

File metadata and controls

51 lines (36 loc) · 3.32 KB

Obsidian Plugin Development Skill

Systematic guidance for building, debugging, testing, and releasing Obsidian community plugins.

This skill is documentation-first and works from the repository's actual source, installed Obsidian typings, declared compatibility range, and generated artifacts. It emphasizes public APIs, lifecycle ownership, theme-compatible CSS, mobile safety, and verification in a disposable development vault.

Coverage

  • Repository classification, official project setup, build tooling, and artifact policy
  • Plugin lifecycle, settings persistence, migrations, Vault operations, networking, secrets, mobile compatibility, and performance
  • Commands, views, settings UI, modals, menus, accessibility, RTL behavior, and Obsidian-native CSS variables
  • Editor API, Markdown post-processors, Reading view rendering, and CodeMirror extensions
  • Build, reload, debug, DOM inspection, screenshots, regression matrices, and failure-path testing
  • Manifest metadata, release artifacts, GitHub Actions, and Community Plugins submission checks

Reference map

Reference Use it for
project-setup-and-build.md Repository layout, official sample plugin, toolchains, compatibility, and artifacts
runtime-engineering.md Lifecycle, persistence, migrations, secrets, network access, mobile, and performance
ui-patterns.md Commands, settings, views, native controls, CSS variables, RTL, accessibility, and framework UI
editor-integration.md Editor operations, Markdown rendering, and CodeMirror
testing-and-debugging.md Development vaults, build layers, CLI workflows, and regression verification
release-and-submission.md Metadata, policies, versioning, release assets, and submission

Usage

Install or copy the repository into the skill directory used by your agent runtime, keeping the directory name obsidian-plugin-dev-skill. The runtime should load SKILL.md first and then follow its progressive reference routing.

For a plugin repository, run the included audit script before and after changes:

python3 /path/to/obsidian-plugin-dev-skill/scripts/audit_plugin.py /path/to/plugin

The audit complements the plugin's own build, typecheck, lint, test, and Obsidian-vault verification. It does not replace those checks.

Design principles

  • Prefer Obsidian's public APIs and documented CSS variables over private DOM structure or hardcoded theme values.
  • Treat vault files and settings as user-owned data; make writes conflict-aware and migrations retry-safe.
  • Register every event, interval, DOM listener, view, and asynchronous resource with a lifecycle owner.
  • Preserve the declared minAppVersion, desktop/mobile boundary, light/dark themes, community themes, keyboard behavior, and RTL layouts.
  • Verify user-visible behavior in Obsidian instead of claiming success from static inspection alone.

Official sources