Agent skill

OpenMAIC Deck Style Clone

by THU-MAIC in THU-MAIC/OpenMAIC

Produces a new course in the look of an imported deck by copying the layout that fits each page and rewriting that copy's content element by element.

MITAuto-check passedDocuments & Office

Install OpenMAIC Deck Style Clone

skills CLI
$ npx skills add THU-MAIC/OpenMAIC --skill style-clone -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install THU-MAIC/OpenMAIC style-clone --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/THU-MAIC/OpenMAIC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agent-runtime/style-clone .claude/skills/style-clone && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
style-clone
GitHub stars
40k
Token cost
~4.9k tokens
SKILL.md length
3,033 words
Files
2
Skills in repo
25
Repo updated
First seen
Licence
MIT

At a glance

Produces a new course in the look of an imported deck by copying the layout that fits each page and rewriting that copy's content element by element.

  • Works in 7 steps: get the deck in → catalogue the deck as a layout library → plan the new course, normally → …
  • Teaching new material in the design of an imported deck
  • SKILL.md covers Why this works now, What finishing a turn means here, Step 1 — get the deck in and Step 2 — catalogue the deck as…, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

When a session has an imported deck, or a .pptx to import, and the ask is to teach new material in its design, this skill makes each new page look as though the deck's author drew it, covering palette, typography, background treatment and the way a page is divided. For every page the agent picks the source layout that fits, copies it with duplicate_scene and rewrites the copy's content element by element. The learner-facing name for this mode is 名师复刻, and the learner should never see talk of templates, clones or source pages.

The skill argues that describing a style to a generator does not transfer it: generate_scene redraws a page from its outline entry in the house look, and in one real run exact hex values and font names written into every page's material facts showed up on none of the pages. Copying the element tree does preserve the design. Earlier attempts failed because the only content editor replaced whole blocks and flattened formatting, so the skill relies on element-level tools, read_stage at source detail for exact JSON and patch_stage to write one path at a time. It is not for slide-for-slide imports (pptx-import) or for copying a teacher's speaking voice (teacher-style-clone).

When your agent uses it

  • Teaching new material in the design of an imported deck
  • Making a course read as though one author drew every page
  • Turning an imported .pptx into a library of layouts for new pages

Example prompts

  • “Import this deck and build a course on supply chains that looks like it came from the same author.”
  • “Use the layouts from the attached .pptx for a new three-part course on budgeting.”
  • “Keep the palette and typography of the imported slides, but teach photosynthesis instead.”

Requirements

  • An imported deck, or a .pptx file to import, in the OpenMAIC runtime

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. get the deck in
  2. catalogue the deck as a layout library
  3. plan the new course, normally
  4. copy and refine, one page at a time
  5. leave nothing of the old subject standing
  6. verify the ones likely to be broken
  7. give every page a voice

What it can do on your machine

Read from SKILL.md and the folder at commit 32f5923. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

OpenMAIC Deck Style Clone loads about 4.9k tokens when it runs. Until then it costs about 189 tokens; SKILL.md has 3,033 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~189
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from THU-MAIC/OpenMAIC at commit 32f5923, republished under its MIT licence (© THU-MAIC). 3,033 words, ~4,883 tokens.

Download SKILL.mdSave it as .claude/skills/style-clone/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
style-clone
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).
title
名师复刻

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:

  • read_stage with path:/scenes/<order|id> and detail:"source" returns the page's exact persisted JSON — background, each text element's defaultColor and defaultFontName, the inline color / font-size / font-family inside its content HTML, shape fills, and exact geometry. It is your fidelity source and your address space: the paths you read are the paths you write.
  • patch_stage writes one scene-root JSON Pointer path with op:"set" or op:"remove". /content/canvas/elements/0/content replaces one text element's rich-text HTML and touches nothing else on the page; a <span> keeps its colour and size while its words change. Address the leaf, and everything you did not name keeps the value you copied.
  • add_element (a complete, id-less element JSON, id assigned by the server) and delete_element are the only ways the element set changes — a patch may not add, remove, rename or retype an element, which is exactly the guard that keeps a borrowed design intact.

So one atomic patch is the entry point for every content rewrite, whatever the element is — a paragraph at /content/canvas/elements/3/content, a shape's label at /content/canvas/elements/3/text/content, a table cell at /content/canvas/elements/5/data/0/0/text, a code line at /content/canvas/elements/9/lines/1/content, a formula's latex, a chart's label. There is no per-type editor to hunt for and no growing list of per-type operations: read the source JSON, find the path that holds the words, write that path. slide-dsl is the field manual — which field holds the words in each of the ten element types, the pointer rules, what values are legal, which field the renderer reads when two disagree, and what the renderer really does with the HTML you write.

Two guarantees are what make this trustworthy on someone else's design: a rejected patch changes nothing (a bad path, an unknown field or unsafe HTML fails loud with the page exactly as it was), and nothing is normalised — no colour, font or theme value is rewritten toward a house palette. The deck's look survives because the tool has no opinion about it.

stage-design governs the build of the stage this produces, and curriculum-planner governs a series of them; both still apply, and this skill shapes only how the pages get their look. page-clone carries the per-page mechanics of the loop in Step 4 — read it before the first page. slide-dsl is the field-level truth about the JSON you are patching, slide-craft is the design law any page still has to satisfy, and pro-editing is loaded mid-run when a refined page comes out broken.

What finishing a turn means here

Getting the deck in and reading it are preparation, and preparation is not a result. A real run read the skills, imported a 36-page reference deck, and ended its turn on 「已确认当前课堂已保存 36 页原始课件……我不会覆盖这些页面」 — the layout library ready, the user's own course not one page written. The user asked for a lesson and got an inventory of someone else's.

A turn ends in exactly one of three states:

  • the new course moved a real step — at least the next planned page copied with duplicate_scene and refined, persisted, not merely chosen;
  • ask_user is waiting on a decision only the user can make;
  • every planned page is in the deck and the checks in Steps 5–7 have passed.

A statement about what you have imported, catalogued, confirmed or intend to do next is none of those, however true it is. Once the deck is in, run straight through — catalogue, plan, then page after page through Step 4's loop — and do not hand the turn back between them.

Step 1 — get the deck in

Call list_scenes first. If the source deck's pages are already persisted in this stage, it is imported — skip to Step 2. Otherwise the user's .pptx goes through import_pptx, which lands its pages as real scenes you can read and copy. A returned import is not news worth a turn: continue into Step 2 in the same turn that imported it.

The imported pages are material, not deliverables. They are the layout library this whole skill runs on, and every page you ship is a copy of one of them made with duplicate_scene. Never rewrite a source page in place: editing the library destroys the template for every later page that needed it, and a run that did exactly that left the original course mangled with nothing to fall back to. Decide at the end, with the user, whether the source pages stay in the deck or get removed with edit_deck delete — not before you have copied everything you need out of them.

If the user actually wants the file itself served slide-for-slide with no new content, that is pptx-import, not this skill.

Step 2 — catalogue the deck as a layout library

Read the source deck for its layout roles, not its subject: the small set of page forms the author reuses. A deck rarely has more than six.

  • list_scenes for the inventory, then read a sample spread across the deck — the cover, a section divider, a plain content page, a two-column or image-plus-text page, a data or table page, the closing page. Sample by variety, not by position; the first five pages of a deck are usually the same two forms.

  • Read each sample with read_stage detail:"source". The default tree view strips exactly the fields a layout is made of — background, colours, fonts, inline marks — so a catalogue built from it is a catalogue of text.

  • For every role write down, in your own reasoning, its template scene id and its capacity:

    • how many text slots it has, and roughly how long the text in each one is;
    • whether it has an image slot, a table, a code block, a formula, a chart;
    • which elements are the skeleton (see Step 4).

    Capacity is the number that decides everything later — the commonest way a copied page fails is content the layout was never sized for.

  • Note the shared visual language across roles too — the palette, the heading treatment, how emphasis is marked — because a page you generate rather than copy (a quiz, an interactive page: forms a .pptx has no layout for) still has to sit next to the copied ones without a visible seam.

Step 3 — plan the new course, normally

Plan the course the user actually asked for in conversation, with an explicit title, type, and brief for every page. The plan is about content; the deck is about form, and the two are decided separately — do not let the source deck's page order become the new course's structure unless the user asked for a like-for-like rebuild.

Call create_stage for that planned course, then settle the cast and call set_roster — the classroom is still a classroom.

Step 4 — copy and refine, one page at a time

