← Patterns / practice
Frontmatter is a contract
A small block of YAML lets tools, sites, and agents read a doc without reading all of it.
- Authors
- Michael Staton
- Augmented with
- Claude Code on Claude Opus 5.5
- Tags
- Frontmatter · Metadata
What it is
Every doc starts with YAML frontmatter:
type
,
title
,
lede
, dates,
authors
,
augmented_with
,
at_semantic_version
,
status
,
tags
, and two identity fields.
Why
Frontmatter is what list views, search, share cards, retrieval tools, and an agent triaging fifty files all read instead of the body. Treat it as an interface. Change a key's meaning and every reader breaks quietly.
How
-
Exact: keys are
snake_case, dates areYYYY-MM-DD, tags and status values are Train-Case. -
Exact:
typeis the doc's folder name in Train-Case (type: Specs,type: Decisions). It's the one field the Open Knowledge Format requires. -
Respect what's there. Never delete a key you don't recognize. Not knowing what it does is a reason to leave it.
-
authorsis humans only; agents go inaugmented_with.
type: Specs
title: "Payment Retry Policy"
lede: "Failed charges retry on a schedule customers can predict."
status: Draft
at_semantic_version: 0.0.0.1
In the kit
The templates carry the baseline. The plugin's hook checks the few fields with one right answer before any write to
context-v/
.