Key Files in the obsidian-skills Repository: A Complete Guide
The obsidian-skills repository consists of SKILL.md definitions, reference documentation under references/, and configuration files that enable Claude Code, OpenCode, and other agents to manipulate Obsidian vaults via markdown, bases, canvases, and CLI commands.
The obsidian-skills repository by kepano provides a structured collection of Agent Skills for extending Obsidian-compatible AI agents. Understanding the key files in the obsidian-skills repository is essential for developers who want to customize how agents interact with vaults, notes, and canvas files.
Repository Architecture and Top-Level Files
The repository follows a strict organizational pattern designed for agent auto-discovery. At the root level, README.md serves as the project overview and installation guide, while LICENSE establishes legal permissions for open-source reuse.
The .claude-plugin/ directory contains plugin.json, which provides metadata required for publishing to the Claude Code marketplace. This file enables seamless integration with the Claude ecosystem without manual configuration.
The skills/ Directory and SKILL.md Pattern
Every skill resides in its own subdirectory under skills/. Each skill follows the Agent Skills specification, requiring a SKILL.md file that contains a YAML header with name and description fields, followed by human-readable workflows that agents invoke.
The primary skill directories include:
skills/obsidian-markdown/- Markdown-specific extensions for wikilinks, embeds, and calloutsskills/obsidian-bases/-.basefile syntax for views, filters, and formulasskills/json-canvas/- JSON Canvas format handling for node-based diagramsskills/obsidian-cli/- CLI interaction commands for plugin and theme managementskills/defuddle/- Web-page to markdown extraction capabilities
obsidian-markdown Skill Files
The skills/obsidian-markdown/SKILL.md file defines how agents handle wikilinks, embeds, callouts, and YAML front-matter. Supporting this are three critical reference files in skills/obsidian-markdown/references/:
PROPERTIES.md- Documents front-matter properties and metadata syntaxEMBEDS.md- Details Obsidian embed syntax for images and transcluded notesCALLOUTS.md- Specifies callout types, icons, and formatting rules
obsidian-bases Skill Files
For database-style functionality, skills/obsidian-bases/SKILL.md defines the .base file syntax used for creating views, filters, and formulas. The skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md provides exhaustive tables of available functions and syntax examples that agents use to generate valid base queries.
json-canvas and CLI Skill Files
The skills/json-canvas/SKILL.md validates and creates canvas files, supported by skills/json-canvas/references/EXAMPLES.md which contains sample canvas structures demonstrating nodes, edges, and groups. For vault automation, skills/obsidian-cli/SKILL.md enables plugin and theme management through command forwarding to the Obsidian CLI.
How Agents Consume These Files
Agents like OpenCode and Claude Code auto-discover skills by scanning for SKILL.md files. The following examples demonstrate how these key files translate into practical vault manipulation.
Installing the Skill Pack
git clone https://github.com/kepano/obsidian-skills.git ~/.opencode/skills/obsidian-skills
Restart OpenCode to auto-discover all SKILL.md definitions within the cloned directory.
Creating Markdown with obsidian-markdown
skill obsidian-markdown <<EOF
---
title: Project Overview
tags:
- project
- planning
---
# Project Overview
> [!note] Goal
> Summarize the main objective.
![[architecture.png|400]]
[[Next Steps]]
EOF
The skill parses the YAML front-matter and markdown body according to the specifications in references/PROPERTIES.md, outputting a properly formatted .md file in the vault.
Building JSON Canvas Files
skill json-canvas <<'CANVAS'
{
"nodes": [
{ "id": "1", "type": "note", "text": "Start", "x": 0, "y": 0 },
{ "id": "2", "type": "note", "text": "Review", "x": 200, "y": 0 }
],
"edges": [{ "from": "1", "to": "2", "label": "next" }]
}
CANVAS
This validates the JSON structure against the canvas specification and saves it as my-project.canvas.
Executing CLI Commands
skill obsidian-cli <<'CMD'
plugin enable quickadd
theme set Minimal
CMD
The skill forwards these commands directly to the Obsidian CLI, enabling automated plugin management and theme switching within the vault.
Summary
- The
README.mdandLICENSEprovide project entry points and legal framework for open-source reuse - Each skill directory contains a
SKILL.mdfollowing the Agent Skills specification with YAML metadata definingnameanddescription - Reference files in
references/directories supply concrete syntax specifications for markdown properties, embeds, callouts, base functions, and canvas examples - The
.claude-plugin/plugin.jsonenables marketplace integration for Claude Code distribution - Agents auto-discover capabilities by scanning the
skills/directory structure for validSKILL.mdfiles
Frequently Asked Questions
What is the purpose of the SKILL.md files in obsidian-skills?
Each SKILL.md file serves as a formal skill definition containing YAML metadata with name and description fields, followed by human-readable workflows. These files enable auto-discovery by OpenCode, Claude Code, and other compatible agents, allowing them to understand available capabilities without manual configuration.
Where can I find the syntax specifications for Obsidian markdown features?
Detailed syntax specifications reside in the skills/obsidian-markdown/references/ directory. The PROPERTIES.md, EMBEDS.md, and CALLOUTS.md files provide exhaustive tables and examples for front-matter properties, image embeds including wikilink syntax, and callout formatting rules respectively.
How do agents detect and load skills from this repository?
Agents scan the skills/ directory for files named exactly SKILL.md. Upon detection, they parse the YAML header to identify the skill name and description, then load the associated workflow instructions. For OpenCode, placing the repository in ~/.opencode/skills/obsidian-skills enables automatic discovery after restarting the agent.
What is the role of the .claude-plugin directory?
The .claude-plugin/ directory contains plugin.json, which stores metadata required for publishing to the Claude Code marketplace. This configuration file allows Claude Code to recognize and integrate the obsidian-skills package seamlessly into the Claude ecosystem, facilitating one-click installation for users.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →