Skip to content

OKF Adapter Skill — bring Open Knowledge Format bundles into Agno agents  #2

Description

@polsebas

Summary

Google Cloud recently published the Open Knowledge Format (OKF): an open, vendor-neutral spec for representing curated knowledge as markdown files with YAML frontmatter, linked into a graph via standard markdown links. No new SDK, no new runtime — just files.
(ref: https://cloud.google.com/blog/products/data-analytics/how-the-open-knowledge-format-can-improve-data-sharing)

I'd like to propose an OKF Adapter Skill for agno-dev-toolkit: a lightweight, read-only tool that lets any Agno agent load an OKF bundle as structured, typed context.

Motivation

  • OKF sits in the gap between raw vector RAG (good for unstructured text) and a full GraphRAG setup (heavy to run) — it's a git-friendly, versionable knowledge layer that fits how this toolkit already treats validation rules (ValidationEngine + ValidationRule ABC).
  • Zero vendor lock-in, consistent with the toolkit's existing stance (ChromaDB default, Milvus opt-in via VECTOR_BACKEND, stdio MCP transport).
  • Being an early, genuinely useful OKF↔Agno integration is good for the project and the wider built-with-agno community — not a marketing move, an actual gap this fills.

Proposed scope (MVP)

  • Parse an OKF bundle (directory of .md files + YAML frontmatter) into typed concept objects (Pydantic)
  • Resolve markdown-link relationships into a simple in-memory graph
  • Expose read-only tools for agents, e.g. query_okf_concept(id), list_okf_concepts(tag)
  • One example bundle + one example agent consuming it
  • Unit tests for parsing + one E2E example

Out of scope (v1)

  • Writing/updating OKF bundles from within an agent
  • Vector search over OKF content (that's what ChromaDB is for)
  • Any new server process — stays a pure parsing/adapter skill

Technical notes

  • Fits the existing modular skill pattern; no changes to start.sh required
  • Optional OKF_BUNDLE_PATH env var, following the toolkit's existing opt-in convention

Call to action

This is a proposal, not a commitment — feedback welcome before I start building:

  • Does this belong as a core skill, or as a separate optional package?
  • Anyone want to co-build or review a first draft PR?
  • 👍 or comment if this is useful to you, and I'll open a draft PR with the MVP scope above.

Suggested labels: enhancement, discussion, help wanted

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions