AgentSkillsCN

obsidian-developer

将结构化外部数据(CSV/JSON)转换为 Obsidian 的关联知识体系,同时保留语义关系、优化图结构,并通过系统化验证与 YAML 安全模板生成,防止数据损坏。这一方法可实现从数据库、电子表格与 API 到个人知识管理的无缝知识迁移,既维护参照完整性,又促进网络化思维下的洞见涌现。

SKILL.md
--- frontmatter
name: obsidian-developer
description: Expert guide for inspecting and automating Obsidian using the obsidian-devtools MCP server.
tools:
  - obsidian_launch_debug
  - obsidian_eval
  - obsidian_inspect_dom
  - obsidian_discover_api
  - obsidian_get_frontmatter
  - obsidian_update_frontmatter
  - obsidian_create_canvas
  - obsidian_graph_zoom

Obsidian Developer Skill

This skill transforms Claude into an expert Obsidian plugin developer and automation engineer. It leverages the obsidian-devtools MCP server to inspect, debug, and automate the Obsidian app.

Quick Start

  1. Connect: obsidian_launch_debug() — starts Obsidian with CDP enabled
  2. Discover: obsidian_discover_api("app.vault") — explore available methods
  3. Execute: obsidian_eval("app.vault.getName()") — run any JavaScript
  4. Automate: Use patterns from patterns/ for common tasks

Workflow

  1. Connect: Ensure Obsidian is running with debug flags.

    • Run obsidian_launch_debug() to start or attach.
  2. Inspect: Understand the current state.

    • Use obsidian_inspect_dom() to see the UI structure.
    • Use obsidian_discover_api() to explore internal APIs.
    • Refer to knowledge/dom-patterns.md for class names.
  3. Execute: Run automation or queries.

    • Use obsidian_eval() to interact with the app object.
    • Refer to knowledge/api-basics.md for common API calls.
    • Refer to knowledge/cdp-protocol.md for data passing rules.
  4. Create: Generate visual content.

    • Use obsidian_create_canvas() for spatial layouts.
    • Refer to knowledge/canvas-api.md for node/edge schemas.

Knowledge Modules

ModulePurpose
API Basicsapp.vault, app.workspace, app.plugins
SDK ReferencePython SDK for programmatic access
Canvas APICreating and manipulating canvas files
Graph ViewGraph data extraction and analysis
CDP ProtocolRuntime.evaluate internals
DOM PatternsCSS classes for UI automation

Pattern Library

Reusable scripts in patterns/:

PatternPurpose
plugin-audit.jsList enabled plugins with metadata
theme-extract.jsDump CSS variables
dataview-query.jsRun Dataview queries via JS
frontmatter-batch.jsBatch frontmatter operations
canvas-generator.jsGenerate canvases from vault data

MCP Tools Reference

ToolPurpose
obsidian_launch_debugStart/attach to Obsidian with CDP
obsidian_evalExecute JavaScript in Obsidian context
obsidian_inspect_domGet summarized DOM snapshot
obsidian_discover_apiIntrospect object methods/properties
obsidian_get_frontmatterRead file frontmatter
obsidian_update_frontmatterModify frontmatter key
obsidian_create_canvasCreate .canvas file
obsidian_graph_zoomControl graph view zoom

Tips

  • Async is Key: Wrap code in (async () => { ... })() if using await.
  • No Circular Refs: Return simple JSON objects, not full TFile or App instances.
  • Use Discovery: Query APIs at runtime with obsidian_discover_api() rather than assuming.
  • Security: The server runs in Safe Mode. File system writes are blocked unless configured.
  • Batch Operations: Use frontmatter-batch.js patterns for vault-wide changes.

Related