This is the core loop. For each outline entry, in ascending page order:

  1. Branch on whether the source deck has a cloneable layout for this page type. For a quiz, interactive page, or any other type whose form does not exist in the .pptx library, call generate_scene directly for this page with its explicit order, title, type, and brief. Do not insert an empty page with edit_deck and hand-author its content. Check that the generated page follows the source palette and typography noted in Step 2, then continue with the next outline entry. Only the copied-page branch below forbids generate_scene.
  2. Pick the template by role and capacity. A content page gets a content layout; a page that turns a corner gets the section divider; the opening page gets the cover. Five key points do not go into a layout built for two lines — pick a roomier role or split the page. Rotate between templates of the same role: eleven identical pages look cloned in the bad sense.
  3. duplicate_scene({ templateSceneId, targetOrder, title }) — an exact copy of the template at the position you want. Pass a title that names the NEW page; the copy inherits the template's outline brief, and a page still called 「第 3 章回顾」 misleads the learner and the narration step alike.
  4. read_stage the copy with detail:"source". Work from the copy's own element ids, never the template's.
  5. Sort every element into content slot or skeleton. Content slots are the ones whose words belong to the old subject. Skeleton is everything else — divider rules, colour bands, page numbers, logos, decorative shapes, section numerals, background art — and skeleton is not touched, even when it holds text. It is the part that makes the page recognisably the author's.
  6. Rewrite each content slot with one patch_stage set op per slot on the exact path that holds its words and nothing else. slide-dsl says which path that is for each element type — content, text/content, a cell's text, a line's content, latex. Preserve the inline structure while you change the words: a slot whose source had a coloured <span> keeps a coloured <span>; one that had three <p> paragraphs stays three paragraphs. Source HTML in, source HTML out.
  7. Put a real picture where the layout wants one. Call generate_image({ prompt, aspectRatio?, styleHint? }) for the visual, then patch_stage set its returned src onto the layout's existing image element (/content/canvas/elements/N/src), or add_element a full-fidelity image element where the layout has none. Match aspectRatio to the box, and put the deck's palette and art direction into styleHint — a deck built on flat diagrams must not suddenly grow a glossy stock photo. Never leave an empty frame, and never invent a src: if generate_image is not registered in this session, say so in one sentence and leave the layout without an image rather than with a broken one.
  8. Resolve a capacity mismatch in this order, which is page-clone's rule applied page after page: cut the wording to what the layout holds → delete_element the slots you cannot meaningfully fill → move to a roomier template from the library (and edit_deck delete the abandoned copy) → and only as a last resort add_element a copy of a neighbouring slot, with its box already set into their rhythm. From the third of those on, you are drawing rather than copying, and it shows if you are careless.

Then the next page. Each page's copy and its edits are that page's durable checkpoint, exactly as stage-design requires. One read_stage detail:"source" at the start of a page is enough — every patch_stage result carries the page's fresh inventory back.

Show full SKILL.md (1,007 more words)Show less

Step 5 — leave nothing of the old subject standing

This is the failure that shipped last time, so it gets its own pass. Before a page is done, read it back with read_stage detail:"text" — every text-bearing element as { path, id, type, text } plus one page-wide combinedText — and check it for the source course's words. One call gives you the whole page, which is what makes this cheap, and each entry carries the pointer you would fix it at. Reading all of it is the point, not re-reading the slots you remember editing.

The places residue actually hides:

  • table cells — a table is one element, and a patch that rewrote the header row leaves the body rows saying whatever the source said;
  • shape labels — text inside a shape reads as decoration, so it gets classified as skeleton and skipped;
  • code blocks and formulas — plausible-looking content nobody re-reads;
  • small type — footers, captions, source lines, section numerals naming the old chapter, an author's name in 10px grey.

Every element ends up deliberately replaced, deliberately kept, or deleted. A slot you neither replaced nor deleted is a bug — the old subject leaking into the new course — and anything carried over is a claim in the new course: if it is stale, or belongs to the old subject, it goes. set, remove, or delete_element whatever the sweep turns up, at the path it handed you.

This pass covers what the page shows. What it says is swept the same way once narration exists, in Step 7 — and that half is the one that has shipped residue.

Step 6 — verify the ones likely to be broken

Copied text is almost never the length the layout was designed around. Spend render_scene_preview calls where they buy something: the first page copied from a given template, and any later page whose text is visibly longer than what it replaced. Skip the rest — previews cost calls, and the second page in a proven template rarely surprises you.

When a page overflows or breaks, load pro-editing and converge inside its budget of two preview rounds. Shorten the words first: a borrowed layout is a statement about how much can be said on one page, and cutting text preserves the design where moving boxes destroys it. Patch a box only when the text is already tight. If two rounds have not converged, move that content to a roomier template or name the page to the user. Do not ship a page with text running off it.

Step 7 — give every page a voice

A duplicated page arrives silent. Call generate_actions for each one; it connects TTS by default, so audio lands with the narration rather than needing a separate pass.

