The PDF format
for the AI agent era.

Consistent like PDF. · Editable like code.

$npx skills add suzheng/k2f --skill k2f

·GitHub folder

k2f://playground/document.k2f

STATEMENT #2025-001

Date: 15 Dec 2025 Bill To: TechInnovate Inc.

Semantics and styles are fully separated.
Render locked ✓

WHY K2F IS DIFFERENT

Why K2F is different

THE ADVANTAGE

Why K2F is different

  • AI-Native Read & Write

    Structured semantic content lets agents edit with precision — zero layout drift.

  • Deterministic rendering

    Same document = pixel-identical output every time, on every device. No drift, ever.

  • Semantically editable

    AI edits meaning, not coordinates and colors. Precise node-level edits.

  • Precise rollback

    Content is a tree. AI can revert to any historical node without touching the rest.

  • Self-contained file

    Fonts, images, data all packaged into one .k2f file. Send it and it's complete.

  • Open and it's done

    No re-layout. The locked layout executes directly. Fast, and it never shifts.

THE PROBLEM

The problem

PDF is a black box for AI — hard to read, impossible to edit. HTML is a sandcastle for AI — every render differs, styles drift. AI needs a format that is natively editable and renders with absolute certainty.

  • 📄 PDF

    Unreadable · Uneditable
  • </> HTML

    Render drift · Style chaos
  • K2F

    Editable semantics · Locked rendering

GET STARTED

Get started

One Skill. 30 seconds to connect your AI agent.

Run this in a terminal (Cursor, Claude Code, Codex, or any agent with npx skills):

$npx skills add suzheng/k2f --skill k2f

Or copy skills/k2f/ from GitHub into your agent skills path. Then say “Generate an invoice” or “Write a monthly report.”

DESIGN PHILOSOPHY

Minimal Structure, Semantic-First Design

At its core, just two parts: content and theme. The engine handles all layout automatically, for consistent output everywhere.

content/root.json
1{
2 "id": "invoice.header",
3 "role": "h1",
4 "content": {
5 "type": "text",
6 "value": "STATEMENT #2025-001"
7 }
8},
9{
10 "id": "invoice.details",
11 "role": "body",
12 "content": {
13 "type": "text",
14 "value": "Date: 15 Dec 2025..."
15 }
16},
17{
18 "role": "warning",
19 "content": {
20 "type": "text",
21 "value": "Semantics and styles..."
22 }
23}
styles/theme.json
1{
2 "roles": {
3 "h1": {
4 "font_size": 24000,
5 "bold": true,
6 "color": "google_blue_600"
7 },
8 "body": {
9 "font_size": 12000,
10 "color": "ink"
11 }
12 },
13 "palette": {
14 "ink": "#202124",
15 "google_blue_600": "#1A73E8"
16 }
17}

Directory structure

document.k2f
├── manifest.json# metadata
├── content/root.json# semantic content tree
├── styles/theme.json# theme styles
└── document.K2F.lock# render lock (generated after compile)

TOOLING

Mature Tooling Ecosystem, Ready to Use

  • Live Playground

    Edit and preview K2F documents right in your browser.

    Try Now
  • Gallery

    Beautiful documents, not just structured data.

    Browse Gallery
  • Desktop Reader

    Native desktop client to open, view, and verify K2F files offline.

    View Roadmap
  • Full Documentation

    Deep dive into format specs, SDK integration, and best practices.

    View Docs