Agent skill

PPTX Import into a Classroom Stage

by THU-MAIC in THU-MAIC/OpenMAIC

Fills an uploaded PowerPoint into an existing classroom stage with its layout intact, then checks each page, writes narration and actions, and generates speech.

MITAuto-check passedEducation

Install PPTX Import into a Classroom Stage

skills CLI
$ npx skills add THU-MAIC/OpenMAIC --skill pptx-import -a claude-code

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

GitHub CLI
$ gh skill install THU-MAIC/OpenMAIC pptx-import --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/pptx-import .claude/skills/pptx-import && 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
pptx-import
GitHub stars
40k
Token cost
~2.5k tokens
SKILL.md length
1,370 words
Files
2
Skills in repo
25
Repo updated
First seen
Licence
MIT

At a glance

Fills an uploaded PowerPoint into an existing classroom stage with its layout intact, then checks each page, writes narration and actions, and generates speech.

  • Works in 6 steps: create the stage, then import the deck → roster → inspect pages, then fix bad cases → …
  • Turning an uploaded PowerPoint into pages of an existing online lesson
  • SKILL.md covers Order (do not rearrange), Step 1 — create the stage,…, Step 2 — roster and Step 3 — inspect pages, then…, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

The skill takes the slides of an uploaded `.pptx` and adds them to a stage created earlier with `create_stage`, either appended or inserted at a chosen position. The stage keeps its own title and any pages it already has, and the original layout is preserved. The agent finds the file with `list_materials`, asks which one to use if several are attached, and calls `import_pptx`. Repeating the same import reuses the earlier result. With no `.pptx` present, it says so and stops.

The order is fixed: create the stage and import, write the roster, inspect every page and repair visual problems with the `pro-editing` skill, then form a reading of the course before writing page-by-page actions, and only then call `generate_tts`. Quiz or interactive pages are added only when you ask, through a stub and `generate_scene` for that page alone. The agent must not replan the deck or rebuild an imported slide with `generate_scene`.

When your agent uses it

  • Turning an uploaded PowerPoint into pages of an existing online lesson
  • Keeping a deck's original layout while adding narration and spoken audio
  • Repairing visual problems on imported slides before writing actions

Example prompts

  • “Import the attached photosynthesis.pptx into the biology classroom I just created.”
  • “Bring these slides into my stage, fix any pages that look broken, then add narration.”
  • “Add a quiz page after slide four of the imported deck, only that one page.”

Requirements

  • An uploaded .pptx file in the session
  • The classroom runtime tools such as `create_stage` and `import_pptx`

Workflow steps

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

  1. create the stage, then import the deck
  2. roster
  3. inspect pages, then fix bad cases
  4. understand the course, then write actions
  5. TTS
  6. add quiz / interactive only on request

What it can do on your machine

Read from SKILL.md and the folder at commit 6a84dbe. 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

PPTX Import into a Classroom Stage loads about 2.5k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 1,370 words of instructions outside code blocks.

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

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 6a84dbe, republished under its MIT licence (© THU-MAIC). 1,370 words, ~2,469 tokens.

Download SKILL.mdSave it as .claude/skills/pptx-import/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
pptx-import
description
会话里有上传的 .pptx,且用户要把这份幻灯片填进一节已建的课(先 create_stage 建课,再 import_pptx 把页面追加进这节课堂,保留原版排版;课堂标题以 create_stage 为准,PPT 不接管)。随后逐页检查(有 render_scene_preview 就渲染看)并修 bad case,理解整课之后才写旁白/spotlight,最后 TTS。仅在用户要求时插入 quiz 或 interactive。不要重新规划整课。
title
PPT 导入

PPT import as appended pages of a stage

Fill an uploaded PowerPoint's slides INTO the stage the user created with create_stage: the slides become appended pages (or pages inserted at atOrder), keeping the original layout. The stage keeps its own title and its existing pages — the PPT is content, not the classroom's identity. Import, inspect and repair the pages, understand the course, then write classroom actions. Do not skip from import to TTS.

