Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

Obsidian Plugin Development Guidelines

A rule-dense reference that enforces Obsidian's ESLint rules, API best practices, accessibility mandates, and the community submission workflow.

Dev & CodingIntermediate18215AI score 9/10Last updated: Aug 8, 2026

What it does

  • Condenses 40+ rules from the official eslint-plugin-obsidianmd v0.4.1 into ✅/❌ tables that the agent applies while writing or reviewing plugin code.
  • Covers the classic pitfalls: lifecycle/memory (registerEvent, registerDomEvent), type safety (instanceof over casts), Vault vs Editor APIs (Vault.process over modify), networking (requestUrl over fetch), and popout-window safety (activeDocument/activeWindow drift).
  • Documents the Obsidian 1.13+ declarative settings migration (getSettingDefinitions()), CSS-variable theming (no !important, no :has), and mandatory accessibility checks (keyboard nav, ARIA labels, :focus-visible, 44×44px touch targets).
  • Ships a 7-step submission validation workflow, Scorecard optimization tips (aim 90%+), deeper reference/ docs, and a tools/create-plugin.js boilerplate generator.

Who it's for

  • Developers building their first Obsidian plugin or preparing a community.obsidian.md submission.
  • Maintainers cleaning up ESLint warnings and raising the public Scorecard of a published plugin.
  • TypeScript devs who must keep plugins working on mobile and in popout windows.

Example uses

  1. "Help me start a new Obsidian plugin" → recommends the boilerplate generator, then validates manifest id/name/description against rules 1–5.
  2. Paste an existing main.ts and ask for a review → flags leaked addEventListener handlers, fetch() calls, Title Case UI strings, and leftover sample classes.
  3. "What do I check before submitting?" → walks the ESLint → manifest → LICENSE → mobile test → keyboard audit → GitHub Release → submit sequence.

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/gapmiss/obsidian-plugin-skill/HEAD/.agents/skills/obsidian/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the .agents/skills/obsidian folder from the GitHub repo gapmiss/obsidian-plugin-skill into my ~/.claude/skills/obsidian/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/gapmiss/obsidian-plugin-skill.git /tmp/obsidian-plugin-skill && mkdir -p ~/.claude/skills && cp -r /tmp/obsidian-plugin-skill/.agents/skills/obsidian ~/.claude/skills/obsidian

This is a third-party skill. Check the source repository before installing.

  1. Open a terminal.
  2. Clone the repository: git clone https://github.com/gapmiss/obsidian-plugin-skill.git /tmp/obsidian-plugin-skill
  3. Create the skills directory if needed: mkdir -p ~/.claude/skills
  4. Copy the skill in: cp -r /tmp/obsidian-plugin-skill/.agents/skills/obsidian ~/.claude/skills/obsidian
  5. Verify the bundled reference/ docs and tools/ scripts came along: ls ~/.claude/skills/obsidian
  6. Restart Claude Code and try a prompt like "Review my Obsidian plugin's main.ts" to trigger the skill.