Pass a styleDirective that keeps the teaching persona consistent with the source course's register — how formal it is, how it addresses the learner, how much it explains versus asserts. A deck whose look is faithfully reproduced but narrated in a completely different voice does not read as the same author's work.

If the session also has a recording or handout by the same teacher, run teacher-style-clone for the delivery profile and feed its findings into the styleDirective. The two skills compose: that one supplies the voice, this one supplies the look.

Then read every page back with read_stage detail:"source" and check what the narration says, not only that each speech action has an audioId. Narration is written from the page's content plus its outline brief, and that brief was inherited from the template — so residue arrives through it even when the visible text is clean. A real run's new page on model self-evolution came back narrated 「今天的课程就全部结束了……深度学习的基础知识……」: the reference deck's own closing line, on a page that was neither a closing page nor about deep learning, with nothing wrong on the slide itself.

The narration has to be about the new course. The source course's name, its subject vocabulary, and its stage-of-course phrasing are residue wherever they turn up — and a wrap-up line 「今天的课程就全部结束了」 on a page that is not the last page is residue even when the subject is right. Fix what you find with patch_stage on the exact /actions/N/text pointer, then generate_tts that page: reworded narration is a silent page until it is re-synthesized.

Hard rules

  • New content in the old style is the goal. Teaching material the source never covered, drawn in the source's look, is exactly what this mode is for.
  • Copy the design; never regenerate a copied page. duplicate_scene, then one patch_stage set op per content slot. generate_scene on a page you copied throws away the design you came for, and style directives passed to it do not survive into the page.
  • Source pages are the library. Copy out of them; do not edit them in place.
  • Read with detail:"source" before you patch. The default inventory strips the colours, fonts and inline marks that are the entire point of the clone.
  • Content changes; design does not. No style path, no geometry path, no restacking while refining a copy, unless the layout genuinely has to grow and you have read its neighbouring boxes first.
  • Skeleton is untouchable. Rules, bands, numerals, logos and decorative shapes are what make the page the author's; they survive every refinement.
  • No source text survives by accident. Sweep every page with read_stage detail:"text" before it ships — table cells, shape labels, code and small type included.
  • The narration is swept too. Read the speech text back after generate_actions; the source course's subject, name or wrap-up wording in a narration line is the same bug as its words on the slide; patch_stage plus generate_tts is the fix.
  • Preparation is not a stopping point. A turn ends on a page that landed, on ask_user, or on a finished deck — never on a report that the deck is imported and the layouts are understood.
  • Images match the deck. A generated image whose palette or medium fights the page it sits on is worse than no image.
  • Style is what you clone, not identity. No fabricated biography, opinions, endorsements or claims attributed to the original author.

© THU-MAIC, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/agent-runtime/style-clone of THU-MAIC/OpenMAIC.

  • SKILL.md
  • outline-constraints.json

Open the folder on GitHubat commit 32f5923

Compare with similar skills

OpenMAIC Deck Style Clone next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

OpenMAIC Deck Style Clone compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
OpenMAIC Deck Style Clone this skillTHU-MAIC/OpenMAIC40k—~4.9kAutomated safety check: PassMIT
Academic PresentationsGabberflast/academic-pptx-skill1.1k1 repos~1.9kAutomated safety check: PassProprietary
Slide Deck Image GeneratorSpaceZephyr/design-buddy174—~6.5kAutomated safety check: PassNone
PPT as CodeRussell-cell/PPT-as-code191—~11kAutomated safety check: PassMIT
Academic Paper to PPTXYuan1z0825/nature-skills46k—~1.1kAutomated safety check: PassApache-2.0
Nano BananaEvoScientist/EvoSkills4752 repos~3.5kAutomated safety check: PassApache-2.0

Similar skills

  • Academic Presentations

    Gabberflast/academic-pptx-skill

    Plans and structures academic decks for conference talks, seminars, thesis defenses and grant briefings, with argument-first slides, and leaves file creation to the PPTX skill.

    1.1k GitHub starsUsed in 1 repo~1.9k tokens
    Documents & OfficeAuto-check passed
  • Slide Deck Image Generator

    SpaceZephyr/design-buddy

    Turns written content into designed slide images from an outline, merges them into PPTX or PDF, and can borrow styles from a registry of brand design systems.

    174 GitHub stars~6.5k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • PPT as Code

    Russell-cell/PPT-as-code

    Plans and builds HTML-based web presentations through staged quick, basic or advanced workflows, with optional visualization planning, motion, a workbench and PPTX export handoff.

    191 GitHub stars~11k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Academic Paper to PPTX

    Yuan1z0825/nature-skills

    Creates or revises a Chinese-language academic PPTX deck from a scientific paper or reading notes, reusing the paper's figures and adding speaker notes.

    46k GitHub stars~1.1k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Nano Banana

    EvoScientist/EvoSkills

    Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing.

    475 GitHub starsUsed in 2 repos~3.5k tokens
    Documents & OfficeAuto-check passed
  • Linkedin Carousel Generator

    dmccreary/ibook-skills

    Generates a 13-slide LinkedIn carousel (a "document post" — PPTX/PDF) that showcases an intelligent textbook's key features, with real screenshots, mascot art, and metrics pulled from the project.

    105 GitHub stars~3.7k tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from THU-MAIC/OpenMAIC

