
Stage Dsl
The map for reading and editing an OpenMAIC stage document with read_stage...
Install
npx skills add THU-MAIC/OpenMAIC --skill stage-dsl -g -a claude-code -y- Repository
- THU-MAIC/OpenMAIC42.4k
- Category
- Documents
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 2,221 tokens
- Runs scripts
- No, instructions only
What it does
The map for reading and editing an OpenMAIC stage document with read_stage, patch_stage, and grep_stage. Load it before patching a structure you have not patched before, when patch_stage rejects an operation, or whenever the path from a stage, outline, scene, content object, or action to the field you need is uncertain. It routes to field-level references for quizzes, interactive widgets, actions, and PBL projects; the installed slide-dsl skill remains the complete slide canvas manual.
The stage document map
This is a map, not the field manual.
Use it to decide which subtree owns a value, which path to read, and which reference chapter to load. Then read the exact source before writing.
The document model
The durable structure is:
stage
├── outline
└── scenes[] ordered by scene.order, shown as pages 1..N
├── id stable scene identity
├── order 1-based page position
├── type slide | quiz | interactive | pbl
├── content shape selected by scene.type
│ ├── slide.canvas
│ ├── quiz.questions[]
│ ├── interactive.html / widgetConfig
│ └── pbl.projectV2
└── actions[] ordered playback verbs
stage is the stage's metadata. outline is the generation plan. A persisted page
is a scene. Its type and content.type must agree.
The three generic tools do not replace page-list operations. Insert, delete,
reorder, and retitle pages with edit_deck.
Tool vocabulary
| Need | Tool | How |
|---|---|---|
| Read a scene | read_stage | `path:/scenes/<order |
| Edit scene content or actions | patch_stage | `target:/scenes/<order |
| Search visible text or source | grep_stage | literal search over the whole stage |
| List stages in folders | list_folder_stages | returns the explicit stageId required by every stage tool |
| Insert, delete, reorder, or retitle pages | edit_deck | page-list operations stay outside the document patcher |
| Plan and build a new stage | conversation + create_stage + generate_scene | settle the page plan in conversation, then call generate_scene once per page with an explicit brief |
| Set the classroom cast | set_roster | write the settled roster before page generation |


