NYC
skills/smithery/ai/obsidian-plugin

obsidian-plugin

SKILL.md

this.addCommand({ id: 'my-command', name: 'My Command', callback: () => { ... } });

// BAD: Manual cleanup required (avoid) this.app.vault.on('create', this.handler);

  </pattern>
</patterns>

<constraints>
  <must>
    <rule>Apply this skill when creating new Obsidian plugins</rule>
    <rule>Apply when adding commands, settings, or views</rule>
    <rule>Apply when handling file/folder operations</rule>
    <rule>Apply when building plugin UI components</rule>
    <rule>Apply when reviewing Obsidian plugin code</rule>
  </must>
  <avoid>
    <rule>Using `innerHTML`, `outerHTML`, or `insertAdjacentHTML`</rule>
    <rule>Manual event listener cleanup instead of `registerEvent()`</rule>
    <rule>Hardcoded colors instead of CSS variables</rule>
    <rule>Using global `app` object in production code</rule>
  </avoid>
</constraints>

<best_practices>
  <practice priority="critical">See `security.md` for DOM manipulation rules</practice>
  <practice priority="high">See `api-patterns.md` for workspace, vault, and editor patterns</practice>
  <practice priority="high">See `ui-components.md` for settings, modals, and views</practice>
</best_practices>

<patterns>
  <pattern name="terminology">
| Use | Avoid |
|-----|-------|
| keyboard shortcut | hotkey |
| note | file (for .md) |
| folder | directory |
| select | click/tap |
| perform | invoke |

Use sentence case for headings. Bold button text in docs.
  </pattern>
</patterns>

<related_skills>
  <skill name="security.md">DOM manipulation rules (CRITICAL)</skill>
  <skill name="api-patterns.md">Workspace, vault, and editor patterns</skill>
  <skill name="ui-components.md">Settings, modals, and views</skill>
</related_skills>
Weekly Installs
1
Repository
smithery/ai
First Seen
1 day ago
Installed on
codex1