本文へ移動
cccskills
無料GitHub で公開

pptx-import

会话里有上传的 .pptx,且用户要把这份幻灯片填进一节已建的课(先 create_stage 建课,再 import_pptx 把页面追加进这节课堂,保留原版排版;课堂标题以 create_stage 为准,PPT 不接管)。随后逐页检查(有 render_scene_preview 就渲染看)并修 bad case,理解整课之后才写旁白/spotlight,最后 TTS。仅在用户要求时插入 quiz 或 interactive。不要重新规划整课。

インストール方法を見る

含まれるファイル(2)

  • SKILL.md9.9 KB
  • outline-constraints.json327 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Evidence-based creation of a reusable personal course-making Skill from the user's own classroom and chat history. Use when the user asks to summarize, analyze, or learn from their past course-making records/history and create a personal, exclusive, or reusable Skill, such as “总结我的做课记录,给我做个专属 Skill” or “从我过去的课程和对话里提炼一个个人技能”.

日本語の概要は準備中です。原文の説明を表示しています。

THU-MAIC/OpenMAIC4万2026年10月10日 更新

Multi-stage series — a request for several classrooms that belong together, like 「7 天学 Python」, a four-week onboarding track, a semester unit split across lessons, or "turn this book into a lesson per chapter". Clarifies the series brief, gets the user's explicit sign-off on the full lesson list before spending anything, then builds the stages one at a time into a shared folder. Use when the ask is a sequence of classrooms; not for a single stage, however large.

日本語の概要は準備中です。原文の説明を表示しています。

THU-MAIC/OpenMAIC4万2026年10月10日 更新

Deep Interactive courses. Plans the course so the learner manipulates something on most pages — simulations, diagrams they explore, code they run, games, 3D scenes — with slides reserved for the opening frame and the closing consolidation. Use when the topic has a mechanism, a variable to vary, a process to trace, or a structure to inspect.

日本語の概要は準備中です。原文の説明を表示しています。

THU-MAIC/OpenMAIC4万2026年10月10日 更新

Courses whose content rests on current, external or real-world facts that must be verified against live sources before being taught — recent events, market or policy data, product and version specifics, scientific developments, named cases. Researches the topic first, keeps a claim-to-source ledger, and grounds the outline and every page in what was actually fetched. Use when the request depends on up-to-date or externally checkable facts; not for timeless textbook topics that stand on established knowledge alone.

日本語の概要は準備中です。原文の説明を表示しています。

THU-MAIC/OpenMAIC4万2026年10月10日 更新

Improve factual reliability while creating or reviewing a course or supplied content. Use when the user asks to fact-check, verify accuracy, reduce hallucinations, make a reliable course, or mentions 事实性错误、知识性错误、专业知识准确性、可靠性. During creation, checks the completed pages before delivery; on existing content, returns a short evidence-backed report and lets the user choose what to fix. Not for grammar, style, or layout. Combine with deep-research when current evidence is the course's main subject.

日本語の概要は準備中です。原文の説明を表示しています。

THU-MAIC/OpenMAIC4万2026年10月10日 更新

Turn any concept, lesson, slide deck, or source material into a Feynman learning cycle in which learners explain first, expose the smallest gap, rebuild the explanation through Socratic prompts, strip jargon, stress-test analogies, and transfer the idea to a new context. Use when the user asks for teach-back, learning by explaining, or a Feynman-style classroom. Do not use when the Feynman technique itself is merely the lesson topic or when study strategy should remain a parallel goal.

日本語の概要は準備中です。原文の説明を表示しています。

THU-MAIC/OpenMAIC4万2026年10月10日 更新

THU-MAIC のスキルをすべて見る

このスキルの問題を報告する