mcpField
O
obsidian-master-skill

obsidian-master-skill

github.com/julianobarbosaProductivity1462 installsUpdated 2d ago
Repository

About obsidian-master-skill

obsidian-master-skill is a unified skill for Obsidian vault tasks, including note creation, search, health checks, and knowledge capture. It routes requests to task workflows and uses the REST API when Obsidian is running, with direct file access as a fallback.

Key features

  1. 01Create notes and daily notes
  2. 02Search by content, tags, or DQL
  3. 03Check orphan notes and broken links
  4. 04Capture and organize knowledge from conversations
  5. 05Create and validate .base views
  6. 06Use REST API or direct file access

Use cases

  1. 01Create a project note or daily entry
  2. 02Search vault notes on a topic
  3. 03Process the inbox and check link issues
  4. 04Save discussion as a decision record

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill obsidian-master-skill

After installing, type/obsidian-master-skillin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

reference/
bases.md
integration-patterns.md
knowledge-capture.md
markdown.md
rest-api.md
vault-organization.md
Tools/
BaseBuilder.py
NoteCreator.py
SearchVault.py
VaultManager.py
Workflows/
CaptureKnowledge.md
CreateBase.md
CreateNote.md
DailyNote.md
ManageVault.md
ProcessInbox.md
SearchVault.md
SyncDocs.md

Details

From the project README

obsidian-master-skill

Unified skill for all Obsidian vault operations — note creation, search, vault health, knowledge capture, bases, and daily notes. Uses progressive disclosure: essential rules below, deep reference in reference/.

Directory Structure

obsidian-master-skill/
├── SKILL.md                          # This file (overview + quick reference)
├── reference/                        # Detailed documentation
│   ├── markdown.md                   # Obsidian Flavored Markdown syntax
│   ├── vault-organization.md         # PARA folders, frontmatter, Dataview
│   ├── rest-api.md                   # Local REST API, URI scheme, plugin API
│   ├── bases.md                      # .base YAML schema, filters, formulas
│   ├── integration-patterns.md       # Claude Code integration patterns
│   └── knowledge-capture.md          # ADR, concept, how-to, meeting templates
├── Workflows/                        # Step-by-step workflow definitions
│   ├── CreateNote.md                 # Create notes with templates + PARA placement
│   ├── SearchVault.md                # DQL, content search, tag filtering
│   ├── ManageVault.md                # Health checks, orphans, broken links
│   ├── CaptureKnowledge.md           # Extract insights from conversations
│   ├── CreateBase.md                 # Build .base database views
│   ├── DailyNote.md                  # Daily note creation/enhancement
│   ├── ProcessInbox.md               # Triage inbox into PARA folders
│   └── SyncDocs.md                   # Sync external project docs to vault
└── Tools/                            # Python CLI tools (click + httpx)
    ├── SearchVault.py                # status, auth, search (dataview|content|jsonlogic)
    ├── VaultManager.py               # health, orphans, broken-links, lifecycle, move, inbox
    ├── NoteCreator.py                # create, daily, capture
    └── BaseBuilder.py                # create, validate, preview

Workflow Routing

IntentWorkflowTool
Create a note (any type)Workflows/CreateNote.mdTools/NoteCreator.py
Search vault (DQL, content, tags)Workflows/SearchVault.mdTools/SearchVault.py
Vault health, orphans, broken linksWorkflows/ManageVault.mdTools/VaultManager.py
Extract knowledge from conversationWorkflows/CaptureKnowledge.mdTools/NoteCreator.py
Create/edit .base database viewsWorkflows/CreateBase.mdTools/BaseBuilder.py
Daily note create/enhanceWorkflows/DailyNote.mdTools/NoteCreator.py
Process inbox notes into PARAWorkflows/ProcessInbox.mdTools/VaultManager.py
Sync project docs to vaultWorkflows/SyncDocs.mdTools/VaultManager.py

Quick Reference

PARA Folder Map
FolderPurposeNote Types
00 - Inbox/Quick capture, unsortedFleeting thoughts
00 - Maps of Content/Index notesMOCs, dashboards
01 - Projects/Active projectsProject docs
02 - Areas/Ongoing responsibilitiesArea overviews
03 - Resources/Reference materialsEvergreen notes
04 - Archive/Completed/inactiveArchived projects
04 - Permanent/Zettelkasten notesAtomic ideas
06 - Daily/Daily journal (YYYY/MM/YYYYMMDD.md)Journal entries
08 - books/Book notesReading notes
10 - 1-1/Meeting notes1-on-1s

Deep dive: reference/vault-organization.md

Frontmatter Schemas

Standard Note:

---
created: YYYY-MM-DDTHH:mm
updated: YYYY-MM-DDTHH:mm
tags:
  - category/subcategory
---

