Prism — AI Course Authoring
Prism is LucentSkill's built-in AI assistant. It turns a structured admin brief into complete lesson modules, self-validates exercises, and synthesizes survey responses into skill gaps.
What it is
Prism powers every AI capability in LucentSkill. It generates structured course content from a plain-English brief, drafts reusable content-library blocks, auto-generates survey questions, and turns raw survey responses into an enterprise skill-gap vector.
Prism never executes code — code blocks it produces are illustrative only — and it is constrained to workplace AI upskilling (strategy, engineering, productivity).
Use
- Course Authoring Studio: describe goals, target roles, and key concepts; Prism generates a full lesson with rich visuals (charts and diagrams, planned by a dedicated visual pass), tables, callouts, worked examples, inline knowledge-check questions, and exactly two graded exercises, self-validated before the admin sees them.
- Content Library: describe a section or exercise in one sentence; Prism writes the structured block.
- Survey questions: give a topic; Prism generates assessment questions.
- Synthesis: Prism reads survey responses and extracts concrete skill gaps, rated by urgency and mapped to a track.
Setup
Prism runs automatically when an admin uses any AI feature. It requires the platform AI key configured in the environment. No per-user setup is needed.
By default Prism uses the platform key and model. An org can instead bring its own OpenAI-compatible endpoint — see Bring Your Own Model.
OPENROUTER_API_KEY=sk-or-... # platform AI key (required) PRISM_MODEL=meituan/longcat-2.0 # model used by Prism generation GRADING_MODEL=openai/gpt-4o-mini # model used by exercise grading
Security
- All user input is guarded against prompt injection and off-topic requests before any model call (lib/guard.ts).
- User data is delimiter-isolated so it is treated as data, never as instructions.
- Model output is schema-validated (Zod) and sanitized (stored-XSS + PII scrub) before it is persisted or shown.
- Every failure path is a structured, non-throwing return — the UI degrades gracefully if the key is missing or the model misfires.