# Obsidian Devtools

> Inspect and automate Obsidian using Chrome DevTools Protocol

- Skill: `zpankz/obsidian-devtools` (Agent Skill)
- Install (CLI): `npx skillmds add zpankz/obsidian-devtools`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zpankz/obsidian-devtools/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Zpankz (https://skillmd.com/u/zpankz)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/zpankz/obsidian-devtools

---


# Obsidian DevTools Skill

Enables deep inspection of the Obsidian application state via the Chrome DevTools Protocol.

## Capabilities
- Execute arbitrary JavaScript in the Obsidian context (`app.vault.getFiles()`)
- Read console logs for debugging plugins
- Inspect the DOM to understand UI state

## Setup
This skill requires the `obsidian-devtools` MCP server to be running or available.
The tools usually auto-launch Obsidian with `--remote-debugging-port=9222`.

## Tools

### `obsidian_launch_debug`
Launches or connects to Obsidian with remote debugging enabled.
- `restart`: (bool) Force restart Obsidian to enable debugging (default: False)

### `obsidian_eval`
Executes JavaScript code in the Obsidian app context.
- `expression`: (str) JavaScript code to run
- `await_promise`: (bool) Wait for promises to resolve (default: True)

### `obsidian_inspect_dom`
Gets a simplified snapshot of the DOM structure.
- `selector`: (str) CSS selector for root element (default: "body")

### `obsidian_read_console`
(Experimental) Reads console logs. Currently requires persistent listener mode.

## Examples

**Get Vault Name:**
```javascript
app.vault.getName()
```

**List Plugins:**
```javascript
Object.keys(app.plugins.manifests)
```

**Get Active File:**
```javascript
app.workspace.getActiveFile()?.path
```

