Obsidian Plugin Skill
gapmiss/obsidian-plugin-skillСкилл для AI-агентов, обеспечивающий глубокие знания стандартов разработки плагинов Obsidian: ESLint-правила, гайдлайны сабмита, управление памятью, безопасность и кроссплатформенность. Подходит для Claude Code, OpenAI Codex и Windsurf.
Установка
npx skills add https://github.com/gapmiss/obsidian-plugin-skill --skill obsidianREADME
Разработка плагинов Obsidian — Agent Skill
Комплексный агент-скилл для разработки высококачественных плагинов Obsidian, соответствующих лучшим практикам, проходящих код-ревью и отвечающих официальным требованиям к публикации.
Обзор
Этот скилл предоставляет вашему агенту глубокие знания стандартов разработки плагинов Obsidian, включая:
- Все 33 правила ESLint из
eslint-plugin-obsidianmdv0.2.3 - Официальные Plugin Guidelines из документации Obsidian
- Требования к публикации в директории community plugins
- Лучшие практики управления памятью и жизненным циклом
- Руководства по безопасности и предотвращению XSS
- Совместимость с платформами (включая iOS)
- Лучшие практики сетевых запросов (
requestUrlvsfetch)
Предварительные требования
- Агент с поддержкой стандарта Agent Skills (Claude Code, OpenAI Codex или Windsurf)
- Проект плагина Obsidian (существующий или новый)
Установка
Быстрая установка
npx skills add https://github.com/gapmiss/obsidian-plugin-skill --skill obsidianНастройка
Вариант 1: Скрипт установщика (рекомендуется)
-
Клонируйте репозиторий:
bashgit clone https://github.com/gapmiss/obsidian-plugin-skill.git cd obsidian-plugin-skill -
Запустите установщик:
./install-skill.sh -
Выберите провайдера(ов):
- All providers — устанавливает в
.agents/skills/и.claude/skills/ - Claude Code — устанавливает в
.claude/skills/со slash-командами - Codex (OpenAI) — устанавливает в
.agents/skills/ - Windsurf — устанавливает в
.agents/skills/
- All providers — устанавливает в
-
Выберите целевую директорию (текущая или произвольный путь)
Вариант 2: Ручная установка
git clone https://github.com/gapmiss/obsidian-plugin-skill.git
cd obsidian-plugin-skill
# Копируем скилл
mkdir -p your-project/.claude/skills/obsidian
cp -r .agents/skills/obsidian/* your-project/.claude/skills/obsidian/
# Копируем slash-команды
mkdir -p your-project/.claude/commands
cp .claude/commands/obsidian.md your-project/.claude/commands/
cp .claude/commands/create-plugin.md your-project/.claude/commands/git clone https://github.com/gapmiss/obsidian-plugin-skill.git
cd obsidian-plugin-skill
# Копируем скилл
mkdir -p your-project/.agents/skills/obsidian
cp -r .agents/skills/obsidian/* your-project/.agents/skills/obsidian/Вариант 3: Использование как standalone
Просто откройте эту директорию в вашем агенте — установка не требуется!
Структура скилла
Скилл использует прогрессивное раскрытие для оптимальной производительности:
.agents/skills/obsidian/
├── SKILL.md # Основной обзор (285 строк)
└── reference/ # Подробная документация
├── memory-management.md # Паттерны жизненного цикла и очистки
├── type-safety.md # Сужение типов и типобезопасность
├── ui-ux.md # Стандарты UI и команды
├── file-operations.md # Vault и файловый API
├── css-styling.md # Темизация и стилизация
├── accessibility.md # Требования доступности (ОБЯЗАТЕЛЬНО)
├── code-quality.md # Лучшие практики и безопасность
├── submission.md # Руководство по публикации
└── eslint-setup.md # Полное руководство по настройке ESLint
SKILL.md предоставляет краткий обзор со всеми 36 правилами, а файлы в reference/ содержат исчерпывающие детали по конкретным темам.
Быстрый старт: создание нового плагина
Интерактивный генератор шаблонов
Самый быстрый способ начать новый плагин Obsidian со всеми встроенными лучшими практиками:
node /path/to/obsidian-plugin-skill/tools/create-plugin.js
Возможности:
- Генерирует чистый TypeScript-шаблон без примеров кода
- Создаёт структуру директории
src/сmain.tsиsettings.ts - Валидирует метаданные плагина в реальном времени согласно правилам submission-бота Obsidian
- Запрашивает целевую директорию во избежание перезаписи существующих файлов
- Определяет существующие проекты и добавляет только отсутствующие файлы
- Весь сгенерированный код автоматически следует лучшим практикам скилла
Что создаётся:
your-plugin/
├── src/
│ ├── main.ts # Класс плагина с интеграцией настроек
│ └── settings.ts # Интерфейс настроек, значения по умолчанию и вкладка
├── manifest.json # Валидированные метаданные плагина
├── styles.css # CSS с переменными Obsidian
├── tsconfig.json # Конфигурация TypeScript
├── package.json # Зависимости
├── esbuild.config.mjs # Конфигурация сборки
├── eslint.config.mjs # Конфигурация ESLint
├── version-bump.mjs # Скрипт управления версиями
├── versions.json # Отслеживание версий
├── .gitignore # Правила Git ignore
└── LICENSE # Лицензия MIT
Интерактивные запросы:
- Целевая директория (по умолчанию: текущая)
- Название плагина (валидация: без слова «Obsidian», не должно заканчиваться на «Plugin»)
- ID плагина (валидация: без «obsidian», не должен заканчиваться на «plugin», только строчные буквы)
- Описание (валидация: без «Obsidian»/«This plugin», должно заканчиваться знаком препинания)
- Имя автора
- Имя пользователя GitHub (опционально, автоматически генерирует
authorUrl) - Минимальная версия Obsidian
Валидация в реальном времени выявляет типичные ошибки:
❌ Validation Errors:
• Plugin ID cannot contain "obsidian"
• Plugin name cannot end with "Plugin"
• Description must end with punctuation: . ? ! or )
Использование
Вызов скилла
| Провайдер | Загрузить скилл | Создать плагин |
|---|---|---|
| Claude Code | /obsidian | /create-plugin |
| Codex (OpenAI) | $obsidian | — |
| Windsurf | @obsidian | — |
Скиллы автоматически обнаруживаются агентом при наличии в директории проекта. Также можно вызывать их явно с помощью команд выше.
Просто обращайтесь к агенту в свободной форме:
Help me implement a new command for my Obsidian plugin
Агент автоматически применит знания скилла при работе с кодом плагина Obsidian.