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

Obsidian Plugin Development Guidelines

A dense rulebook for Obsidian plugin development: ESLint rules, API conventions, accessibility, and the community submission workflow.

Dev & CodingIntermediate★ 187⑂ 15AI score 8/10Last updated: Sep 24, 2026

What it does

  • Condenses 40+ eslint-plugin-obsidianmd v0.4.2 rules into ✅/❌ tables so Claude applies them while writing or reviewing code.
  • Covers real pitfalls: memory/lifecycle (registerEvent, registerDomEvent), type safety via instanceof, Editor vs Vault APIs, requestUrl() instead of fetch(), popout-window handling (activeDocument/activeWindow drift), and declarative settings (getSettingDefinitions() on 1.13+).
  • Enforces UI/A11y standards: sentence case, command naming, Obsidian CSS variables, no !important or :has, keyboard access, ARIA labels, 44×44px touch targets.
  • Includes a 7-step community.obsidian.md submission workflow, Scorecard optimization tips (aim for 90%+), and a boilerplate generator (tools/create-plugin.js).
  • Links out to topic-specific deep dives under reference/*.md.

Who it's for

  • Developers building or submitting an Obsidian community plugin.
  • Maintainers cleaning up ESLint warnings to raise a published plugin's Scorecard.
  • Anyone migrating to the Obsidian 1.13 declarative settings API.

Examples

  1. "Review my main.ts against Obsidian rules" → flags missing event cleanup, misuse of Vault.modify(), fetch() calls, and proposes fixes.
  2. "Scaffold a new plugin project" → recommends the minimal boilerplate generator and validates manifest naming rules (id, name, description).
  3. "What do I check before submitting?" → walks the checklist: run ESLint, verify LICENSE holder/year, mobile test, keyboard audit, matching release tag and assets.

· · · 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 repo: git clone https://github.com/gapmiss/obsidian-plugin-skill.git
  3. Make sure the skills folder exists: mkdir -p ~/.claude/skills
  4. Copy the skill in: cp -r obsidian-plugin-skill/.agents/skills/obsidian ~/.claude/skills/obsidian
  5. Confirm the reference/ folder and tools/create-plugin.js came along — the skill references them.
  6. Restart Claude Code, open your plugin repo, and ask something like "review this code against the Obsidian plugin rules" to trigger the skill.
  7. For actual linting, add npm i -D eslint eslint-plugin-obsidianmd to your project and run npx eslint ..