plugins/canva/inactive-skills/presentation-time-fitting/SKILL.md
Fit a Canva presentation to a target speaking duration by generating or rewriting presenter notes only (visible slide text is not edited). Use when users say "make this a 10-minute presentation", "split time evenly across slides", "generate speaker notes for a 15-minute talk", "fit my deck to [duration]", or "how long per slide for a 20-minute slot".
npx skillsauth add canva-sdks/canva-claude-skills canva-presentation-time-fittingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Take an existing Canva presentation and align it with a target speaking duration using presenter notes only. Visible on-slide text is read for context and timing, but must not be changed by this skill. The flow is: confirm design + total duration (before cloning), read slide text, divide time across slides, add, replace, or trim speaker notes per slide to match each slot, write notes only back via Canva editing tools.
Canva:resize-design, Canva:get-design-content or other editing/content tools:
canva.link), full Canva URL, design ID, or design name (see Step 2 for how each maps to design_id)"15 minutes", "45 min", "1 hour"). Parse to total seconds (or minutes as a decimal). If the user is vague, confirm the total minutes they want for speaking through the slides (include Q&A in that total only if they say so)canva.link), call Canva:resolve-shortlink to get the design URLhttps://www.canva.com/design/{design_id}/...)D, e.g. DABcd1234ef), use it as design_id; do not use Canva:search-designs for a raw IDCanva:search-designs; if multiple matches, ask for clarificationCanva:resize-design with the same dimensions as the source to clone the presentation; do not modify the originalCanva:get-design-content on the copy to extract visible text per slide/page (headings, bullets, body)total_duration ÷ number_of_slides (equal split unless the user asks to weight title/closing differently; then adjust and state the assumption)target_words ≈ (target_minutes_per_slide) × 150 (floor/round sensibly; treat as guidance, not a hard cap)Canva:get-design-pages on the copy to obtain page_id (or equivalent) for each slide that needs notesCanva:start-editing-transaction on the copy if not already active; use the returned transaction_id for editsget-design-pages) so the session is open before you spend a long time composing notes in chat; some environments time out less often when the transaction is not deferred. If the connector allows one long-lived transaction for the whole flow, prefer opening it once and reusing transaction_id for Step 7 editsCanva:perform-editing-operations using only the operation type the Canva MCP exposes for presenter/speaker notes (name may vary by connector; use the schema for updating notes per page). Do not call replace_text, find_and_replace_text, or any operation that changes visible on-slide text. Apply all note updates, batched in as few calls as allowedCanva:commit-editing-transaction to saveget-design-content. Create, update, lengthen, or shorten presenter/speaker notes only, using the MCP’s note operation per page.replace_text, find_and_replace_text, formatting, media, layout, title, etc.). If the user asks to cut or pad the slides themselves, say this skill only adjusts notes; they can edit slides in Canva or use another skill/workflow.start-editing-transaction fails or times outCause (usually not the skill text): Canva or the MCP gateway can abort with “The operation was aborted due to timeout” when the design is large (many pages/assets), the network is slow, or servers are under load. That is an infrastructure / product limit, not something fixed by editing SKILL.md.
What to do in the session:
Canva:start-editing-transaction after a short pause (e.g. 15–30 seconds). Transient failures often succeed on a second attempt.Canva:resize-design (same dimensions) before editsCanva:get-design-content; resolve page IDs with Canva:get-design-pages before writing notesperform-editing-operations → commitstart-editing-transaction timeout: retry once, then explain and offer the manual notes fallback (see When start-editing-transaction fails or times out)development
Resize a Canva design into multiple social media formats (Facebook post, Facebook story, Instagram post, Instagram story, LinkedIn post) and export all versions as PNGs. Use this skill when users want to resize Canva designs specifically for multiple social media platforms in one operation, rather than resizing to a single format manually.
testing
Implement reviewer feedback on a Canva design. Reads all comment threads, synthesises what reviewers want, makes the clear-cut changes directly, and flags anything that needs a human decision. Use when the user asks to "implement feedback on my deck", "address comments on a design", "apply review feedback", "fix the comments on my presentation", or "implement the feedback".
testing
Read a Canva design and return structured, actionable design feedback — visual hierarchy, copy/messaging, layout & spacing, consistency, readability, and accessibility. Read-only; makes no changes to the design. Use when the user asks to "review my design", "give me feedback on this", "critique my deck/poster/flyer", "how can I improve this design", or "what's wrong with this slide".
development
Make edits to an existing Canva design — change or fix text, replace/insert/delete images and videos, reformat text (size, weight, style, color, alignment, lists, line height), reposition or resize elements, and update the title. Use when the user wants to change, edit, update, fix, translate, replace, or reformat content in a specific Canva design. This is the safe edit engine that other Canva skills (e.g. implement-feedback) build on.