The learner-facing name is 「PPT 导入成课」. Never say "clone", "style transfer", or "rewrite from the PPT".

Do not replan the imported deck. Do not call generate_scene on an imported slide — that rebuilds the page and throws the original layout away.

Order (do not rearrange)

  1. create_stage for the classroom, then import the deck into it.
  2. Roster.
  3. Inspect every page (read, and render when the tool exists). Load pro-editing to fix visual bad cases. Do not patch /actions yet.
  4. From that inspection, form a course reading (what it teaches, page roles, flow). Then write actions page by page.
  5. generate_tts.
  6. Quiz / interactive only if the user asked.

Step 1 — create the stage, then import the deck

  1. create_stage with the classroom's own title and brief. The stage — not the PPT — is the classroom: import never changes its title.
  2. list_materials. Find the source .pptx (mat_ id, mime or filename).
  3. If several PowerPoints are attached, ask which one, unless the user already named it.
  4. Call import_pptx with that source mat_ id and the stageId from create_stage. Pages append after the existing ones, numbered consecutively. Pass atOrder to insert them at a position instead: pages at that order and beyond shift back. Existing pages are a normal premise — the PPT is one content source among others, never a reason to refuse.
  5. A retry of the same material is idempotent — take the reused result and continue from Step 2; do not re-parse. If the user wants the same PPT again on purpose, delete its imported pages first (edit_deck delete), then retry.
  6. Want pages beyond the deck (quiz, interactive, extra slides)? Insert a stub with edit_deck insert, then generate_scene that new page only with its explicit type and brief — do not re-import the deck to get more pages.

If there is no .pptx, say so and stop. Do not extract a PDF/DOCX and pretend it was a slide import.

Speaker notes may already have become speech actions. Treat them as drafts. Do not TTS them yet; they are rewritten in Step 4 after you understand the course.

Step 2 — roster

If the import result says no roster exists, settle the cast in conversation and call set_roster. Voices are needed later for TTS, not for the inspection pass.

Step 3 — inspect pages, then fix bad cases

list_scenes is the map. Then inspect before you edit.

3a. Read

read_stage every imported page at path:/scenes/<order|id>. Record, in your own notes:

  • title vs first real heading;
  • element inventory (overflow candidates, empty boxes, missing src);
  • garbled text;
  • whether imported speaker-notes speech exists and whether it actually teaches this page.

A deck of more than 20 pages: still list_scenes fully; read_stage the cover, every section-looking page, and every page whose title/excerpt looks thin, garbled, or like a dump. Do not skip a page that looks empty.

3b. Render when the tool exists

If render_scene_preview is registered, use it. A read_stage detail:"tree" inventory cannot see overlap, clipping, or a table running off the canvas.

  • First pass: preview every imported page you read with read_stage. Look at the PNG, then decide whether that page needs a fix.
  • After a visual fix: preview that page again (look → edit → look). At most two extra previews per page.
  • If the tool is not registered, say so in one short sentence and inspect from read_stage only. Do not invent a screenshot.

Do not call render_scene_preview on pages you have not read, and do not preview quiz/interactive stubs you have not inserted yet.

3c. Fix only bad cases

Load pro-editing first. read its SKILL.md (the path is in <available_skills>), then follow that skill's surgical loop for every visual repair: read_stage, the smallest patch_stage / edit_deck op, render_scene_preview look → edit → look. Stay in pro-editing until the bad cases below are done. Do not skip the load and invent a parallel edit style.

ProblemTool
Empty or garbage titleedit_deck retitle from the first real heading
Overlap or overflowpatch_stage set on that element's /content/canvas/.../left / top / width / height, one number per op
Leftover empty boxespatch_stage delete_element
Broken or missing imagepatch_stage set on /content/canvas/elements/N/src, only if you have a real replacement URL; otherwise leave it and mention it
Garbled text, leftover font-substitution junkread_stage detail:"source", then patch_stage set on that element's rich-text path

