Masterclass Lecture Designer
THU-MAIC/OpenMAIC
Designs a slide-driven masterclass lecture as one continuous argument, with dense pages, long narration, real recurring cases and rare, deliberate checkpoints instead of frequent quizzes.
Turn a lesson plan into a teaching slide deck in Canva. An agent skill from canva-sdks/canva-skills.
$ npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install canva-sdks/canva-skills canva-classroom-helper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/canva-sdks/canva-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/canva/inactive-skills/classroom-helper .claude/skills/canva-classroom-helper && rm -rf skills-srcUse ~/.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/
Install the "canva-classroom-helper" agent skill from https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/inactive-skills/classroom-helper into .claude/skills/canva-classroom-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva-classroom-helper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/inactive-skills/classroom-helperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install canva-sdks/canva-skills canva-classroom-helper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canva-sdks/canva-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/canva/inactive-skills/classroom-helper .agents/skills/canva-classroom-helper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "canva-classroom-helper" agent skill from https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/inactive-skills/classroom-helper into .agents/skills/canva-classroom-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva-classroom-helper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install canva-sdks/canva-skills canva-classroom-helper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canva-sdks/canva-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/canva/inactive-skills/classroom-helper .cursor/skills/canva-classroom-helper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "canva-classroom-helper" agent skill from https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/inactive-skills/classroom-helper into .cursor/skills/canva-classroom-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva-classroom-helper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/canva-sdks/canva-skills.git --path plugins/canva/inactive-skills/classroom-helper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install canva-sdks/canva-skills canva-classroom-helper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canva-sdks/canva-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/canva/inactive-skills/classroom-helper .gemini/skills/canva-classroom-helper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "canva-classroom-helper" agent skill from https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/inactive-skills/classroom-helper into .gemini/skills/canva-classroom-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva-classroom-helper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install canva-sdks/canva-skills canva-classroom-helperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/canva-sdks/canva-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/canva/inactive-skills/classroom-helper .github/skills/canva-classroom-helper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "canva-classroom-helper" agent skill from https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/inactive-skills/classroom-helper into .github/skills/canva-classroom-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva-classroom-helper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install canva-sdks/canva-skills canva-classroom-helper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canva-sdks/canva-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/canva/inactive-skills/classroom-helper .opencode/skills/canva-classroom-helper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "canva-classroom-helper" agent skill from https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/inactive-skills/classroom-helper into .opencode/skills/canva-classroom-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva-classroom-helper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
canva-classroom-helperTurn a lesson plan into a teaching slide deck in Canva. An agent skill from canva-sdks/canva-skills.
Canva Classroom Helper is an agent skill from canva-sdks/canva-skills. Turn a lesson plan into a teaching slide deck in Canva. Use when the user asks to build classroom slides from a lesson plan, convert a lesson plan into a presentation, make a teaching deck, create school slides from an outline, or generate a lesson deck for students. Input can be a lesson plan pasted in the message, a Canva design ID, a Canva doc or design by name, or a Canva design link (e.g., https://www.canva.com/design/...).
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Education, covering Lesson planning and Slides and decks. It works with Canva. The repository describes itself as: Ready-to-use Canva Skills that improve creative workflows using the Canva Connector. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b56291e. It shows what the files ask for, not the result of running them.
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.
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.
Hosts in commands or code, which the agent is likely to contact:
canva.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Canva Classroom Helper loads about 2.1k tokens when it runs. Until then it costs about 114 tokens; SKILL.md has 1,116 words of instructions outside code blocks.
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.
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.
The full file from canva-sdks/canva-skills at commit b56291e, republished under its Apache-2.0 licence (© canva-sdks). 1,116 words, ~2,106 tokens.
.claude/skills/canva-classroom-helper/SKILL.md (or your agent's skills folder).Transform a lesson plan into a clear, teachable presentation: learning goals on screen, logical flow, and slide-by-speaker-notes so the teacher can run the class from one deck.
Get the lesson plan source (always do this first — no substitute checklist)
D, e.g. DABcd1234ef), use that value as design_id with Canva:start-editing-transaction to read its text content (same as reading from a link, without URL parsing)https://www.canva.com/design/DAG.../...), extract the design ID from the path and use Canva:start-editing-transaction to read its text contentCanva:search-designs to find it, then Canva:start-editing-transaction to read its contentsList available brand kits
Canva:list-brand-kits to retrieve the user's brand kitsGenerate the presentation
Canva:generate-design with:design_type: "presentation"brand_kit_id: the selected brand kit IDquery: follow the Lesson plan → deck query format below (always a multi-slide deck—see opening lines of that format)Finalize
Canva:create-design-from-candidate to create the editable designStructure the query for Canva:generate-design so the model in Canva receives pedagogy-first instructions. This skill only targets multi-slide presentations (design_type is always "presentation"). Open the query with one line: the total slide count and that the output must be a standard multi-slide deck (one slide per item in the slide plan below)—never a poster, flyer, or single-page layout.
Include these sections (omit only if the lesson plan truly has no data for that section):
Lesson brief
Classroom arc One short paragraph: how the lesson flows for students (e.g., Engage → Explore → Explain → Elaborate → Evaluate; or I Do / We Do / You Do). Match the teacher's structure from the lesson plan when possible.
Slide plan (teaching deck) For each slide, include:
Materials & logistics (optional slide or final appendix slides)
Differentiation / extensions (if in the plan)
Why automated visuals often miss the lesson
Across any subject (literacy, history, STEM, arts, SEL, etc.), AI-assisted and auto-picked images are unreliable for: readable text inside pictures; exact facts (dates, names, quotes, vocabulary); maps, timelines, or charts that must be precise; depictions of people, places, or events that must match the source material; and any slide where correct wording matters for assessment or standards alignment. Models may garble language, mix languages, invent labels, or choose plausible but wrong imagery.
What to put in the query (mitigations — any lesson plan)
Include explicit global visual rules near the start of the generated query, for example:
After the deck exists
Advise a full pass in the Canva editor: replace misleading images, fix on-slide copy, and add or paste vetted media. The editing API (perform-editing-operations, etc.) can help with text and some media in follow-up workflows—see implement-feedback patterns—but curriculum-faithful visuals and wording are ultimately human-reviewed.
Set expectations when handing off
Briefly warn that auto-generated lesson visuals are drafts, not guaranteed accurate for any topic—teachers should treat images and on-slide facts as unverified until reviewed.
generate-design + create-design-from-candidate© canva-sdks, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/canva/inactive-skills/classroom-helper of canva-sdks/canva-skills.
Open the folder on GitHubat commit b56291e
Canva Classroom Helper 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Canva Classroom Helper this skillcanva-sdks/canva-skills | 117 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Masterclass Lecture DesignerTHU-MAIC/OpenMAIC | 40k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Teaching Resource Research Skillmingchen666/Reviva | 241 | — | ~1k | Automated safety check: Pass | None | |
| HTML Ppt Course Modulesanqiufong/slides-from-anything | 132 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Lecture Slides SummarizerLi-Baichuan-James/summarize-slides-skill | 312 | — | ~6.7k | Automated safety check: Pass | MIT | |
| OpenMAIC Page CloneTHU-MAIC/OpenMAIC | 40k | — | ~3.5k | Automated safety check: Pass | MIT |
THU-MAIC/OpenMAIC
Designs a slide-driven masterclass lecture as one continuous argument, with dense pages, long narration, real recurring cases and rare, deliberate checkpoints instead of frequent quizzes.
mingchen666/Reviva
Find, verify, and curate teaching resources for lesson preparation.
sanqiufong/slides-from-anything
Online-course / workshop module deck — warm paper background + Playfair serif, persistent left sidebar of learning objectives, MCQ self-check page.
Li-Baichuan-James/summarize-slides-skill
Condenses a lecture PDF into an exam-focused LaTeX cheat sheet and compiled PDF with page citations, bilingual terms, formulas and only the diagrams that help.
THU-MAIC/OpenMAIC
Builds a new course page in an existing page's design by duplicating the model page and replacing its words one content slot at a time with patch operations.
asgeirtj/system_prompts_leaks
Creates and edits Canva designs, generates images and works with brand kits through the canva CLI and Canva's official MCP server, from decks to social posts.
canva-sdks/canva-skills
Check a Canva design against a brand kit and report where it diverges — off-palette colors, non-brand fonts, logo misuse, and off-tone copy.
canva-sdks/canva-skills
Bulk-create Canva designs from tabular data using a brand template with autofill fields, producing one design per row.
canva-sdks/canva-skills
Read a Canva design and return structured, actionable design feedback — visual hierarchy, copy/messaging, layout & spacing, consistency, readability, and accessibility.
canva-sdks/canva-skills
Implement reviewer feedback on a Canva design. An agent skill from canva-sdks/canva-skills.
canva-sdks/canva-skills
Resize a Canva design into multiple social media formats (Facebook post, Facebook story, Instagram post, Instagram story, LinkedIn post).
canva-sdks/canva-skills
Translate all text in a Canva design to another language, creating a translated copy.
Works with
Categories
Turn a lesson plan into a teaching slide deck in Canva. An agent skill from canva-sdks/canva-skills. Canva Classroom Helper is an agent skill from canva-sdks/canva-skills. Turn a lesson plan into a teaching slide deck in Canva.
Canva Classroom Helper fits situations like: the user asks to build classroom slides from a lesson plan; convert a lesson plan into a presentation; make a teaching deck; create school slides from an outline.
Run `npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a claude-code`. Or copy the skill folder (plugins/canva/inactive-skills/classroom-helper in canva-sdks/canva-skills) into .claude/skills/canva-classroom-helper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a codex`. Or copy the skill folder (plugins/canva/inactive-skills/classroom-helper in canva-sdks/canva-skills) into .agents/skills/canva-classroom-helper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add canva-sdks/canva-skills --skill canva-classroom-helper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/canva-classroom-helper, .gemini/skills/canva-classroom-helper, .github/skills/canva-classroom-helper and .opencode/skills/canva-classroom-helper in your project.
SKILL.md names no scripts, command-line tools or credentials: Canva Classroom Helper is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: canva.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Canva Classroom Helper is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Canva Classroom Helper: Masterclass Lecture Designer (THU-MAIC/OpenMAIC, 40k stars), Teaching Resource Research Skill (mingchen666/Reviva, 241 stars), HTML Ppt Course Module (sanqiufong/slides-from-anything, 132 stars) and Lecture Slides Summarizer (Li-Baichuan-James/summarize-slides-skill, 312 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
canva-sdks (a GitHub organization) maintains it in canva-sdks/canva-skills, which has 117 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on June 30, 2026.
Source: canva-sdks/canva-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.