/ Directory / Playground / Obsidian Skills (kepano)
● Community kepano ⚡ Instant

Obsidian Skills (kepano)

by kepano · kepano/obsidian-skills

Skills from kepano (Obsidian's design lead) that teach agents the real Obsidian — Markdown, Bases, JSON Canvas, the CLI.

obsidian-skills is a skill bundle from Steph Ango (kepano), Obsidian's design lead. Instead of treating Obsidian as 'just a folder of .md', it teaches the agent the real conventions: backlinks, Properties, Dataview/Bases queries, JSON Canvas, embeds. Plus skills for using the Obsidian CLI to operate on a vault programmatically.

Why use it

Key features

Live Demo

What it looks like in practice

ready

Install

Pick your client

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

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

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

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

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

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

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

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

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

Continue uses an array of server objects rather than a map.

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

Add to context_servers. Zed hot-reloads on save.

claude mcp add obsidian-skills-kepano -- git clone https://github.com/kepano/obsidian-skills ~/.claude/skills/obsidian-kepano

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Obsidian Skills (kepano)

Clean up a messy Obsidian vault with consistent properties

👤 Long-time Obsidian users ⏱ ~60 min intermediate

When to use: Years of notes — inconsistent tags, properties, file naming.

Prerequisites
  • Obsidian vault path — Point the skill at it
Flow
  1. Audit
    Use obsidian-skills. Audit /vault — list inconsistencies in properties, dead links, orphan notes.✓ Copied
    → Issue inventory
  2. Normalize
    Migrate tag: to YAML tags: properties consistently.✓ Copied
    → Diffs across affected notes
  3. Verify
    Re-audit. Confirm orphans have homes and properties are consistent.✓ Copied
    → Clean audit

Outcome: Vault that searches and links cleanly.

Pitfalls
  • Bulk edits break plugins — Test on a backup copy first; the skill suggests this
Combine with: filesystem

Convert a folder of notes into an Obsidian Base

👤 Users adopting Bases for project tracking ⏱ ~45 min intermediate

When to use: You want a typed view over your project notes.

Flow
  1. Schema
    Look at /vault/projects. Propose a Base schema — properties, types, defaults.✓ Copied
    → Schema spec
  2. Migrate
    Update each project note to conform. Backfill defaults where missing.✓ Copied
    → Notes conform; Base view works

Outcome: Working Base; you can sort, filter, group your projects.

Pitfalls
  • Property type mismatches — Skill validates types — fix flagged notes before the Base loads cleanly

Generate a JSON Canvas of related notes for a topic

👤 Researchers / writers ⏱ ~30 min intermediate

When to use: You want a visual map of how notes connect on a topic.

Flow
  1. Cluster
    Find notes related to 'distributed systems'. Cluster by sub-topic.✓ Copied
    → Cluster list
  2. Render
    Render as a JSON Canvas with grouped boxes and edges for backlinks.✓ Copied
    → .canvas file written

Outcome: A canvas you can open in Obsidian and explore visually.

Pitfalls
  • Layout overlaps — Skill includes a basic auto-layout; refine in Obsidian

Combinations

Pair with other MCPs for X10 leverage

obsidian-skills-kepano + filesystem

Direct file access for vault edits

Read/write notes via filesystem; obsidian-skills handles conventions.✓ Copied
obsidian-skills-kepano + claude-obsidian-skill

Layer with Daniel's Claude×Obsidian skill

Use both — kepano for conventions, claude-obsidian for daily workflow.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
audit_vault path Periodic cleanup tokens scaled to vault size
design_base folder Adopting Bases tokens
render_canvas note_set, layout? Visual maps tokens
obsidian_cli command Batch ops via CLI tokens for parsing output

Cost & Limits

What this costs to run

API quota
N/A
Tokens per call
High on big vaults; scoped to folders helps
Monetary
Free
Tip
Audit per-folder, not whole vault, on first run

Security

Permissions, secrets, blast radius

Minimum scopes: Read/write to vault
Credential storage: None
Data egress: None

Troubleshooting

Common errors and fixes

Bases schema rejected

Property types must match across all notes — skill flags violators

Canvas overlaps

Reduce cluster size or open in Obsidian for manual cleanup

CLI command not found

Install Obsidian CLI separately; the skill assumes it's on PATH

Alternatives

Obsidian Skills (kepano) vs others

AlternativeWhen to use it insteadTradeoff
claude-obsidian-skillYou want daily-driver workflow patternsLess coverage of newer Bases / Canvas features
Manual Obsidian usageSmall vaultDoesn't scale to thousands of notes

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills