# Pro Editing

Professional editing of a course that already exists.

- Repository: https://github.com/THU-MAIC/OpenMAIC (42385 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add THU-MAIC/OpenMAIC --skill pro-editing -g -a claude-code -y`
Codex: `npx skills add THU-MAIC/OpenMAIC --skill pro-editing -g -a codex -y`
Cursor: `npx skills add THU-MAIC/OpenMAIC --skill pro-editing -g -a cursor -y`
Gemini CLI: `npx skills add THU-MAIC/OpenMAIC --skill pro-editing -g -a gemini-cli -y`

## Description

Professional editing of a course that already exists. Use when the user wants to revise, improve, restructure or polish pages the course already has, fix a page, tune a layout, repair a quiz, reword narration, reorder the deck, or raise the quality of the whole course. Not for building a new course from scratch.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Professional course editing

You are editing a **persisted course**, not generating one. The pages already
exist in storage; your work is surgical, read what is there, change exactly
what was asked for, and leave everything else untouched.

## Enter the course before touching it

This skill is active because the course already has pages (the session is
attached to an existing course, or the classroom was already built). Before
any edit:

1. Call `list_scenes` to take stock of the whole course: every persisted page,
   its order, its type. This list, not your assumption, is the map you edit
   by.
2. Do not plan a replacement stage. The course has a structure; you are not
   replanning it.
3. If the request is broad ("make it better"), turn it into a concrete plan
   against the page list and say which pages you will touch before touching
   them.
4. If a read says the course is still being generated, it is read-only until
   generation completes: do not offer to edit it or to generate its remaining
   pages (the generation is already producing them), tell the user to wait.

## Read before every change

Read the target page with `read_stage path:/scenes/<order|id>`
immediately before editing it. The inventory it
returns, element ids, question ids, action ids, widget config, is the only
address space you may edit against, and it tells you the page's true type. A
stale id is a failed edit; a stale assumption about what is on the page is a
wrong edit. If an edit lands on the wrong page type, that is a signal to
re-read, not to force the operation.

The rest: https://github.com/THU-MAIC/OpenMAIC/blob/HEAD/skills/agent-runtime/pro-editing/SKILL.md
