STD-018: Training Session Curriculum
The standard format for training track curricula in the education system. 8 active tracks (regex, jq, python, lua, nvim, etl, monad, tmux) under pages/education/training/. Each track is a structured, phased learning progression with estimated durations. Extracted from training track audit revealing inconsistent structure across tracks (Apr 2026).
Principles
-
Every track has a contract. The
index.adocdeclares what the track teaches, how long it takes, and what order to follow. A learner reads the index and knows exactly what they are committing to. -
Sessions are atomic. Each session file covers one focused topic in one sitting. If a session exceeds 90 minutes, it should be split.
-
Duration is estimated, not aspirational. Estimate based on actual session experience. Update after completing a session if the estimate was wrong.
-
Phases show progression. Sessions are grouped into phases that represent learning milestones. Phase boundaries mark shifts in difficulty or domain.
-
Drills are practice, not instruction. Drill files contain exercises. Explanation of concepts belongs in session files.
Requirements
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" are used per RFC 2119.
-
Every training track MUST have an
index.adoccontaining: training philosophy, sessions table, and total curriculum time. -
Session files MUST use sequential numbering:
01.adoc,02.adoc, throughNN.adoc. -
Every session MUST have an estimated duration in minutes.
-
The sessions table MUST organize sessions into named phases showing learning progression.
-
Drill files (if applicable) MUST use
drill-NN.adocnaming within the track directory. -
Drill examples MUST be stored in
examples/<track>-drills/and included viainclude::example$. -
Guide files (if applicable) MUST be listed in the index with a one-line purpose description.
-
Session status MUST use one of three values: Not Started, In Progress, Complete.
Session Status Values
3 permitted values. No others.
| Status | Definition | Icon |
|---|---|---|
Complete |
Session finished, exercises done |
β |
In Progress |
Session started, not yet finished |
π‘ |
Not Started |
Session not yet attempted |
β |
Directory Layout
pages/education/training/<track-name>/
βββ index.adoc # REQUIRED -- track overview, session table
βββ 01.adoc # Session 1
βββ 02.adoc # Session 2
βββ ...
βββ NN.adoc # Session N
βββ drill-01.adoc # OPTIONAL -- drill exercises
βββ drill-NN.adoc
βββ guide-<topic>.adoc # OPTIONAL -- supplementary guides
partials/education/training/<track-name>/
βββ index.adoc # Track overview partial
βββ 01.adoc # Session content partial
βββ ...
examples/<track>-drills/
βββ drill-01-<topic>.adoc # Drill exercise content
βββ drill-NN-<topic>.adoc
Index Template
The track index partial MUST follow this structure:
[.lead]
One-line description of the training track's scope and purpose.
== Training Philosophy
. First principle guiding this track's pedagogy
. Second principle
. Third principle
. Fourth principle (if applicable)
== Curriculum
=== Phase 1: <Phase Name>
<Brief description of what this phase covers and the skill level it targets.>
[cols="1,3,2,1"]
|===
| Session | Focus | Duration | Status
| xref:education/training/<track>/01.adoc[01]
| Topic of first session
| 45 min
| β
Complete
| xref:education/training/<track>/02.adoc[02]
| Topic of second session
| 60 min
| π‘ In Progress
| xref:education/training/<track>/03.adoc[03]
| Topic of third session
| 45 min
| β Not Started
|===
=== Phase 2: <Phase Name>
<Brief description of phase 2 scope.>
[cols="1,3,2,1"]
|===
| Session | Focus | Duration | Status
| xref:education/training/<track>/04.adoc[04]
| Topic
| 60 min
| β Not Started
|===
== Drills
// OPTIONAL -- include only if the track has drill exercises
[cols="1,3"]
|===
| Drill | Purpose
| xref:education/training/<track>/drill-01.adoc[Drill 01]
| What this drill practices
| xref:education/training/<track>/drill-02.adoc[Drill 02]
| What this drill practices
|===
== Guides
// OPTIONAL -- include only if the track has supplementary guides
[cols="1,3"]
|===
| Guide | Purpose
| xref:education/training/<track>/guide-<topic>.adoc[Guide Title]
| What this guide covers and when to reference it
|===
== Total Curriculum Time
**NN sessions across N phases -- approximately X hours Y minutes.**
Session File Template
Each session partial MUST follow this structure:
[.lead]
One-line description of what this session covers.
== Objectives
* What the learner will be able to do after this session
* Second objective
* Third objective
== Concepts
Explanation of the session's core concepts.
== Examples
include::example$<track>-drills/<example-file>.adoc[]
// Or inline if 10 lines or fewer:
[source,bash]
short example here
== Exercises . First exercise with clear instructions . Second exercise . Third exercise == Key Takeaways * Most important thing learned * Second takeaway
Active Tracks
| Track | Scope | Sessions | Status |
|---|---|---|---|
regex |
Regular expressions — PCRE, lookaheads, capture groups |
Varies |
Active |
jq |
JSON processing — filters, functions, pipelines |
Varies |
Active |
python |
Python fundamentals and standard library |
Varies |
Active |
lua |
Lua scripting for Neovim and general use |
Varies |
Active |
nvim |
Neovim mastery — motions, plugins, Lua config |
Varies |
Active |
etl |
Data extraction, transformation, loading pipelines |
Varies |
Active |
monad |
Functional programming patterns and monadic design |
Varies |
Active |
tmux |
Terminal multiplexer mastery |
Varies |
Active |
Compliance Checklist
| # | Check | Result |
|---|---|---|
1 |
Track has |
PASS / FAIL |
2 |
Session files use sequential numbering ( |
PASS / FAIL |
3 |
Every session has estimated duration in minutes |
PASS / FAIL |
4 |
Sessions are organized into named phases |
PASS / FAIL |
5 |
Session status uses controlled vocabulary (Complete, In Progress, Not Started) |
PASS / FAIL |
6 |
Drill files (if any) use |
PASS / FAIL |
7 |
Drill examples stored in |
PASS / FAIL |
8 |
No |
PASS / FAIL |
Related
-
STD-016: Codex Entry Format — reference card format that training sessions feed into
-
STD-001: Project Structure — partials/pages pattern used by training tracks
-
STD-004: AsciiDoc Conventions — attribute and formatting rules
-
Training: Regex — reference implementation