Okf
Use the Open Knowledge Format (OKF) when storing, retrieving, or documenting knowledge. Produces and reads OKF bundles, portable markdown with YAML frontmatter. Use when the user asks to "document this in OKF", "create an OKF bundle", "read the knowledge base", or when working with data systems that need structured documentation.From its SKILL.md
npx -y skills add catancs/okf-skill --skill okfAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.2 KB, as published. Nobody here has run it
OKF (Open Knowledge Format) Skill
Use the Open Knowledge Format (OKF) when storing, retrieving, or documenting knowledge. OKF makes knowledge portable across agents, tools, and teams.
What to do
When documenting data systems (databases, APIs, pipelines, metrics) or building a knowledge base, produce OKF-conformant bundles. When reading existing knowledge, prefer OKF bundles.
File structure
knowledge/
├── index.md # Root listing of all concepts
├── datasets/
│ ├── index.md
│ └── sales.md
└── tables/
├── index.md
└── orders.md
Concept format
Every .md file (except index.md) is a concept. Required and recommended frontmatter:
---
type: Table # REQUIRED (e.g. Table, Dataset, Metric, API, Playbook)
title: Orders # Recommended, display name
description: Customer orders # Recommended, one-line summary
resource: https://... # Optional, canonical URI
tags: [sales, orders] # Optional, cross-cutting tags
timestamp: 2026-06-17T00:00:00Z # Optional, ISO 8601
---
# Schema
| Column | Type | Description |
|------------|--------|----------------------------|
| `order_id` | STRING | Unique identifier |
# Related
See [customers](/tables/customers.md) for the join key.
Rules
typeis the only required field. All else is optional.- Reserved filenames:
index.md(directory listing) andlog.md(changelog). Never use as concept names. - Cross-link with markdown:
[text](/path/to/concept.md)(absolute) or[text](./relative.md). - Always add
description, it's used in indexes and search. - Create
index.mdin each directory listing its contents. - After writing, verify the bundle is self-consistent: links resolve, types are set, index exists.
Types (suggested)
| Type | Use for |
|---|---|
Dataset | Collection of tables or views |
Table | A database table or view |
API | REST/gRPC endpoint |
Metric | Business or technical metric |
Playbook | Operational procedure |
Pipeline | Data processing pipeline |
Reference | External docs or glossary |
Define your own types as needed. Consumers will handle unknown types gracefully.
Workflow
- Document (when asked to document a system, create an OKF bundle with
index.mdat root, organized by type.) - Read (before answering questions about a system, check if an OKF bundle exists. Read
index.mdfirst, then drill into relevant concepts.) - Update (when schemas or systems change, update the relevant concept files and their timestamps.)
- Cross-reference (link related concepts. The value of OKF is in the graph, not the individual files.)