Rules:

  • Keep the original visual language. Do not restyle the deck to "look more like OpenMAIC".
  • Change only what is broken or unreadable.
  • Do not write or rewrite actions in this step. Layout first.
  • When the layout pass is done, return here for Step 4. Do not continue pro-editing into narration.
Show full SKILL.md (535 more words)Show less

Step 4 — understand the course, then write actions

Only after Step 3. You now have a page list, inventories, and (if available) previews. Form a short course reading before touching actions:

  • What is the course arguing or teaching, in order?
  • Which pages are cover / section / content / recap?
  • What should the teacher say on each page (not what the slide already prints)?
  • Which element should be spotlighted while that line is spoken?

Then write playback actions with generate_actions page by page, in order (it drafts the full action set from the page content and course context, and synthesizes audio by default — reserve patch_stage on /actions/... + generate_tts for line-level fixes afterwards):

  • insert_speech / set_speech: one or a few teacher lines that teach this page. Do not read the slide aloud verbatim. Speaker notes are a draft to rewrite, not a script to keep if they are outline-speak or leftover PPT comments.
  • set_spotlight: bind the line to the element it is about (elementId from read_stage detail:"source"). Skip spotlight when the page is a title-only cover.
  • delete imported speech that does not teach.

Do not call generate_scene to "generate actions". That regenerates the slide.

Step 5 — TTS

After a page's actions are settled, generate_tts that page (default mode fills missing audioId only). Reworded speech has no audio until this runs.

Before saying the import is ready to teach: every page that has speech must have audioId. read_stage detail:"source" shows it.

Step 6 — add quiz / interactive only on request

If the user did not ask for quiz, interactive, or extra pages, stop after Step 5. One sentence is enough: they can ask to insert a quiz or an interactive page next.

If they did ask:

  1. Say which pages you will insert, where, and why — then do it.
  2. edit_deck insert with type=quiz or type=interactive at the chosen atOrder. This creates an empty stub; it does not copy a PPT slide.
  3. generate_scene only that new page, with the explicit page type and brief plus materialFacts taken from the surrounding imported slides. Never regenerate an imported slide in this step.
  4. A new interactive page must have a real widgetType and a filled widgetOutline. A quiz must have real questions, answers, and analysis.
  5. generate_tts the new page if it has narration.

Do not sprinkle quizzes through the deck "for engagement" when nobody asked.

Closing

  1. list_scenes — imported slides still in order, plus any pages you inserted.
  2. Touched speech has audioId.
  3. Tell the user in one or two sentences what was imported, what you fixed visually, and that narration is in. Do not dump a page-by-page changelog.

Hard rules

  • import_pptx is the source of visual truth. Replanning the imported deck is the wrong workflow for this skill.
  • Inspect and repair before writing actions. Actions after you understand the course.
  • generate_scene is allowed only for newly inserted quiz/interactive stubs, or when the user explicitly asked to rebuild one imported page.
  • Do not extract the PPT with extract_material and teach from the text.
  • Do not invent images, citations, or slide content that was not in the file.
  • If import fails, report the tool error. Do not fall back to an AI rewrite unless the user then asks for that different path.

© 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/pptx-import of THU-MAIC/OpenMAIC.

  • SKILL.md
  • outline-constraints.json

Open the folder on GitHubat commit 6a84dbe

Compare with similar skills

PPTX Import into a Classroom Stage 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.

PPTX Import into a Classroom Stage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PPTX Import into a Classroom Stage this skillTHU-MAIC/OpenMAIC40k—~2.5kAutomated safety check: PassMIT
Book Media Generatordmccreary/ibook-skills105—~1.7kAutomated safety check: PassCC-BY-NC-4.0
Pitch Deckooiyeefei/ccc494—~920Automated safety check: PassMIT
Ppt Tts Scriptninehills/skills280—~1.5kAutomated safety check: PassNone
Personwise Create Courseaiskillstore/marketplace430—~2.9kAutomated safety check: PassMIT
Academic PresentationsGabberflast/academic-pptx-skill1.1k1 repos~1.9kAutomated safety check: PassProprietary

