What problem does it solve? Writing programming courseware by hand produces silent errors: component lists written from memory, expected console output that was never actually run, and code duplicated between lesson.json and lesson.md that drifts out of sync. This Skill enforces a measurement-first workflow so every lesson promise to students is verified before shipping. ## Core Features & Use Cases - Measured component lists: Uses the Playwright-based e2e/measure-lesson-codes.spec.ts tool to sync each code snippet, walk the semantic tree, run it, and record the real components and stdout instead of guessing. - Single source of truth for code: Code lives only in lesson.md under the '完成的樣子' section; guardrails extract and execute it, preventing dual-source drift. - Track and lesson structure: Defines track.json per learning track (beginner, bridge, advanced) and lesson.json/lesson.md per lesson, with numbering and cross-track referencing rules. - Exercise tasks with judges: Supports per-task checks, solution files, and multiple-choice distractors each annotated with the specific misconception it targets. - Use Case: When authoring a new C++ beginner lesson, run the measurement tool on all code snippets first, confirm zero raw_code nodes, fill pins.target with the correct target id, then write the seven-section lesson skeleton and let the data-driven e2e suite pick it up automatically. ## Quick Start Create a new lesson for the cpp-beginner track by first measuring all its code snippets with the lesson measurement spec, then writing lesson.json and lesson.md following the seven-section skeleton.