Wikilink Types: type @ inside a wikilink to add relationship types, auto-synced to YAML frontmatter

Just released Wikilink Types, Obsidian is incredible for connecting notes, but a link only tells you that two notes are connected, not how. “This supersedes that.” “This contradicts that.” “This was caused by that.” That context lives in your head, not in your vault.

What it does

Type @ inside a wikilink alias and you get an autocomplete dropdown of relationship types:

[[Analysis|The new research @supersedes and @contradicts the previous analysis]]

On save, matched types sync to YAML frontmatter automatically:

---
supersedes:
  - "[[Analysis]]"
contradicts:
  - "[[Analysis]]"
---

You author with @. You never touch YAML. The frontmatter is the storage and compatibility layer — Dataview, Graph Link Types, Breadcrumbs, and the rest of the ecosystem read it natively without any changes on their end.

Why we built it this way

Penfield is intersection of AI and personal knowledge management, and we kept hitting the same wall: relationship types are almost always missing from people’s vaults. AI can infer a lot from linked notes, but it can’t reliably infer how they relate. “Supports” and “contradicts” are opposite relationships pointing at the same note, without the type, they’re indistinguishable.

Wikilink Types has 24 default relationship types (supersedes, supports, contradicts, causes, enables, extends, etc.) but everything is fully configurable. You can define your own vocabulary, remove ours, or mix and match. The plugin only generates frontmatter for types that are actually configured, if you type @foo in your display text and that’s not a configured type, it’s just display text. No junk in your frontmatter.

We see this as opening the door. Right now it’s autocomplete and frontmatter sync. Down the road: deeper configuration, settings UI, and richer integration with the tools that consume this data.

Works with Graph Link Types

We’re big fans of what Nate Frisch built with Graph Link Types. The two plugins are complementary, Wikilink Types handles authoring (the @ trigger, autocomplete, frontmatter sync), Graph Link Types handles visualization (colored edges in the graph). Wikilink Types writes the exact frontmatter format Graph Link Types already reads. No configuration needed to make them work together.

If you’ve been using Graph Link Types and wanted an easier way to author those relationships without manually editing YAML, that’s exactly what this is.

Features

  • @ autocomplete inside wikilink aliases with keyboard nav (arrows, Enter/Tab, Escape) and mouse click

  • Multiple @types per wikilink — write natural display text with several relationships

  • Space-before-@ rule: [email protected] in your display text is ignored, only @type triggers

  • Auto-sync to YAML frontmatter on save (debounced, deduped, only touches configured types)

  • 24 default relationship types, fully configurable

  • Works with Dataview, Graph Link Types, and Breadcrumbs out of the box

Install

BRAT (pre-listing): Add penfieldlabs/obsidian-wikilink-types in BRAT settings.

Community plugin listing submission is in progress.

GitHub: penfieldlabs/obsidian-wikilink-types

Feedback, suggestions and contributions welcome.

4 Likes