/deep-interactive
Deep Interactive courses. Plans the course so the learner manipulates something on most pages — simulations, diagrams they explore, code they run, games, 3D scenes — with slides reserved for the opening frame and the closing consolidation. Use when the topic has a mechanism, a
Claude Code
$ npx -y skills add thu-maic/openmaic --skill deep-interactive --agent claude-code
Codex
$ npx skills add thu-maic/openmaic --skill deep-interactive -a codex -y
Cursor
$ npx skills add thu-maic/openmaic --skill deep-interactive -a cursor -y
Gemini CLI
$ npx skills add thu-maic/openmaic --skill deep-interactive -a gemini-cli -y
GitHub Copilot
$ npx skills add thu-maic/openmaic --skill deep-interactive -a github-copilot -y
OpenCode
$ npx skills add thu-maic/openmaic --skill deep-interactive -a opencode -y
Windsurf
$ npx skills add thu-maic/openmaic --skill deep-interactive -a windsurf -y
SKILL.md
deep-interactive.SKILL.mdname: deep-interactive
title: "深度交互"
description: Deep Interactive courses. Plans the course so the learner manipulates something on most pages — simulations, diagrams they explore, code they run, games, 3D scenes — with slides reserved for the opening frame and the closing consolidation. Use when the topic has a mechanism, a variable to vary, a process to trace, or a structure to inspect.
Deep Interactive course design
Default to **doing**, not reading. A page earns the `slide` type only when the learner has nothing to manipulate on it.
Structure
- Scene 1 is a `slide`: it frames the question the course answers and tells the
learner what they are about to play with. One page, no more.
- The body is `interactive`. Each body scene isolates **one** mechanism, one
variable, one structure — so the learner can change it and watch the result.
- The last scene is a `slide` or a `quiz` that consolidates what the
manipulation showed.
- Consecutive interactive scenes must not use the same `widgetType`. Two
simulations in a row is a design failure; vary the modality as the concept moves from "watch it" to "trace it" to "predict it".
Choosing a widget type
| widgetType | Use when the learner should… | | ----------------- | ---------------------------------------------------------------- | | `simulation` | vary parameters and watch a system respond in real time | | `diagram` | explore structure, flow or hierarchy by expanding and following | | `code` | read, modify and run a short program that embodies the idea | | `game` | make repeated decisions under a rule set and see the score move | | `visualization3d` | inspect a spatial object or scene from angles a slide cannot show |
widgetOutline
Every `interactive` scene must carry a `widgetOutline` populated for its type — an interactive scene with an empty widget outline degrades to a generic page and defeats the whole point.
- `simulation`: `concept`, `keyVariables` (the actual sliders/inputs)
- `diagram`: `diagramType`, `nodes` (with `label`, and `parentId` for hierarchy)
- `code`: `language`, `concept`
- `game`: `gameType`, `challenge`, `playerControls`
- `visualization3d`: `visualizationType`, `objects`, `interactions`
Scene naming
Titles name what the learner does or discovers, not the topic heading.
- Good: 「拖动倾角,看射程怎么变」「顺着数据流走一遍」「猜下一步会发生什么」
- Bad: 「抛体运动」「数据流概述」「知识点回顾」
keyPoints
For an interactive scene, `keyPoints` describe the **interaction and what it reveals** — what the learner changes, what they observe, what conclusion the observation forces. Not a bullet list of facts to be read out.
Read more
name: deep-interactive title: "深度交互" description: Deep Interactive courses. Plans the course so the learner manipulates something on most pages — simulations, diagrams they explore, code they run, games, 3D scenes — with slides reserved for the opening frame and the closing consolidation. Use when the topic has a mechanism, a variable to vary, a process to trace, or a structure to inspect.
Deep Interactive course design
Default to **doing**, not reading. A page earns the `slide` type only when the learner has nothing to manipulate on it.
Structure
- Scene 1 is a `slide`: it frames the question the course answers and tells the
learner what they are about to play with. One page, no more.
- The body is `interactive`. Each body scene isolates **one** mechanism, one
variable, one structure — so the learner can change it and watch the result.
- The last scene is a `slide` or a `quiz` that consolidates what the
manipulation showed.
- Consecutive interactive scenes must not use the same `widgetType`. Two
simulations in a row is a design failure; vary the modality as the concept moves from "watch it" to "trace it" to "predict it".
Choosing a widget type
| widgetType | Use when the learner should… | | ----------------- | ---------------------------------------------------------------- | | `simulation` | vary parameters and watch a system respond in real time | | `diagram` | explore structure, flow or hierarchy by expanding and following | | `code` | read, modify and run a short program that embodies the idea | | `game` | make repeated decisions under a rule set and see the score move | | `visualization3d` | inspect a spatial object or scene from angles a slide cannot show |
widgetOutline
Every `interactive` scene must carry a `widgetOutline` populated for its type — an interactive scene with an empty widget outline degrades to a generic page and defeats the whole point.
- `simulation`: `concept`, `keyVariables` (the actual sliders/inputs)
- `diagram`: `diagramType`, `nodes` (with `label`, and `parentId` for hierarchy)
- `code`: `language`, `concept`
- `game`: `gameType`, `challenge`, `playerControls`
- `visualization3d`: `visualizationType`, `objects`, `interactions`
Scene naming
Titles name what the learner does or discovers, not the topic heading.
- Good: 「拖动倾角,看射程怎么变」「顺着数据流走一遍」「猜下一步会发生什么」
- Bad: 「抛体运动」「数据流概述」「知识点回顾」
keyPoints
For an interactive scene, `keyPoints` describe the **interaction and what it reveals** — what the learner changes, what they observe, what conclusion the observation forces. Not a bullet list of facts to be read out.
Open Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click
Other skills on openmaic.
More skills from other plugins.
blueprint-figure
Draws static SVG figures for lessons, READMEs and manuals in the AI Engineering from Scratch look: paper panel, blueprint accent,…
concept-workflow
End-to-end workflow for creating complete JavaScript concept documentation, orchestrating all skills from research to final review
lesson-quiz
Test a learner on a single Claude Code tutorial lesson (01-10) with 10 questions, scoring answers and flagging weak spots. Use…
harness-creator
Build, audit, and improve harnesses that make AI coding agents reliable: AGENTS.md/CLAUDE.md instruction files, feature/state…
Questions about deep-interactive.
- Which coding agents can use deep-interactive?
- deep-interactive installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

