Agent skill

Canva Presentation Time Fitting

by canva-sdks in canva-sdks/canva-skills

Fit a Canva presentation to a target speaking duration by generating or rewriting presenter notes only (visible slide text is not edited).

Apache-2.0Auto-check passedDocuments & Office

Install Canva Presentation Time Fitting

skills CLI
$ npx skills add canva-sdks/canva-skills --skill canva-presentation-time-fitting -a claude-code

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

GitHub CLI
$ gh skill install canva-sdks/canva-skills canva-presentation-time-fitting --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/canva-sdks/canva-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/canva/inactive-skills/presentation-time-fitting .claude/skills/canva-presentation-time-fitting && 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
canva-presentation-time-fitting
GitHub stars
115
Token cost
~2.1k tokens
SKILL.md length
1,158 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Fit a Canva presentation to a target speaking duration by generating or rewriting presenter notes only (visible slide text is not edited).

  • Works in 8 steps: Collect design and duration (before… → Resolve the design → Work on a copy (required) → …
  • Users say make this a 10-minute presentation
  • SKILL.md covers Primary workflow…, Scope: notes only, When start-editing-transaction… and Rules
  • Reaches canva.com

What it does

Canva Presentation Time Fitting is an agent skill from canva-sdks/canva-skills. 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".

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 Documents & Office, covering Slides and decks and PowerPoint presentations. 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.

When your agent uses it

  • 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]

Example prompts

  • “make this a 10-minute presentation”
  • “split time evenly across slides”
  • “generate speaker notes for a 15-minute talk”
  • “/canva-presentation-time-fitting”

Workflow steps

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

  1. Collect design and duration (before other Canva tool calls)
  2. Resolve the design
  3. Work on a copy (required)
  4. Read slide content
  5. Calculate time per slide
  6. Generate speaker notes (in this session)
  7. Write notes back to Canva
  8. Hand off

What it can do on your machine

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

    Hosts in commands or code, which the agent is likely to contact:

    • canva.com

    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

Canva Presentation Time Fitting loads about 2.1k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 1,158 words of instructions outside code blocks.

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

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 canva-sdks/canva-skills at commit b56291e, republished under its Apache-2.0 licence (© canva-sdks). 1,158 words, ~2,111 tokens.

