● 社群
gapmiss
⚡ 即開即用
obsidian-plugin-skill
作者 gapmiss · gapmiss/obsidian-plugin-skill
一個教導 Claude 如何建構 Obsidian 外掛的 Agent Skill — 涵蓋 Plugin API、manifest.json 及發布流程。
obsidian-plugin-skill 將 Obsidian Plugin API 的結構載入 Claude 的工作記憶:包括 manifest.json + versions.json、main.ts 外掛骨架、設定頁籤、指令、工具列圖示、編輯器擴充,以及官方社群商店所要求的透過 GitHub tag 發布的流程。適合想在一個下午內快速原型開發外掛的使用者。
為什麼要用
核心特性
- Obsidian Plugin API 模式(Plugin/Notice/MarkdownView)
- manifest.json + versions.json + minAppVersion 處理
- 設定頁籤 + 編輯器擴充 + 指令
- 透過 GitHub tags 發布至社群商店的流程
- TypeScript + esbuild 專案鷹架
即時演示
實際使用效果
obsidian-plugin-skill.replay
▶ 就緒
使用場景
實戰用法: obsidian-plugin-skill
何時使用: 你有明確的工作流程改善需求,並希望在一天內完成一個外掛。
步驟
-
建立外掛鷹架
Scaffold an Obsidian plugin called 'smart-outline' with a command and a settings tab.✓ 已複製
→ 包含 manifest、main.ts 及建置設定的資料夾
-
新增功能
Implement: on command, open a modal showing the outline of the active note.✓ 已複製
→ 可從目前 MarkdownView 讀取內容的運作中強制回應視窗
-
側載並測試
Install into the dev vault's plugins folder and reload Obsidian.✓ 已複製
→ 外掛出現且指令可正常運作
-
準備發布
Create versions.json and tag a v0.1.0 release.✓ 已複製
→ GitHub 發布版本附帶 main.js + manifest.json
結果: 一個可運作、可安裝的外掛,並可提交至社群商店。
注意事項
- 忘記 versions.json — 社群商店會拒絕審核 — Skill 會提醒;請務必與 manifest.json 保持同步
- 引用了不屬於 API 的 Obsidian 內部實作 — 僅使用公開 API;將內部實作視為隨時可能變動的不穩定介面
何時使用: 你的外掛功能已增長,需要提供使用者可自訂的選項。
步驟
-
規劃設定項目
Based on my plugin's README, what settings should be user-configurable?✓ 已複製
→ 附有說明的簡短清單
-
實作 PluginSettingTab
Add a PluginSettingTab with those controls.✓ 已複製
→ 在 Obsidian 中顯示設定介面
結果: 一個使用者實際能夠操作的設定頁籤。
注意事項
- 設定項目過多 — 果斷刪減 — 沒人使用的設定只是累贅
組合
與其他 MCP 搭配,撬動十倍槓桿
讀取現有外掛並加以擴充
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.✓ 已複製
成本與限制
運行它的成本
- API 配額
- none
- 每次呼叫 Token 數
- 5–20k per plugin
- 費用
- free
- 提示
- 逐一功能開發,而非一次將完整的外掛規格丟給 Claude
安全
權限、密鑰、影響範圍
憑證儲存: 用於發布的 GitHub 金鑰(若需自動化)
資料出站: none at skill layer
- 外掛對保存庫擁有完整存取權限 — 安裝社群外掛前請務必審查程式碼
故障排查
常見錯誤與修復
Obsidian doesn't load the plugin
確認 manifest.json 是有效的 JSON 且位於正確的保存庫路徑;透過 Ctrl+R 重新載入。
驗證: cat .obsidian/plugins/my-plugin/manifest.json | jq .
Build produces no main.js
執行 esbuild 指令;檢查 tsconfig 的目標設定。
驗證: ls main.js
替代方案
obsidian-plugin-skill 對比其他方案
| 替代方案 | 何時用它替代 | 權衡 |
| logseq | 你使用的是 Logseq 而非 Obsidian | 外掛 API 不同 |