The Problem
Agents that manipulate Obsidian vaults need a consistent, reusable description of the actions they can perform (e.g., creating markdown, editing bases, driving the CLI). Without a shared skill set, each integration must re‑implement the same file‑system and syntax logic, leading to duplicated effort and fragile scripts.
What This Does
obsidian-skills bundles five Agent‑Skill specifications that map directly to Obsidian concepts:
skills/obsidian-markdown/SKILL.md– defines operations for Obsidian‑flavored markdown (.md).skills/obsidian-bases/SKILL.md– describes creation and editing of.basefiles.skills/json-canvas/SKILL.md– covers the JSON Canvas format (.canvas).skills/obsidian-cli/SKILL.md– wraps the official Obsidian CLI for plugin/theme work.skills/defuddle/SKILL.md– exposes the Defuddle CLI to strip web pages to clean markdown.
Each file follows the Agent Skills specification (https://agentskills.io/specification). The repository supplies only the declarative skill descriptors; there is no runtime code to execute. Consumers import the markdown files into a compatible agent (Claude Code, Codex CLI, etc.), which then generates the appropriate system calls.
How It Is Wired
The repo does not contain executable source; the wiring exists entirely in the consuming agent:
| File | Role |
|---|---|
skills/*/SKILL.md | Holds the JSON‑compatible skill definition (name, description, input schema, example prompts). |
.claude-plugin/plugin.json & marketplace.json | Metadata required by Claude’s plugin marketplace; they point to the skills/ directory but do not invoke code. |
When an agent loads the plugin, it reads plugin.json → discovers the five skill directories → parses each SKILL.md to build an internal function table. The agent then routes user prompts to the matching skill, constructs the command line or file operation described in the skill, and executes it on the host system. No internal call graph exists inside this repo; the only “entry point” is the agent’s plugin loader.
How To Use It
# Clone the repo (use the exact URL from the spec)
git clone https://github.com/moses-y/obsidian-skills
cd obsidian-skills
# Claude Code – add to a vault
cp -R skills/ /path/to/your/vault/.claude/
# Codex CLI – install in the global skills path
cp -R skills/ ~/.codex/skills/
The README already documents these steps; no additional build or install scripts are required. After copying, the agent will expose the five skills under the names shown in the skill tables.
Real‑World Use
A knowledge‑base team uses Claude Code to keep their vault synchronized with external research. When a new paper arrives, they invoke the defuddle skill to fetch and clean the PDF’s HTML, then call obsidian-markdown to write a summary note with proper wikilinks. All actions are performed through the same agent, eliminating manual copy‑paste and ensuring consistent metadata.
Code Health & Issues
- Medium – No test files – repository-wide; there are no unit or integration tests.
- Medium – No CI/CD pipeline – no
.github/workflows, Dockerfile, or other automation. - Low – License present –
LICENSEfile exists, so reuse is legally clear. - Low – No lockfile – absence of
package-lock.json,yarn.lock,requirements.txt, etc., suggests no package manager is used.
The repo is purely declarative; the lack of tests and CI is typical for skill definition collections but means any change to a SKILL.md file is unchecked until an agent consumes it.
The Bottom Line
obsidian-skills offers a ready‑made, specification‑compliant set of skill descriptors that let agents work with Obsidian files without writing custom glue code. The package is lightweight and easy to adopt, but it provides no executable logic, tests, or CI, so responsibility for correctness rests with the consuming agent. Ideal for teams already using Claude Code or Codex CLI who need a shared, maintainable skill library.