obsidian-kglisted
Install: claude install-skill thefilesareinthecomputer/dotagents
# obsidian-kg
Turn a markdown corpus into a queryable SQLite knowledge graph, then answer from
it. One engine, no dependencies beyond Python 3.10+ stdlib: EXECUTE
`scripts/obsidian_kg.py` via Bash for every operation - never reimplement its
parsing or query logic inline.
The vault path is always an argument, so this works on any corpus on disk. The
engine encodes no knowledge of any particular vault: it knows markdown structure
(headings, frontmatter, links, tags, lists), and anything specific to one corpus
lives in that corpus's config file.
Two things make it worth reaching for over `grep` or `Read`:
- **Sections, not files.** A hit locates a heading-bounded passage with a line
range you can read directly, instead of naming a file you then have to open.
- **Aggregates over time.** Dated entries roll up into themes and trends, which
no amount of searching produces.
## Layout
```
<vault>/vault-kg/
vault-kg-config.md ignore rules, profiles, entities - one file
vault-kg.db SQLite + FTS5, rebuildable - gitignore vault-kg/*.db*
vault-kg-prev.db diff checkpoint from `ingest --keep-previous`
```
The config is one fenced `json` block in a markdown file. **Edit it directly**
whenever the user asks for a rule, a profile or an entity - there is no CLI write
path and no submission protocol. Field reference: `references/config.md`.
## Workflow
1. **Set up once per vault.** `init` scaffolds the folder and writes only the
rows detection is conf