npx skills add ...
npx skills add reason-machines/trending-skills --skill openmaic-classroom
OpenMAIC — Open Multi-Agent Interactive Classroom platform for generating immersive AI-powered learning experiences with slides, quizzes, simulations, and multi-agent discussions.
npx skills add reason-machines/trending-skills --skill openmaic-classroom
Skill by ara.so — Daily 2026 Skills collection.
OpenMAIC (Open Multi-Agent Interactive Classroom) is a Next.js 16 / React 19 / TypeScript platform that converts any topic or document into a full interactive lesson. A multi-agent pipeline (LangGraph 1.1) generates slides, quizzes, HTML simulations, and project-based learning activities delivered by AI teachers and AI classmates with voice (TTS) and whiteboard support.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, Tailwind CSS 4 |
| Agent orchestration | LangGraph 1.1 |
| Language | TypeScript 5 |
| Package manager | pnpm >= 10 |
| Runtime | Node.js >= 20 |
Edit .env.local — at minimum one LLM provider key is required:
Create server-providers.yml in the project root:
One-click deploy button is available in the README; it pre-fills env var descriptions automatically.
OpenMAIC uses a two-stage pipeline:
| Stage | Description |
|---|---|
| Outline | AI analyzes topic/document and produces a structured lesson outline |
| Scenes | Each outline item is expanded into a typed scene: slides, quiz, interactive, or pbl |
| Type | Description |
|---|---|
slides | AI teacher lectures with TTS narration, spotlight, laser pointer |
quiz | Single/multiple choice or short-answer with AI grading |
interactive | HTML-based simulation (physics, flowcharts, etc.) |
pbl | Project-Based Learning — choose a role, collaborate with agents |
OpenMAIC ships a skill for OpenClaw, enabling classroom generation from Feishu, Slack, Discord, Telegram, etc.
Edit ~/.openclaw/openclaw.json:
| Phase | What Happens |
|---|---|
| Clone | Detect existing checkout or clone fresh |
| Startup | Choose pnpm dev, pnpm build && pnpm start, or Docker |
| Provider Keys | Guide user to edit .env.local |
| Generation | Submit async job, poll, return classroom link |
Scenes are typed React components. To add a new scene type:
| Mode | Trigger | Description |
|---|---|---|
| Classroom Discussion | Automatic | Agents proactively start discussions; user can jump in or get called on |
| Roundtable Debate | Scene config | Multiple agent personas debate a topic with whiteboard illustrations |
| Q&A | User asks question | AI teacher responds with slides, diagrams, or whiteboard drawings |
| Whiteboard | During any scene | Agents draw equations, flowcharts, or concept diagrams in real time |
For complex PDFs with tables, formulas, or scanned images:
Without MinerU, OpenMAIC falls back to standard PDF text extraction.
| Format | Endpoint | Notes |
|---|---|---|
PowerPoint .pptx | GET /api/export/pptx?classroomId= | Fully editable slides |
Interactive .html | GET /api/export/html?classroomId= | Self-contained HTML page |
| Problem | Solution |
|---|---|
No LLM provider configured | Set at least one of OPENAI_API_KEY, ANTHROPIC_API_KEY, or GOOGLE_API_KEY in .env.local |
| Generation hangs at outline stage | Check API key quota; try switching to google:gemini-3-flash-preview for higher rate limits |
| TTS not working | TTS requires a browser with Web Speech API support; check browser console for errors |
| PDF parsing produces garbled text | Enable MinerU by setting PDF_MINERU_BASE_URL in .env.local |
| Vercel timeout during generation | Increase function timeout in vercel.json; generation is async so the API should return a jobId immediately |
| Docker build fails | Ensure DOCKER_BUILDKIT=1 and that .env.local exists before running docker compose up --build |
| OpenClaw skill not found | Run clawhub install openmaic or manually copy skills/openmaic to ~/.openclaw/skills/ |
pnpm install fails on Node < 20 | Upgrade Node.js to >= 20 (nvm use 20) |
| Port 3000 already in use | Set PORT=3001 in .env.local or run PORT=3001 pnpm dev |