Similar skills

  • Book Media Generator

    dmccreary/ibook-skills

    Generates media for intelligent textbooks - slide decks and presentations (MARP web decks in docs/slides/ or PowerPoint .pptx lecture downloads), illustrated stories and graphic novels…

    105 GitHub stars~1.7k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Pitch Deck

    ooiyeefei/ccc

    Build a pitch deck as one self-contained HTML file (keyboard and click navigation, staggered slide-entry animations, a persistent brand mark, cited numbers with real links), write its timed…

    494 GitHub stars~920 tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • Ppt Tts Script

    ninehills/skills

    将 PPT/PPTX/PDF 演示文档转换为拟人化逐字稿(Markdown + JSON 双格式输出),并将逐字稿回写到 PPTX 演讲者备注中。使用五阶段流水线:素材提取、大纲生成、逐字稿撰写(通过 Gemini CLI)、合并输出、备注回写。当用户需要将演示文档转为演讲稿、朗读稿、解说词时使用此技能。触发短语包括但不限于:「PPT 转语音」「生成逐字稿」「演讲稿生成」「帮我把 PPT…

    280 GitHub stars~1.5k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Personwise Create Course

    aiskillstore/marketplace

    Create, refine, resume, publish, or query polished PersonWise courses from topics, text, PDF/PPTX/DOCX/Markdown/TXT documents, or reference images with the PersonWise CLI.

    430 GitHub stars~2.9k tokensUpdated today
    Documents & OfficeAuto-check passed
  • 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
  • Manim Animation Creator

    Yusuke710/manim-skill

    Builds math and concept animations with Manim Community Edition, with optional local text-to-speech voiceover and synced subtitles, delivering script.py and video.mp4.

    167 GitHub stars~1.8k tokensUpdated 2 days ago
    Media & CreativeAuto-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 today
    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 today
    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 today
    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 today
    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 today
    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 today
    Auto-check passed

Questions about PPTX Import into a Classroom Stage

What does PPTX Import into a Classroom Stage do?

Fills an uploaded PowerPoint into an existing classroom stage with its layout intact, then checks each page, writes narration and actions, and generates speech. pptx` and adds them to a stage created earlier with `create_stage`, either appended or inserted at a chosen position. The stage keeps its own title and any pages it already has, and the original layout is preserved.

When should I use PPTX Import into a Classroom Stage?

PPTX Import into a Classroom Stage fits situations like: turning an uploaded PowerPoint into pages of an existing online lesson; keeping a deck's original layout while adding narration and spoken audio; repairing visual problems on imported slides before writing actions.

How do I install PPTX Import into a Classroom Stage in Claude Code?

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

How do I install PPTX Import into a Classroom Stage in Codex?

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

Can I use PPTX Import into a Classroom Stage 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 pptx-import -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pptx-import, .gemini/skills/pptx-import, .github/skills/pptx-import and .opencode/skills/pptx-import in your project.

What does PPTX Import into a Classroom Stage need to run?

SKILL.md names no scripts, command-line tools or credentials: PPTX Import into a Classroom Stage is instructions for the agent only. Our summary lists: An uploaded .pptx file in the session; The classroom runtime tools such as `create_stage` and `import_pptx`.

Does PPTX Import into a Classroom Stage 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 PPTX Import into a Classroom Stage 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 PPTX Import into a Classroom Stage use?

PPTX Import into a Classroom Stage 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 PPTX Import into a Classroom Stage use?

About 2.5k tokens (SKILL.md is roughly 9.9k 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 PPTX Import into a Classroom Stage?

Skills that share tags, products or a category with PPTX Import into a Classroom Stage: Book Media Generator (dmccreary/ibook-skills, 105 stars), Pitch Deck (ooiyeefei/ccc, 494 stars), Ppt Tts Script (ninehills/skills, 280 stars) and Personwise Create Course (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PPTX Import into a Classroom Stage?

THU-MAIC (a GitHub organization) maintains it in THU-MAIC/OpenMAIC, which has 40,213 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 9, 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.