Quickstart
A POF bundle is a zip of Markdown files, so nothing here needs more than
a shell. The examples come from casa-norte.pof.zip, the bundle of a
demo retailer with the core and six extensions.
Open it
unzip casa-norte.pof.zip -d casa-norte
cd casa-norte
ls
# COMMITS.md POF.md channels connections extensions objectives
# policies roles routines skillsRead the manifest
POF.md says what the bundle is: the format, the revision of the spec it
follows, the moment it describes, how much it holds and which extensions
it carries.
---
type: Bundle
format: pof
revision: 2026-10-16
as_of: 2026-10-16T12:43:25.205Z
counts:
pieces: 21
subentities: 10
links: 37
commits: 49
changes: 92
extensions:
- hub
- data
- growth
- loops
- whatsapp
- agents
---A reader checks type, format and revision before anything else.
See The manifest.
List the pieces
Every core piece is one file named after its type, in its own folder:
find . -path ./extensions -prune -o -name '[A-Z]*.md' -print \
| grep -v -e HISTORY -e COMMITS -e POF.md | sort
# ./channels/whatsapp-mayorista/CHANNEL.md
# ./connections/greatmove-actividades/CONNECTION.md
# ./objectives/crecer-canal-mayorista-q4/OBJECTIVE.md
# ./policies/aprobacion-de-compras/POLICY.md
# ./roles/administracion/gerenta/ROLE.md
# ./routines/calificar-consulta-mayorista/ROUTINE.md
# ./skills/calificar-consulta-mayorista/SKILL.md
# ...Follow a link
Links are paths. The objective says who owns it and which routines move it:
---
type: Objective
kind: tactical
title: Crecer el canal mayorista en el último trimestre
name: crecer-canal-mayorista-q4
goal: Crecer en el interior
links:
- role: impacted_by
to: routines/calificar-consulta-mayorista
- role: owned_by
to: roles/mayorista/atencion
---routines/calificar-consulta-mayorista is a folder in the same bundle;
open its ROUTINE.md and you are there. See
Documents and links.
Read the history, if it is there
COMMITS.md lists every commit; each piece’s HISTORY.md lists the
changes that touched it, field by field. Both are optional: a bundle
without them is a snapshot. See History.
Leave the extensions alone
extensions/ holds what other systems exported: a CRM’s pipelines, a
data platform’s notebooks, a WhatsApp inbox. Each has an EXTENSION.md
that says which system wrote it and in what format. A reader that does
not know one keeps it as it is. See Extensions.
Writing a bundle is the same walk in reverse: one folder per piece, its attributes as frontmatter fields, its relations as paths, and the manifest at the root. Reading and importing lists what a reader must check.