About Stay Learning

An AI course-authoring pipeline that generates verified, pedagogically sound courses.

What is this?

Stay Learning is an agentic course-authoring pipeline built from VS Code Copilot customization files. You give it a topic and a target audience. It produces a complete course — with structured curriculum, measurable learning outcomes, assessment strategy, lesson plans, full lesson content, exercises, quizzes, and a capstone project.

Every artefact is validated mechanically after every edit. The pipeline does not trust the AI to check its own work; it runs a deterministic Python validator that enforces structural integrity, Bloom verb correctness, cognitive load budgets, terminology consistency, and dozens of other pedagogical constraints.

How it works

The pipeline coordinates specialist agents through a strict stage order. Sequential stages — audience analysis, curriculum design, outcomes, assessment, and lesson planning — must complete in order. Once all plans are current, content-level work (lessons, exercises, quizzes, capstone) fans out in parallel.

State lives as YAML and Markdown files on disk under courses/<slug>/. This makes every course diffable, versionable, and regenerable. Re-running any agent regenerates its artefact from scratch — there is no append, no state accumulation.

The web viewer

A separate Astro application in web/ reads the generated course files and renders them as a browsable learning experience. It shows course progress, full lesson content, interactive exercises, and quizzes. It is strictly read-only — it never writes to course files.

The course library in the web viewer, listing four generated courses with their module and lesson counts, difficulty, estimated duration, and a per-course completion bar.

The library above is reading straight from courses/. Each card — the module and lesson counts, the difficulty, the estimated hours — is derived from that course'scourse.yaml, so the viewer never holds course content of its own. Progress is the one exception: it is the learner's, and it lives in their browser.

If a course renders incorrectly in the viewer, the fix belongs in the course artefact (upstream), not in the viewer code.

A lesson page in the web viewer: the lesson prose on the left with an inline Mermaid diagram, a section outline for the module on the right, and previous and next lesson links at the foot of the page.

Opening a lesson gives the same treatment one level down. The prose, the worked examples, and the diagrams come from the lesson's Markdown file; the outline on the right is that lesson's plan, section by section; and the links at the foot follow the sequence the curriculum designer set. Everything on the page traces back to an artefact undercourses/.

Key properties

  • Provider-agnostic — no model or vendor is pinned anywhere in the pipeline
  • Idempotent — every agent writes whole files; re-running regenerates
  • Mechanically verified — a PostToolUse hook runs the validator after every write
  • Research-backed — backward design, Bloom's Taxonomy, cognitive load theory, retrieval practice
  • Parallel where safe — independent wave tasks run concurrently without merge conflicts