Maic Skill banner
weinaike weinaike

Maic Skill

Data community

Description

Offline authoring of OpenMAIC DSL courses in Claude Code — outline, scene generation, TTS voiceover, translation, editing & gated review pipeline that compiles git-friendly sources into platform-importable .maic.zip

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

maic_skill — OpenMAIC Course Authoring Skill (maic-course)

[中文](README.zh-CN.md) | **English**

Author [MAIC courses](https://github.com/weinaike/OpenMAIC) offline in Claude Code with the `maic-course` skill. Courses live as git-friendly source projects — outlines and narration in Markdown that humans edit, canvas JSON that agents generate — and compile into a `.maic.zip` that imports straight into the OpenMAIC platform player.

Four functional modules (outline / content generation / voice / editing) plus a translation module, all wired into one compile → validate → review → package pipeline.

Design highlights

  • Course as a source project: the parts humans are good at (outline, narration Markdown) and the parts agents are good at (coordinate-level canvas JSON) live in layered coexistence inside one git-friendly directory. Build artifacts are always compiled output and can be rebuilt at any time.
  • Deterministic compilation: action ids are minted from content hashes ⇒ an unchanged source yields a byte-stable manifest. The golden test proves unpack→compile is deep-equal to the platform's native export.
  • Three validation gates: L1 DSL contract (vendored @openmaic/dsl) → L2 document lint (audioRef/elementId/media cross-references, HTML allowlist, geometry bounds) → L3 platform import simulation (replicates use-import-classroom acceptance semantics item by item). Errors refuse to package.
  • Review system (required for automation): outline / content / spec / translation reviews by an isolated reviewer; findings land in build/review/ with a bounded auto-fix loop (≤2 rounds; unresolved blockers escalate to the human).
  • Interactive scenes: a full contract for interactive scenes (references/interactive-spec.md) — self-contained HTML pages driven by widget_* timeline actions over postMessage, 16:9 viewport aligned with slides, sandbox constraints, and the video-export freeze semantics.
  • Pluggable TTS: Dou