SPTL is a declarative JSON format for building fully self-contained, interactive, self-paced training courses on Skillenter vCampus. One file, zero dependencies.
Every SPTL training follows a strict four-level hierarchy.
Training
Root document. Contains metadata, settings, and all modules.
Module
Logical chapter. Groups related lessons. Can require previous completion.
Lesson
Single learning unit. Can be a lesson, quiz, lab, video, or checkpoint.
Block
Atomic content piece. Text, code, video, quiz, image, and more.
14 built-in block types cover every learning scenario. Click any type to explore.
Rich markdown content — headings, lists, bold, italic, inline code, and more.
Preview
Hello World
This is bold and this is inline code.
JSON Schema
{
"type": "text",
"content": "## Hello World\n\nThis is **bold** and this is `inline code`."
}Top-level settings object controls learner behaviour.
navigation
"linear" | "free"
Linear enforces order; free lets learners jump between lessons.
passingScore
number (0–100)
Minimum score percentage required to pass quizzes and checkpoints.
showProgress
boolean
Display a progress bar tracking lesson completion.
allowRetakes
boolean
Let learners retry failed quizzes without admin intervention.
certificateOnCompletion
boolean
Issue a completion certificate when the training is fully done.
showCorrectAnswers
boolean
Reveal correct quiz answers after the learner submits.
showTimer
boolean
Display a lesson timer visible to the learner.
requireAllLessons
boolean
All non-optional lessons must be completed for the training to count as done.
Each lesson has a type that controls its icon and how the player treats it.
lesson
Standard learning unit.
quiz
Assessment-focused lesson.
lab
Hands-on practice session.
video
Video-primary lesson.
checkpoint
Gate that blocks progress.
locked: true
Learner cannot access this lesson until the previous lesson is completed. Works with navigation: "linear".
optional: true
Marks the lesson as bonus content. When requireAllLessons is true, optional lessons are excluded from the completion requirement.
Use the visual builder to create your first SPTL training, or paste raw JSON directly into the JSON editor.