Spec Reference

The Agentic YAML spec v0.1 defines a format for describing agentic system diagrams as human-readable text.

Diagram metadata

agentic: "0.1"
diagram:
  name: My Diagram
  description: Optional description
  type: system            # system | component
  active_scenario: flow-1
  parent_diagram: parent-id
  created: "2026-03-10T21:24:34.728Z"
  updated: "2026-04-10T12:00:00.000Z"

All fields are optional. name defaults to "Untitled".

parent_diagram identifies the parent diagram when this file represents a drilled-down sub-system.

Nodes

Nodes are a map of id → definition. The id is a stable, human-readable identifier. When label is omitted, the id is used as the display name.

nodes:
  orchestrator:
    type: agent
    is_looping: true

  pantry-server:
    type: tool
    sub_type: mcp

Common properties

PropertyTypeRequiredDescription
typestringyesNode type (see Node Types)
labelstringnoDisplay name (defaults to node id)
sub_titlestringnoSecondary text below label
descriptionstringnoLonger description
sub_typestringnoType-specific variant
urlstringnoExternal link
groupstringnoParent group node id
linked_diagramstringnoDrill-down target diagram id or path
edgesarraynoInline edge definitions

Type-specific properties

PropertyTypeRelevant typesDescription
is_loopingbooleanagentRuns in a loop
authstringagent, backendAuth mechanism
auth_detailstringagent, backendAuth subtitle/detail
providerstringmodelModel provider
contentstringprompt, note, text_labelText content
example_responsestringagentExample agent response

Design decisions

Smart defaults — Edge type defaults to request, step type to call, label to the node id, direction to TB. A file with just agentic: "0.1" is valid.

Node IDs as map keys — Avoids repeating id: on every node. IDs must be unique, URL-safe strings.

sub_type not tool_type/memory_type/etc. — One universal field instead of type-specific fields. The node’s type already provides context.

from/to not source/target — Consistent between edges and scenario steps. More readable.

Edges as array, not map — Edge IDs aren’t meaningful to humans. Auto-generated on import.

Inline or top-level edges — Both forms produce identical results and can be mixed freely.

Layout is optional — The core spec fully describes the diagram’s meaning. Layout can be omitted and the editor will auto-arrange.