Skip to Content
The formatThe bundle

The bundle

A POF bundle is a zip (or a folder) of UTF-8 Markdown files, each with a YAML frontmatter block, conformant to OKF  (Open Knowledge Format) v0.2. This page is revision 2026-10-16.

Layout

  • POF.md
  • COMMITS.md
  • HISTORY.md
        • ROLE.md
        • HISTORY.md
      • SKILL.md
      • POLICY.md
      • OBJECTIVE.md
PathWhat it is
POF.mdThe manifest. Required.
COMMITS.md, HISTORY.mdThe history. Optional.
<family>/<slug>/<TYPE>.mdA piece of the core. The file is named after its type in capitals.
roles/<team>/<slug>/ROLE.mdRoles are the one family with two levels: the team’s folder, then the role’s.
<piece>/rules/, key-results/, files/A piece’s subentities, one file each, named <nn>-<slug>.md.
<piece>/annotations/<n>.mdAnnotations on a piece, numbered from 1.
<piece>/HISTORY.mdThe piece’s changes, when the bundle carries its history.
extensions/<system>/Another system’s data, with its own EXTENSION.md. See Extensions.

Slugs are lowercase ASCII letters and digits separated by single hyphens ([a-z0-9]+(-[a-z0-9]+)*). Nothing else lives at the root or inside the core folders: a file that is not in this layout belongs under extensions/.

The core

The core is what every organization has, whatever system it runs on.

TypeFolderkindBody
Roleroles/<team>/<slug>/ROLE.mdnoneinstructions
Skillskills/<slug>/SKILL.mdnoneinstructions
Policypolicies/<slug>/POLICY.mdnonedescription
Objectiveobjectives/<slug>/OBJECTIVE.mdstrategic, tactical, operationaldescription
Routineroutines/<slug>/ROUTINE.mdnonegoal
Channelchannels/<slug>/CHANNEL.mdthe platformdescription
Connectionconnections/<slug>/CONNECTION.mdmcp, openapidescription

Three subentity types hang from a piece: Rule under a policy, KeyResult under an objective, and File under a skill.

Every document of the core shares the same frontmatter conventions: type, kind, title, name, the attributes as fields, tags, links, dates and authors. See Documents and links.

What stays out

A bundle carries the organization, not the access to it. Keys, credentials, tokens, sessions, queues and subscriptions are never written, in the core or in an extension. Whoever imports a bundle sets up access again, on purpose.