Skip to content

Migrating from legacy tools

Clipboard icons

Commands and prompts on this page use fenced blocks with a copy button (top-right). Click to copy the full text for Terminal, Claude, or Cursor.

This guide helps teams move from slide-centric authoring (Articulate Storyline, Rise, Adobe Captivate, Lectora, etc.) to LXPack + Claude. You keep your instructional design; you change how content is stored and published.

Concept map

Legacy (Storyline / Rise / Captivate) LXPack
Project file (.story, .cptx, Rise web) Folder with course.yaml + content files
Slide / scene Lesson (markdown, html, or component)
Slide layers, states HTML interaction or separate lessons
Triggers (“when timeline starts…”) flow rules + variables, or JavaScript in HTML
Quiz question bank assessments/*.yaml
Result slide / pass-fail passingScore, tracking.completion, optional flow
Preview / Review lxpack preview
Publish to LMS lxpack build --target scorm12 (or scorm2004 / xapi / cmi5)
SCORM tracking Built into export — no separate trigger wiring

What you can drop

  • Binary project files learners never saw
  • Storyline player chrome — LXPack runtime provides navigation
  • Embedded font dependencies tied to the old tool

What you must rewrite

Asset Approach
Slide text Markdown lessons — Claude can convert Word/PPT outlines
Simple knowledge checks YAML assessments
Drag-drops, hotspots, simulations HTML under interactions/ — Claude drafts HTML; you validate
Complex animations Simplify or rebuild as HTML/CSS; LXPack is web-native, not timeline-based
Shared question banks One YAML file per quiz; duplicate questions as needed

Parity expectation

Pixel-perfect recreation of every Storyline trigger is rarely worth it. Aim for equivalent learning outcomes and accessible web interactions.

Migration checklist

1. Discovery (1–2 days)

  • List modules and learning objectives
  • Note branching (role paths, remediation)
  • Confirm LMS standard: SCORM 1.2, 2004, xAPI, or cmi5
  • Export text from legacy tool (Word, PDF, or copy from slides)

2. Pilot module (1 week)

  • lxpack init <course-name>
  • Rebuild one module: lessons + one quiz + one lab if needed
  • lxpack validatelxpack preview → stakeholder sign-off
  • lxpack build → upload to LMS staging
  • Test completion and quiz scoring with real LMS accounts

3. Scale content

4. Cutover

  • Retire legacy source-of-truth (archive .story for reference only)
  • Document which ZIP version is in production
  • Train authors on validate/preview habit

Existing HTML course (multi-page site)

Many teams already have a folder of HTML pages (custom site, Captivate HTML5 export, unpacked SCORM, internal training portal export). LXPack does not auto-import that folder; you restructure it into course.yaml, lessons/, interactions/, and assessments/, then lxpack build.

Legacy HTML LXPack
index.html + site nav course.yaml lesson order (LXPack player navigation)
Static content pages lessons/*.md (often faster than keeping as HTML)
Labs, drag-drop, simulations interactions/<id>/index.html + type: html lesson
Quiz pages or JS scoring assessments/*.yaml
Shared images/CSS assets/ or files beside each interaction
SCORM API / completion scripts lxpack track + built-in export (scorm12, etc.)

Suggested workflow: use Claude or Cursor with copy-paste prompts in Prompts for Claude and Cursor — start with Inventory an HTML course, then file plan, then Cursor: migrate HTML course folder. Pilot one module, run lxpack validate and lxpack preview, then scale.

Parity

You rarely need to keep every legacy wrapper page. Aim for the same learning outcomes and working interactions, not pixel-perfect reuse of old chrome.

Storyline-specific tips

Storyline feature LXPack approach
Layers Separate lessons or one HTML page with show/hide
Variables variables in course.yaml + window.parent.lxpack.setVariable from HTML interactions (iframe) if needed
xAPI send statement Runtime XapiReporter when built with --target xapi
Lightbox slides New markdown lesson or modal in custom HTML
Result slide Assessment pass + tracking.completion

Rise-specific tips

Rise blocks map cleanly to Markdown and components:

Rise block LXPack
Text / quote Markdown lesson
Interactive accordion Markdown or callout component
Labeled graphic image-card component or HTML
Quiz assessments/*.yaml
Continue block Linear lessons order (or flow)

Team roles after migration

Role Responsibility
ID / LXD Content, YAML, Claude prompts, preview reviews
Developer (optional) Complex HTML interactions, Git, CI
LMS admin Import ZIP, sandbox testing, production promote

Compared to Storyline (summary)

Feature Storyline LXPack
AI-native authoring No Yes (Claude + files)
Git-friendly source Weak Strong (text files)
Web-native output Partial Yes
Custom interactions Difficult HTML + optional JS
Open ecosystem Limited Extensible packages (roadmap)

Next steps