On this pageWhat is used instead

SNML: SkillNet Markup Language specification

Status: superseded. It does not describe the current code. SNML was the content format proposed for v1: valid Markdown with ::: fenced blocks for interactive components. It was never implemented, and no reference to SNML remains in apps/skillnet-api or apps/skillnet-web.

What is used instead

Lesson content does not travel as markup. It travels as ui_spec: a JSON intermediate representation the agents emit and the frontend renders through the OpenUI component kit. The decision and its consequences are in OpenUI adoption, and the frozen block vocabulary is in Dynamic courses (v2) §5.

What SNML proposed What the code does
Text markup with ::: blocks JSON ui_spec, emitted by the render agents
Line-oriented or regex parser Schema validation over the ui_spec
Two rendering modes (doc and web) A single component renderer (UiSpecRenderer)
Hand-authored by an administrator Generated by the multi-agent pipeline, with schema editing

Why this page is kept

It stays published because other pages cite it as the origin of decisions that did survive — the heading tree as a chunking boundary, and the distribution of exercises by Bloom level — and because it explains why the final format is a JSON IR rather than an authoring format. The full specification, with its syntax and examples, was removed: it described a format that does not exist.