Google Cloud recently published the Open Knowledge Format, a plain way to package the knowledge that surrounds your systems: what a table means, how a metric is computed, which runbook to follow. A bundle is a folder of markdown files with a little YAML at the top of each one. You can read it in any editor, diff it in git, and hand it to an agent without a special SDK.
Living Spec now reads and writes it.
Why we care about this one
Most knowledge formats stop at "here is some text with tags." OKF version 0.2 goes further, and the reason is interesting. Its authors noticed that knowledge bases are increasingly written by agents, not people, and that a reader then needs answers to a few questions before trusting anything. Who wrote this? Did a human check it? Is it still current?
So the format has fields for exactly that. generated records who produced the content. verified records who confirmed it. status says whether it's a draft. A page verified by a person sits in a higher trust tier than one only a machine has touched.
The hard part is filling those fields in honestly. A bundle can claim anything. Living Spec doesn't have to take anyone's word for it, because the answers are already in the history.
Trust you don't have to assert
Agents connected to Living Spec never write to your document directly. They work on a branch, and a person reviews and merges it. That loop is the whole product, and it maps straight onto OKF:
generated.byis the agent that wrote the content on a branch, by name and version, likeclaude-code/2.1.0. Pages people edit directly are credited to them.verifiedlists everyone who merged a branch that touched the page, with the time they did it. A merge is a review, and the review gets recorded whether anyone thinks about it or not.status: draftmarks content that only exists on an unmerged branch.
Here is what the top of an exported page looks like after an agent drafted it and someone merged it:
---
type: Page
title: Checkout redesign
description: Returning customers skip the address step.
generated: { by: claude-code/2.1.0, at: 2026-10-02T14:12:09Z }
verified:
- by: human:5b1e7c2a-93d4-4f0e-8a61-2c7d9e0f4b38
at: 2026-10-03T09:40:00Z
status: stable
---
Nobody filled that in by hand. People appear as account ids rather than names, so you can share a bundle without sharing who is behind it.
What you can do with it
There are three new things in the MCP:
ExportAsOkfturns a document, a section of it, or an open branch into a bundle. Each page, task, drawing and file becomes its own file, links between pages become links between files, and you get an index per folder plus a log of every merge. Small specs come back right in the response. Large ones come as a zip.GetPagewithformat: "okf"gives an agent the same trust information for a single page while it works, so it can tell a reviewed decision from a draft someone is still arguing about.ImportOkfBundlegoes the other way. Point it at a bundle from another tool, say the one Google's enrichment agent generates from a BigQuery dataset, and each file becomes a page on a branch for you to review. Folders become the page hierarchy and links become page links.
Import and export round-trip. Export a spec, edit the files, import them back, and the pages update in place instead of piling up duplicates. Fields Living Spec has no home for, like a BigQuery resource or a stale_after date, are kept in a short section at the end of the page and written back out on the next export.
What it doesn't do yet
OKF is young. It's at version 0.2, and the move from 0.1 already replaced two fields, so expect more changes. We'll keep up as it evolves.
Drawings and files export as pointers back to Living Spec, not as their contents. And a bundle's own verified claims don't carry over when you import it. Imported content starts as a draft on a branch, like anything else an outside source writes, until someone on your team merges it.
Try it
If you already have the Living Spec MCP connected, ask your agent to export a document as an OKF bundle and look at the frontmatter. If you don't, point your agent at livingspec.com/llms.txt. It has the setup steps for Claude Code, Gemini CLI and other MCP clients, written for an agent to follow. You'll make the API token yourself, under Profile → API Tokens. Reach out if anything gets in the way.