All 25 skills in this repo
  • Guides setup, classroom generation and secondary development for OpenMAIC, the multi-agent interactive classroom, one confirmed phase at a time.

    40k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check: notes
  • Designs a Chinese K-12 classroom for one OpenMAIC stage around the core-literacy model, using authentic tasks, performance assessment and observable evidence.

    40k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Maps the structure of an OpenMAIC stage document so an agent can find the right path, read it and patch quizzes, widgets, actions and project pages without guessing.

    40k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Designs a review-and-practice lesson around an independent first attempt, targeted feedback, supported practice, a fresh independent check and a next step.

    40k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Derives a reusable personal skill for course-making from a representative sample of the user's own past classrooms and chat history, confirmed with them before saving.

    40k GitHub stars~678 tokensUpdated yesterday
    Auto-check passed
  • Curriculum Planner

    THU-MAIC/OpenMAIC

    Plans a multi-classroom series such as a seven-day course, clarifies the brief in rounds, gets sign-off on the full lesson list, then builds each stage in a shared folder.

    40k GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Questions about OpenMAIC Deck Style Clone

What does OpenMAIC Deck Style Clone do?

Produces a new course in the look of an imported deck by copying the layout that fits each page and rewriting that copy's content element by element. pptx to import, and the ask is to teach new material in its design, this skill makes each new page look as though the deck's author drew it, covering palette, typography, background treatment and the way a page is divided. For every page the agent picks the source layout that fits, copies it with duplicate_scene and rewrites the copy's content element by element.

When should I use OpenMAIC Deck Style Clone?

OpenMAIC Deck Style Clone fits situations like: teaching new material in the design of an imported deck; making a course read as though one author drew every page; turning an imported .pptx into a library of layouts for new pages.

How do I install OpenMAIC Deck Style Clone in Claude Code?

Run `npx skills add THU-MAIC/OpenMAIC --skill style-clone -a claude-code`. Or copy the skill folder (skills/agent-runtime/style-clone in THU-MAIC/OpenMAIC) into .claude/skills/style-clone in your project. Claude Code loads it when a task matches its description.

How do I install OpenMAIC Deck Style Clone in Codex?

Run `npx skills add THU-MAIC/OpenMAIC --skill style-clone -a codex`. Or copy the skill folder (skills/agent-runtime/style-clone in THU-MAIC/OpenMAIC) into .agents/skills/style-clone in your project. Codex loads it when a task matches its description.

Can I use OpenMAIC Deck Style Clone in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add THU-MAIC/OpenMAIC --skill style-clone -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/style-clone, .gemini/skills/style-clone, .github/skills/style-clone and .opencode/skills/style-clone in your project.

What does OpenMAIC Deck Style Clone need to run?

SKILL.md names no scripts, command-line tools or credentials: OpenMAIC Deck Style Clone is instructions for the agent only. Our summary lists: An imported deck, or a .pptx file to import, in the OpenMAIC runtime.

Does OpenMAIC Deck Style Clone access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is OpenMAIC Deck Style Clone safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does OpenMAIC Deck Style Clone use?

OpenMAIC Deck Style Clone is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does OpenMAIC Deck Style Clone use?

About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to OpenMAIC Deck Style Clone?

Skills that share tags, products or a category with OpenMAIC Deck Style Clone: Academic Presentations (Gabberflast/academic-pptx-skill, 1.1k stars), Slide Deck Image Generator (SpaceZephyr/design-buddy, 174 stars), PPT as Code (Russell-cell/PPT-as-code, 191 stars) and Academic Paper to PPTX (Yuan1z0825/nature-skills, 46k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains OpenMAIC Deck Style Clone?

THU-MAIC (a GitHub organization) maintains it in THU-MAIC/OpenMAIC, which has 40,120 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 8, 2026.

Source: THU-MAIC/OpenMAIC on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.