obsidian-ontology-sync

Extract entities and relationships from Markdown notes into a jsonl knowledge graph.

2|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/augustscl/awesome-xiawang-skills --skill obsidian-ontology-sync-augustscl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: obsidian-ontology-sync
Source: https://github.com/augustscl/awesome-xiawang-skills/tree/main/obsidian-ontology-sync-1.0.1
Command: npx skills add https://github.com/augustscl/awesome-xiawang-skills --skill obsidian-ontology-sync-augustscl

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Bidirectional synchronization between Obsidian notes and a structured ontology, enabling automatic extraction of entities and relationships to keep both human-readable notes and machine-queryable graphs in sync.

Core Features & Use Cases

  • Extracts entities (Person, Organization, Project) and relationships (works_at, assigned_to, met_at) from Markdown notes.
  • Builds and updates a machine-readable ontology (graph.jsonl) with upsert and relate operations.
  • Provides analysis and feedback to improve PKM templates and note organization, with cron-based scheduling.

Quick Start

Install dependencies, initialize the config, run a dry-run extraction, then enable cron-based automatic syncing.

Frequently Asked Questions about obsidian-ontology-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract entities and relationships from Obsidian Markdown notes into a knowledge graph?▼

To build a knowledge graph from Obsidian notes, this Skill extracts entities like Person, Organization, and Project, plus relationships like works_at or assigned_to, writing the structured data into a machine-queryable graph.jsonl file via upsert and relate operations.

How does Markdown to ontology synchronization work for personal knowledge management?▼

Synchronization works by applying a YAML-configured workflow that parses Markdown notes, upserts extracted entities, creates relations, and outputs a machine-queryable graph.jsonl. This keeps your human-readable Obsidian notes and structured ontology consistently aligned.

Can I automate Obsidian knowledge graph extraction on a regular schedule?▼

Yes, you can automate Obsidian knowledge graph extraction using cron-based scheduling. This enables regular, hands-off synchronization to keep your ontology up to date with your latest Markdown notes for continuous personal knowledge management.

Do I need YAML configuration to extract data from Obsidian notes into a graph?▼

Yes, YAML configuration is required to define the extraction workflow. You initialize the config to specify how entities and relationships are parsed from Markdown notes, then run a dry-run extraction before enabling automatic syncing to the graph.jsonl file.

What is the best way to analyze and improve Obsidian note structure based on extracted data?▼

The best way to improve Obsidian note structure is to use analysis and feedback generated from your extracted ontology data. By evaluating the machine-queryable graph, you can identify gaps and refine your PKM templates and overall note organization.

What are the limitations of synchronizing Obsidian notes with a structured ontology?▼

Synchronizing Obsidian notes with a structured ontology depends on consistent Markdown formatting to accurately extract entities and relationships. Complex or unstructured notes may limit the effectiveness of building a machine-queryable knowledge graph.