LESSON.md
LESSON.md is an open format created by Slate eLearning for writing eLearning content in Markdown. Like README.md or AGENTS.md, it defines a convention that any tool can read and write. Author in any text editor or AI tool, then import the file directly into Slate.
The specification, templates, and import are freely available on all Slate plans.
What you can build
Section titled “What you can build”The LESSON.md format covers three things, all plain Markdown and all importable into Slate:
Why LESSON.md
Section titled “Why LESSON.md”eLearning content is typically locked inside proprietary authoring tools. LESSON.md is a plain-text alternative:
- Any AI tool can write it - Give the format to Claude, ChatGPT, or any LLM and get back a fully structured lesson
- Any editor can open it - VS Code, Obsidian, Notion, Google Docs, or a plain text editor
- Human-readable by default - Markdown is easy to review, diff, and version control
Quick start
Section titled “Quick start”The fastest path is a single lesson dropped into an existing course:
- Download the LESSON.md template from the import dialog in Slate (Course Overview → LESSON.md → Download LESSON.md)
- Open the file in your preferred AI tool or text editor
- Fill in the title and add blocks using the
:::fence syntax - In Slate, open a course and click LESSON.md on any section
- Drop your file and click Import Lesson
The LESSON.md format reference covers the frontmatter, fence syntax, and every supported block type.
Working in an AI chat or a text editor? You don’t have to save a file first. The import dialog has a Paste from clipboard button: copy your LESSON.md text, click the button, and Slate validates and previews it exactly like an uploaded file before you import. Pasting brings in one lesson at a time, the same as a single .md file, and it tells you if the clipboard is empty or the content isn’t valid LESSON.md.
Copy a lesson out as Markdown
Section titled “Copy a lesson out as Markdown”LESSON.md works in both directions. To pull an existing Slate lesson back out as Markdown, open it in the lesson editor, click the floating quick actions button in the bottom-right corner, and choose Copy as Markdown. Slate copies the whole lesson to your clipboard as LESSON.md text, ready to paste into an AI tool, a text editor, or another course’s import dialog. It works on every plan and uses no AI credits.
A short message confirms the copy. If the lesson you copy is a course’s scored assessment, Slate copies it as ASSESSMENT.md instead and says so. Code blocks are the one thing left out, since the format doesn’t include them, and the message notes when any were skipped.
This is the quickest way to reuse a lesson’s structure: duplicate it, hand it to an assistant for a rewrite, or move a single lesson between courses, all without re-authoring it by hand.
Authoring with AI
Section titled “Authoring with AI”LESSON.md was designed to be written by AI tools. You can paste the format reference into any assistant, or install the lesson-md skill - a packaged skill for Claude and other AI agents that builds lessons, assessments, and full courses with the format knowledge and validation built in.
Where to go next
Section titled “Where to go next”- LESSON.md - the full format reference: frontmatter, fences, and all 19 block types
- ASSESSMENT.md - the scored assessment format
- COURSE.md - set course-level metadata for a bundle
- LESSON.md Bundles - turn a zip of lessons into a complete course
- lesson-md Skill - author whole courses with Claude and other AI tools
- lesson.md - the format’s home on the web, with samples and a converter