Daily Note (v2.0):

---
created: YYYY-MM-DDTHH:mm
updated: YYYY-MM-DDTHH:mm
title: YYYYMMDD
type: daily-note
status: true
tags:
  - daily
  - y/YYYY
  - y/YYYY-MM
aliases:
  - YYYY-MM-DD
date_formatted: YYYY-MM-DD
cssclasses:
  - daily
---

Project Note:

---
created: YYYY-MM-DDTHH:mm
updated: YYYY-MM-DDTHH:mm
type: project
status: active | paused | complete
priority: high | medium | low
tags:
  - project/name
---

Deep dive: reference/vault-organization.md

Link Conventions
[[Note Name]]                    # Wikilink
[[Note Name|Display Text]]       # Aliased link
[[Note Name#Heading]]            # Heading link
[[Note Name#^block-id]]          # Block reference
![[Note Name]]                   # Embed note
![[image.png]]                   # Embed image
![[image.png|300]]               # Embed with width

Deep dive: reference/markdown.md

Common Dataview Queries
LIST FROM "06 - Daily" WHERE file.cday = date(today) SORT file.ctime DESC
TABLE status, tags FROM "01 - Projects" WHERE status != "completed"
TABLE WITHOUT ID file.link AS "Note", file.mtime AS "Modified"
FROM "03 - Resources" SORT file.mtime DESC LIMIT 20
LIST FROM "" WHERE length(file.inlinks) = 0 AND length(file.outlinks) = 0

Deep dive: reference/vault-organization.md

Knowledge Capture Signals
Signal in ConversationCapture TypeDestination
"We decided to..."ADR03 - Resources/decisions/
"What is X?" / "X works by..."Concept04 - Permanent/
"How do I..." / "Steps to..."How-To03 - Resources/howtos/
"In the meeting..."Meeting Note10 - 1-1/
"Track all notes about..."MOC00 - Maps of Content/
Quick insight or todoDaily Append06 - Daily/YYYY/MM/YYYYMMDD.md

Deep dive: reference/knowledge-capture.md

Callout Types
> [!note] Title
> Content

> [!tip]+ Expandable (default open)
> [!info]- Collapsed (default closed)

Types: note, abstract/summary/tldr, info, todo, tip/hint/important, success/check/done, question/help/faq, warning/caution/attention, failure/fail/missing, danger/error, bug, example, quote/cite

Deep dive: reference/markdown.md

REST API Quick Start
# Requires Local REST API plugin enabled in Obsidian
export OBSIDIAN_API_KEY="your-key"
export OBSIDIAN_BASE_URL="https://127.0.0.1:27124"

curl -H "Authorization: Bearer $OBSIDIAN_API_KEY" $OBSIDIAN_BASE_URL/vault/
EndpointMethodPurpose
/vault/{path}GET/PUT/DELETE/PATCHFile CRUD
/search/simple/POSTText search
/search/POSTDataview query
/search/jsonlogic/POSTComplex filtering
/active/GET/PUTActive file
/commands/{id}POSTExecute command

Deep dive: reference/rest-api.md

Base Files Quick Start
# example.base — table of active projects
filters:
  and:
    - file.inFolder("01 - Projects")
    - 'status == "active"'
views:
  - type: table
    name: "Active Projects"
    order: [file.name, status, priority, due_date]

Embed: ![[example.base]] or ![[example.base#View Name]]

Deep dive: reference/bases.md

Tools (Python)

All tools use click CLI, httpx for REST API, pyyaml for frontmatter, pathlib for direct file access. Dual mode: REST API when Obsidian running, direct file fallback otherwise.

ToolCommands
Tools/SearchVault.pystatus, auth, search --type dataview|content|jsonlogic
Tools/VaultManager.pyhealth, orphans, broken-links, lifecycle, move, inbox
Tools/NoteCreator.pycreate, daily, capture
Tools/BaseBuilder.pycreate, validate, preview

Examples

"Create a new project note for API redesign"     -> Workflows/CreateNote.md
"Search my vault for notes about Kubernetes"      -> Workflows/SearchVault.md
"Find orphan notes and suggest connections"       -> Workflows/ManageVault.md
"Save what we just discussed as an ADR"           -> Workflows/CaptureKnowledge.md
"Create a base view of all active projects"       -> Workflows/CreateBase.md
"Create today's daily note"                       -> Workflows/DailyNote.md
"Process my inbox"                                -> Workflows/ProcessInbox.md
"What's the Obsidian markdown syntax for X?"      -> reference/markdown.md
"How do I use the REST API?"                      -> reference/rest-api.md
"How do bases formulas work?"                     -> reference/bases.md

Neovim Reference

For obsidian.nvim configuration, see reference/integration-patterns.md section on Neovim integration.

Comments

Markdown supported