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
| Path | What it is |
|---|---|
POF.md | The manifest. Required. |
COMMITS.md, HISTORY.md | The history. Optional. |
<family>/<slug>/<TYPE>.md | A piece of the core. The file is named after its type in capitals. |
roles/<team>/<slug>/ROLE.md | Roles 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>.md | Annotations on a piece, numbered from 1. |
<piece>/HISTORY.md | The 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.
| Type | Folder | kind | Body |
|---|---|---|---|
| Role | roles/<team>/<slug>/ROLE.md | none | instructions |
| Skill | skills/<slug>/SKILL.md | none | instructions |
| Policy | policies/<slug>/POLICY.md | none | description |
| Objective | objectives/<slug>/OBJECTIVE.md | strategic, tactical, operational | description |
| Routine | routines/<slug>/ROUTINE.md | none | goal |
| Channel | channels/<slug>/CHANNEL.md | the platform | description |
| Connection | connections/<slug>/CONNECTION.md | mcp, openapi | description |
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.