Open KnowledgeOpen Knowledge
Guides

Properties

Edit document frontmatter inline in the WYSIWYG editor — typed widgets for the five common YAML scalar shapes, with per-property CRDT merge.

Every Open Knowledge document is a markdown file with optional YAML frontmatter at the top. Frontmatter carries first-class structure — title, dates, tags, status, owners, cross-links — and it's what the rest of the system (search, the link graph, the Timeline, agents) reads to make sense of the doc.

The Properties panel is the inline editor for that frontmatter. It renders at the top of the document above the body in WYSIWYG mode, so you can change a tag or flip a status without dropping into source mode and writing raw YAML.

What's in a row

Each property shows three things, left to right: a type icon, the property name, and the value cell. Click the value to edit. Click the name to rename. Click the type icon to change the type.

The five widget types map to the YAML shapes you already use:

  • Text — a plain string. The default for anything that doesn't look like a number, boolean, date, or list.
  • Number — integers and floats. Inline numeric input.
  • Boolean — a checkbox. Persists as true / false in YAML.
  • Date — ISO 8601 calendar date (2026-04-27). Calendar picker on click.
  • List — an array of strings. Renders as chips: type and press Enter to add, click to remove, Backspace on empty input removes the last chip.

URLs are stored as Text — there's no separate URL type, since YAML doesn't have one.

Adding, removing, renaming

  • Add a property. Click + Add property at the bottom of the panel. Type the name, pick a type from the icon dropdown, enter the initial value, press Enter.
  • Remove a property. Hover the row; a trash icon appears on the right. Click to delete. The property disappears from the panel and the file's YAML.
  • Rename a property. Click the name. The label switches to an inline input. Type the new name, press Enter to commit or Escape to revert.

If a doc has no frontmatter yet, the panel doesn't render. Use the Add Properties button in the editor toolbar to seed the first property — the panel appears once a property exists.

You can collapse the panel as a whole with the chevron next to Properties. Body-content scroll position doesn't move when you do.

Concurrent edits merge through the YAML region

The property panel reads and writes the YAML region of the same CRDT text the source-mode editor binds to (Y.Text('source')). Edits land character-by-character — type a property name in the panel and a peer watching the same doc sees it letter-by-letter. Two writers editing different properties at the same time both land cleanly because their byte ranges don't overlap.

Two writers editing the same property's value concurrently collapse to last-writer-wins on the overlapping bytes. Other properties are unaffected.

Source mode still works

Source mode (the YAML-and-markdown view) edits frontmatter as plain text on the same Y.Text('source') the panel binds to, so the two views stay in sync automatically. Comments and blank lines you write in source mode round-trip through the form: editing one property in the panel doesn't reflow the rest of the YAML.

The supported widget types cover YAML's core scalar shapes (string, number, boolean, ISO date, flat string list). Frontmatter that uses constructs outside those shapes — nested maps, custom YAML tags, anchors — round-trips through source mode unchanged but is not editable from the panel.

If the YAML region is malformed (unterminated quote, misplaced colon), the panel renders the last valid state plus an inline banner asking you to fix the YAML in source mode.

Agents

Agents edit frontmatter through write_document (full-doc replace, including the ---\n…\n--- block). edit_document's find-and-replace is body-only — it rejects edits that would land in the frontmatter region with an HTTP 400 and a hint pointing at write_document.

See also

  • [[mcp-integration]] — agent-side surface for frontmatter writes.
  • [[timeline]] — frontmatter changes are recorded in the Timeline alongside body edits, with the same per-contributor summary bullets when the writer attached one.