Claude Info
Разное

Obsidian Plugin Skill

gapmiss/obsidian-plugin-skill

Скилл для AI-агентов, обеспечивающий глубокие знания стандартов разработки плагинов Obsidian: ESLint-правила, гайдлайны сабмита, управление памятью, безопасность и кроссплатформенность. Подходит для Claude Code, OpenAI Codex и Windsurf.

Установка

terminal
bash
npx skills add https://github.com/gapmiss/obsidian-plugin-skill --skill obsidian

README

Разработка плагинов Obsidian — Agent Skill

Комплексный агент-скилл для разработки высококачественных плагинов Obsidian, соответствующих лучшим практикам, проходящих код-ревью и отвечающих официальным требованиям к публикации.

Обзор

Этот скилл предоставляет вашему агенту глубокие знания стандартов разработки плагинов Obsidian, включая:

  • Все 33 правила ESLint из eslint-plugin-obsidianmd v0.2.3
  • Официальные Plugin Guidelines из документации Obsidian
  • Требования к публикации в директории community plugins
  • Лучшие практики управления памятью и жизненным циклом
  • Руководства по безопасности и предотвращению XSS
  • Совместимость с платформами (включая iOS)
  • Лучшие практики сетевых запросов (requestUrl vs fetch)

Предварительные требования

  • Агент с поддержкой стандарта Agent Skills (Claude Code, OpenAI Codex или Windsurf)
  • Проект плагина Obsidian (существующий или новый)

Установка

Быстрая установка

bash
npx skills add https://github.com/gapmiss/obsidian-plugin-skill --skill obsidian

Настройка

Вариант 1: Скрипт установщика (рекомендуется)

  1. Клонируйте репозиторий:

    bash
    git clone https://github.com/gapmiss/obsidian-plugin-skill.git
    cd obsidian-plugin-skill
  2. Запустите установщик:

    ./install-skill.sh
  3. Выберите провайдера(ов):

    • All providers — устанавливает в .agents/skills/ и .claude/skills/
    • Claude Code — устанавливает в .claude/skills/ со slash-командами
    • Codex (OpenAI) — устанавливает в .agents/skills/
    • Windsurf — устанавливает в .agents/skills/
  4. Выберите целевую директорию (текущая или произвольный путь)

Вариант 2: Ручная установка

bash
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/
bash
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

Интерактивные запросы:

  1. Целевая директория (по умолчанию: текущая)
  2. Название плагина (валидация: без слова «Obsidian», не должно заканчиваться на «Plugin»)
  3. ID плагина (валидация: без «obsidian», не должен заканчиваться на «plugin», только строчные буквы)
  4. Описание (валидация: без «Obsidian»/«This plugin», должно заканчиваться знаком препинания)
  5. Имя автора
  6. Имя пользователя GitHub (опционально, автоматически генерирует authorUrl)
  7. Минимальная версия 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.

Похожие скиллы