Download SKILL.mdSave it as .claude/skills/canva-presentation-time-fitting/SKILL.md (or your agent's skills folder).
name
canva-presentation-time-fitting
description
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".

Presentation Time-Fitting

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.

Primary workflow (time-balanced presenter notes)

Step 1: Collect design and duration (before other Canva tool calls)
  • Gather everything you need before calling Canva:resize-design, Canva:get-design-content or other editing/content tools:
    • Design: link (canva.link), full Canva URL, design ID, or design name (see Step 2 for how each maps to design_id)
    • Total speaking time for delivering the deck (e.g. "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)
  • If either design or duration is missing, ask and wait before proceeding
Step 2: Resolve the design
  • If the user provides a short link (canva.link), call Canva:resolve-shortlink to get the design URL
  • If the user provides a full Canva URL, extract the design ID (https://www.canva.com/design/{design_id}/...)
  • If the user provides a design ID directly (typically starts with D, e.g. DABcd1234ef), use it as design_id; do not use Canva:search-designs for a raw ID
  • If the user provides a design name (not an ID), use Canva:search-designs; if multiple matches, ask for clarification
  • If you still cannot resolve a design, ask for the design ID or link
Step 3: Work on a copy (required)
  • Use Canva:resize-design with the same dimensions as the source to clone the presentation; do not modify the original
Step 4: Read slide content
  • Call Canva:get-design-content on the copy to extract visible text per slide/page (headings, bullets, body)
  • Build a per-slide summary: slide index or title, text content, and whether speaker notes already exist if the payload includes them
  • Slide count = number of content-bearing pages from this response (use for the division in Step 5)
Step 5: Calculate time per slide
  • Target speaking time per slide = total_duration ÷ number_of_slides (equal split unless the user asks to weight title/closing differently; then adjust and state the assumption)
  • Derive a word budget per slide using ~150 words/minute as a guide: target_words ≈ (target_minutes_per_slide) × 150 (floor/round sensibly; treat as guidance, not a hard cap)
  • Show the user a small table: slide count, total duration, seconds (or mm:ss) per slide, approximate word budget per slide
Step 6: Generate speaker notes (in this session)
  • Generate the notes directly in this response; no external API call is required. For each slide, using that slide’s text from Step 4 plus the per-slide time/word budget from Step 5, compose presenter notes (this is the only content you may author or edit for timing):
    • Aim to fill roughly the allocated time when spoken aloud
    • Expand thin slides with context, transitions, and delivery cues in the notes; shorten notes if the budget is small (do not shorten on-slide text)
    • Stay faithful to the slide’s visible messages; do not invent facts
  • If a slide is visual-heavy with little text, write notes that describe what to say about the visual in the allotted time
Step 7: Write notes back to Canva
  • Call Canva:get-design-pages on the copy to obtain page_id (or equivalent) for each slide that needs notes
  • Call Canva:start-editing-transaction on the copy if not already active; use the returned transaction_id for edits
  • Optional ordering: start the editing transaction soon after you have the copy’s design ID (e.g. right after Step 4 or right after get-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 edits
  • Call Canva: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 allowed
  • Call Canva:commit-editing-transaction to save
Show full SKILL.md (446 more words)Show less
Step 8: Hand off
  • Share the link to the copy of the design and a one-line recap: total target time and per-slide time allocation
  • Remind the user that pace (~150 wpm) varies by speaker and that equal split is a default; they can ask for a different weighting in a follow-up

Scope: notes only

  • In scope: Read on-slide text via get-design-content. Create, update, lengthen, or shorten presenter/speaker notes only, using the MCP’s note operation per page.
  • Out of scope: Do not change visible slide content (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.
  • Slide count: The API cannot add or remove pages. If the time target is unrealistic for the amount of on-slide material (e.g. 60 minutes of talking from two dense slides), say so and suggest splitting or simplifying slides in the editor, or revising the target duration. You may still write notes that acknowledge the squeeze (e.g. “prioritise X, skim Y”) without changing slide text.

When start-editing-transaction fails or times out

Cause (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:

  1. Retry once Canva:start-editing-transaction after a short pause (e.g. 15–30 seconds). Transient failures often succeed on a second attempt.
  2. Open the transaction earlier in the flow (see Step 7 bullet) so a long note-generation stretch in chat does not sit between “ready to edit” and “start transaction.”
  3. If it still fails: tell the user clearly this is a Canva/MCP timeout, not a logic error in the skill. Suggest they try again later, use a stable network / VPN per org policy, or test on a smaller copy of the deck (fewer pages) to confirm the pipeline works.
  4. Fallback: paste the generated speaker notes into the chat grouped by slide (Slide 1: …, Slide 2: …) so the user can enter them manually in Canva’s presenter notes if automation keeps timing out.

Rules

  • Always clone with Canva:resize-design (same dimensions) before edits
  • Read with Canva:get-design-content; resolve page IDs with Canva:get-design-pages before writing notes
  • Primary path: confirm duration early → per-slide budget → generate notes → note-only perform-editing-operations → commit
  • Never edit on-slide text in this skill; only presenter/speaker notes (see Scope: notes only)
  • On start-editing-transaction timeout: retry once, then explain and offer the manual notes fallback (see When start-editing-transaction fails or times out)
  • Batch editing operations where possible

© 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

Files

Just SKILL.md in plugins/canva/inactive-skills/presentation-time-fitting of canva-sdks/canva-skills.

Open the folder on GitHubat commit b56291e

Compare with similar skills

Canva Presentation Time Fitting 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.

Canva Presentation Time Fitting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Canva Presentation Time Fitting this skillcanva-sdks/canva-skills115—~2.1kAutomated safety check: PassApache-2.0
Gamma Migration Deep Divejeremylongshore/tons-of-skills-marketplace2.8k—~2.3kAutomated safety check: PassMIT
Image To Editable Pptningzimu/image-to-editable-ppt-skill2.8k—~4.3kAutomated safety check: PassMIT
Slidesfcakyon/claude-codex-settings1.2k1 repos~1.1kAutomated safety check: PassMIT
Ppt Image FirstNyxTides/ppt-image-first1.2k—~1.6kAutomated safety check: PassApache-2.0
Gpt Image2 PptJuneYaooo/gpt-image2-ppt-skills1.3k—~8.9kAutomated safety check: NotesApache-2.0

Similar skills

  • Gamma Migration Deep Dive

    jeremylongshore/tons-of-skills-marketplace

    Deep dive into migrating to Gamma from other presentation platforms.

    2.8k GitHub stars~2.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Image To Editable Ppt

    ningzimu/image-to-editable-ppt-skill

    Rebuild slide images, scanned or image-based PPT/PPTX files, and PDF decks into object-level editable PowerPoint (.pptx), preserving speaker notes when supplied.

    2.8k GitHub stars~4.3k tokensUpdated 22 days ago
    Documents & OfficeAuto-check passed
  • Slides

    fcakyon/claude-codex-settings

    Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.

    1.2k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Ppt Image First

    NyxTides/ppt-image-first

    Build presentation plans for PPT / slides / decks through a conversation-first workflow, then propose multiple visual directions with preview images before writing deck specs.

    1.2k GitHub stars~1.6k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Gpt Image2 Ppt

    JuneYaooo/gpt-image2-ppt-skills

    Generate visually striking PPT slides via OpenAI's gpt-image-2 -- use any style in styles/<collection/STYLEID.md or mimic a user-supplied .pptx template; outputs high-res slide PNGs and a 16:9 .pptx.

    1.3k GitHub stars~8.9k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • HTML Slide To PPTX

    mucsbr/ppt-agent-workflow-san

    Convert structured single-slide or small deck HTML files into editable PPTX slides with native text boxes, shapes, chips, arrows, and panels.

    643 GitHub stars~1.1k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed

More from canva-sdks/canva-skills

All 10 skills in this repo
  • Canva Brand Check

    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.

    115 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check passed
  • Canva Bulk Create

    canva-sdks/canva-skills

    Bulk-create Canva designs from tabular data using a brand template with autofill fields, producing one design per row.

    115 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check passed
  • Canva Design Feedback

    canva-sdks/canva-skills

    Read a Canva design and return structured, actionable design feedback — visual hierarchy, copy/messaging, layout & spacing, consistency, readability, and accessibility.

    115 GitHub stars~1.2k tokensUpdated 3 mo ago
    Auto-check passed
  • Canva Implement Feedback

    canva-sdks/canva-skills

    Implement reviewer feedback on a Canva design. An agent skill from canva-sdks/canva-skills.

    115 GitHub stars~1.8k tokensUpdated 3 mo ago
    Auto-check passed
  • Canva Resize For Social Media

    canva-sdks/canva-skills

    Resize a Canva design into multiple social media formats (Facebook post, Facebook story, Instagram post, Instagram story, LinkedIn post).

    115 GitHub stars~1.5k tokensUpdated 3 mo ago
    Auto-check passed
  • Canva Translate Design

    canva-sdks/canva-skills

    Translate all text in a Canva design to another language, creating a translated copy.

    115 GitHub stars~711 tokensUpdated 3 mo ago
    Auto-check passed

Works with

Questions about Canva Presentation Time Fitting

What does Canva Presentation Time Fitting do?

Fit a Canva presentation to a target speaking duration by generating or rewriting presenter notes only (visible slide text is not edited). Canva Presentation Time Fitting is an agent skill from canva-sdks/canva-skills. Fit a Canva presentation to a target speaking duration by generating or rewriting presenter notes only (visible slide text is not edited).

When should I use Canva Presentation Time Fitting?

Canva Presentation Time Fitting fits situations like: 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].

How do I install Canva Presentation Time Fitting in Claude Code?

Run `npx skills add canva-sdks/canva-skills --skill canva-presentation-time-fitting -a claude-code`. Or copy the skill folder (plugins/canva/inactive-skills/presentation-time-fitting in canva-sdks/canva-skills) into .claude/skills/canva-presentation-time-fitting in your project. Claude Code loads it when a task matches its description.

How do I install Canva Presentation Time Fitting in Codex?

Run `npx skills add canva-sdks/canva-skills --skill canva-presentation-time-fitting -a codex`. Or copy the skill folder (plugins/canva/inactive-skills/presentation-time-fitting in canva-sdks/canva-skills) into .agents/skills/canva-presentation-time-fitting in your project. Codex loads it when a task matches its description.

Can I use Canva Presentation Time Fitting 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 canva-sdks/canva-skills --skill canva-presentation-time-fitting -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-presentation-time-fitting, .gemini/skills/canva-presentation-time-fitting, .github/skills/canva-presentation-time-fitting and .opencode/skills/canva-presentation-time-fitting in your project.

What does Canva Presentation Time Fitting need to run?

SKILL.md names no scripts, command-line tools or credentials: Canva Presentation Time Fitting is instructions for the agent only.

Does Canva Presentation Time Fitting access the network?

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.

Is Canva Presentation Time Fitting 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 Canva Presentation Time Fitting use?

Canva Presentation Time Fitting 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.

How many tokens does Canva Presentation Time Fitting use?

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.

What are the alternatives to Canva Presentation Time Fitting?

Skills that share tags, products or a category with Canva Presentation Time Fitting: Gamma Migration Deep Dive (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Image To Editable Ppt (ningzimu/image-to-editable-ppt-skill, 2.8k stars), Slides (fcakyon/claude-codex-settings, 1.2k stars) and Ppt Image First (NyxTides/ppt-image-first, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Canva Presentation Time Fitting?

canva-sdks (a GitHub organization) maintains it in canva-sdks/canva-skills, which has 115 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.