# Style Clone

Building a new course inside someone else's deck, import the deck as a library of...

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

## Install

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

## Description

Building a new course inside someone else's deck, import the deck as a library of layouts, then produce each page of the new course by copying the layout that fits it and rewriting that copy's content element by element, so the result reads as though the original author made it. Use when the session has an imported deck (or a `.pptx` to import) and the ask is to teach new material in its design, its palette, its typography, its way of dividing a page. Not for a straight import that must stay slide-for-slide identical to the file (that is `pptx-import`), and not for extracting how a teacher speaks from a recording or handout (that is `teacher-style-clone`, which supplies the voice while this one supplies the look; the two compose).

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

# Cloning a deck's style

The user has a deck by someone whose slides are worth copying. Your job is to
produce **new pages that look like that deck made them**, its palette, its
typography, its background treatment, its way of dividing a page, while the
teaching content on those pages is entirely new. New content in the old style is
the whole point of this mode, not the exception.

The route is **copy, then refine**. For every page in the new course you pick the
source layout that fits it, `duplicate_scene` that layout, and rewrite the copy's
content element by element. The design is preserved because you copied it, not
because you described it.

Generation is not an alternative for a **copied page**. `generate_scene` re-rolls a page from its
outline entry and draws in the house look, and no free-text slot on it overrides
that: a real run that wrote the source deck's exact hex values and font names
into `materialFacts` on every page produced pages where those values appear
**zero** times. Describing a style to a generator does not transfer it. Copying
the element tree does.

The learner-facing name for this mode is 「名师复刻」. Never show the learner the
machinery, no talk of templates, clones or source pages. They should just see a
course that looks like it came from one hand.

## Why this works now

Copy-then-refine failed the first time it was tried, and the reason was the
editing tools, not the approach. The only content editor then was a whole-block
text setter, and 35 of one run's 44 edits went through it: each one replaced a
block wholesale and flattened everything inside it, so a title's size and colour
left with its words, contrast pairs came apart, and tables that resisted editing
were shipped still carrying the old subject's text.

Those lossy ops are gone from the agent surface. What replaced them is an
element-level, full-fidelity seam of three parts:

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