/ ディレクトリ / プレイグラウンド / obsidian-plugin-skill
● コミュニティ gapmiss ⚡ 即起動

obsidian-plugin-skill

作者 gapmiss · gapmiss/obsidian-plugin-skill

Obsidian プラグインの作り方を Claude に教えるエージェントスキルです。Plugin API、manifest.json、リリースフローをカバーします。

obsidian-plugin-skill は Obsidian Plugin API の構造を Claude のワーキングメモリにロードします。manifest.json + versions.json、main.ts のプラグインスケルトン、設定タブ、コマンド、リボンアイコン、エディタ拡張、そして公式コミュニティストアが求める GitHub タグ経由のリリースフローが含まれます。午後の数時間でプラグインをプロトタイピングしたいときに便利です。

なぜ使うのか

主な機能

ライブデモ

実際の動作

obsidian-plugin-skill.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "obsidian-plugin-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gapmiss/obsidian-plugin-skill",
        "~/.claude/skills/obsidian-plugin-skill"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "obsidian-plugin-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gapmiss/obsidian-plugin-skill",
        "~/.claude/skills/obsidian-plugin-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "obsidian-plugin-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gapmiss/obsidian-plugin-skill",
        "~/.claude/skills/obsidian-plugin-skill"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "obsidian-plugin-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gapmiss/obsidian-plugin-skill",
        "~/.claude/skills/obsidian-plugin-skill"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "obsidian-plugin-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gapmiss/obsidian-plugin-skill",
        "~/.claude/skills/obsidian-plugin-skill"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "obsidian-plugin-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/gapmiss/obsidian-plugin-skill",
          "~/.claude/skills/obsidian-plugin-skill"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add obsidian-plugin-skill -- git clone https://github.com/gapmiss/obsidian-plugin-skill ~/.claude/skills/obsidian-plugin-skill

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: obsidian-plugin-skill

初めての Obsidian プラグインをビルドしてリリースする方法

👤 自分のかゆいところに手を届かせたい Obsidian パワーユーザー ⏱ ~120 min intermediate

使うタイミング: 具体的なワークフロー改善のアイデアがあり、1日でプラグインを作りたいとき。

前提条件
  • Node 18+ — nvm install 18
  • テスト用のローカル Vault — 開発専用の新しい Obsidian Vault を作成してください
  • スキルのクローン — git clone https://github.com/gapmiss/obsidian-plugin-skill ~/.claude/skills/obsidian-plugin-skill
フロー
  1. プラグインをスキャフォールドする
    Scaffold an Obsidian plugin called 'smart-outline' with a command and a settings tab.✓ コピーしました
    → manifest、main.ts、ビルド設定を含むフォルダ
  2. 機能を追加する
    Implement: on command, open a modal showing the outline of the active note.✓ コピーしました
    → アクティブな MarkdownView から読み取るモーダルが動作する
  3. サイドロードしてテストする
    Install into the dev vault's plugins folder and reload Obsidian.✓ コピーしました
    → プラグインが表示され、コマンドが動作する
  4. リリースを準備する
    Create versions.json and tag a v0.1.0 release.✓ コピーしました
    → main.js + manifest.json が添付された GitHub リリース

結果: コミュニティストアに提出できる、動作するインストール可能なプラグイン。

注意点
  • versions.json を忘れるとコミュニティストアにリジェクトされる — スキルがリマインドします。常に manifest.json と同期を保ってください
  • API に含まれない Obsidian の内部実装を参照してしまう — 公開 API のみを使用し、内部実装は不安定なものとして扱ってください
組み合わせ: filesystem · github

既存のプラグインに適切な設定タブを追加する

👤 UX を改善したい既存のプラグイン開発者 ⏱ ~30 min intermediate

使うタイミング: プラグインが成長し、ユーザーが設定可能なオプションが必要になったとき。

フロー
  1. 設定を設計する
    Based on my plugin's README, what settings should be user-configurable?✓ コピーしました
    → 理由を添えた短いリスト
  2. PluginSettingTab を実装する
    Add a PluginSettingTab with those controls.✓ コピーしました
    → Obsidian 上に設定 UI が表示される

結果: ユーザーが実際に使える設定タブ。

注意点
  • 設定項目が多すぎる — 徹底的に削る — 使われない設定はただのノイズ

組み合わせ

他のMCPと組み合わせて10倍の力を

obsidian-plugin-skill + filesystem

既存のプラグインを読み込んで拡張する

Read my-plugin/, add a new command that exports the active note as PDF.✓ コピーしました
obsidian-plugin-skill + github

タグ付けとリリース作成を自動化する

Tag v0.2.0 and publish release with the built assets.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
plugin-scaffolding plugin intent 新規プラグイン作成時 0
feature-authoring feature spec + API surface 各機能の実装時 0
settings-tab options UX 改善時 0
release-flow version bump 公開前 0

コストと制限

運用コスト

APIクォータ
なし
呼び出しあたりのトークン
プラグインあたり 5〜20k トークン
金額
無料
ヒント
プラグイン仕様を一括で渡すのではなく、機能ごとに段階的に作業してください

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: リリース自動化を行う場合は GitHub トークンが必要
データ送信先: スキルレイヤーでのデータ送信なし

トラブルシューティング

よくあるエラーと対処法

Obsidian がプラグインを読み込まない

manifest.json が有効な JSON であり、正しい Vault パスに配置されていることを確認してください。Ctrl+R でリロードしてください。

確認: cat .obsidian/plugins/my-plugin/manifest.json | jq .
ビルドしても main.js が生成されない

esbuild コマンドを実行し、tsconfig の target を確認してください。

確認: ls main.js

代替案

obsidian-plugin-skill 他との比較

代替案代わりに使う場面トレードオフ
logseqObsidian ではなく Logseq を使用している場合プラグイン API が異なる

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る