Canva Implement Feedback logo

Canva Implement Feedback

Organization
canva-sdks
canva-implement-feedback

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".

Overview

Publishercanva-sdks
Repositorycanva-skills
Skill namecanva-implement-feedback
Stars
141
Forks
33
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by canva-sdks on GitHub. Read the source before you install it.

Installation

Install the Canva Implement Feedback AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/skills/implement-feedback
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/canva-sdks/canva-skills.git /tmp/canva-skills
mkdir -p .claude/skills
cp -r /tmp/canva-skills/plugins/canva/skills/implement-feedback .claude/skills/canva-implement-feedback
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Canva Implement Feedback in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Canva Implement Feedback on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Canva Implement Feedback is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Feedback to Finished

A deck has been out for review — stakeholders have left comments scattered across slides. This skill reads every thread, summarises what reviewers actually want, makes the clear-cut changes directly, and flags anything ambiguous for a human decision.

Canva Editing API — What You Can and Cannot Do

Before triaging feedback, you MUST know these constraints. This avoids wasted back-and-forth with the user on changes that are impossible via the API.

What the API CAN do (via perform-editing-operations)

  • Text content: replace entire text elements (replace_text), find-and-replace substrings (find_and_replace_text)
  • Text formatting: font size, font weight (bold), font style (italic), text color, text alignment, line height, text decoration (underline), strikethrough, links, list formatting
  • Media: replace images/videos (update_fill), insert new images/videos (insert_fill), delete elements (delete_element)
  • Layout: reposition elements (position_element), resize elements (resize_element)
  • Metadata: update design title (update_title)

What the API CANNOT do

  • Change font family/typeface — only size, weight, and style are supported
  • Add new text elements — you can only insert media (images/videos), not new text boxes
  • Change background colors or gradients
  • Add, remove, or reorder pages/slides
  • Modify animations or transitions
  • Change element opacity (except on newly inserted fills)
  • Group/ungroup elements
  • Modify shapes (color, border, etc.) — only text within shapes can be edited

Triage rule

When a comment requests something in the "CANNOT do" list, classify it as Requires manual action. Don't dwell on the limitation — simply note it in the summary and move on. These are normal; most design reviews will have a mix of API-supported and manual changes. Save the details for the manual changes checklist at the end (Step 7).

Workflow

Step 1: 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 from the URL
  • 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
  • Otherwise ask for the design ID or link

Step 2: Read All Feedback

  • Call Canva:list-comments with the design ID to get every comment thread
  • For each thread with replies, call Canva:list-replies to capture the full conversation
  • Call Canva:get-design-content to read the current text on every page

Step 3: Triage the Feedback

Classify each comment thread into one of these categories:

  • Actionable — a change that the API supports and you can reasonably interpret. Use your best judgement — if a comment says "make the title punchier", rewrite it to be punchier rather than flagging it as ambiguous. If a comment says "fix the spacing", look at the design content and make a reasonable adjustment. Only escalate to the user when you genuinely cannot determine what the reviewer intends (e.g., two reviewers directly contradict each other, or a comment references something you can't find in the design).
  • Requires manual action — the reviewer wants something the API cannot do (font family change, new text element, background change, page reorder, etc.). Note these briefly in the summary — full details go in the manual changes checklist (Step 7).
  • Resolved — already addressed, explicitly marked done, or is a positive acknowledgement (e.g., "LGTM", "looks good")

Present a summary to the user organised by category: what you plan to change, what needs clarification, what must be done manually, and what you're skipping.

Step 4: Get User Approval — ONE time only

  • Present the plan and wait for the user to approve
  • If the user wants adjustments, update the plan and confirm once more

This is the only confirmation point in the entire workflow. Once the user says yes, go.

Step 5: Apply and Commit the Changes

Do NOT ask the user again. They already approved. Execute all of these in sequence immediately:

  • Call Canva:start-editing-transaction to begin an editing session
  • Call Canva:perform-editing-operations to make each approved change (batch all operations in a single call where possible)
  • Call Canva:commit-editing-transaction to save — do NOT ask "shall I commit?" or "ready to save?"
  • Show the thumbnail from the editing response to the user as confirmation

Step 7: Present Remaining Manual Changes

After committing (or if no API-supported changes were possible), present a clear checklist of everything that still needs to be done manually in the Canva editor:

## Changes to make manually in Canva

1. **Slide 3 — Change heading font to Montserrat**
   Reviewer: @Sarah | Why: API cannot change font family
   → Open slide 3, select the heading, change font to Montserrat

2. **Slide 7 — Add a new text box for the disclaimer**
   Reviewer: @James | Why: API cannot add new text elements
   → Add a text box below the chart with: "Source: Q3 2025 internal data"

3. ...

Include the slide number, what to change, who requested it, and step-by-step instructions so the user can work through the list quickly.

Step 8: Resolve Comment Threads

  • After committing, call Canva:reply-to-comment on each actionable thread to note what was changed
  • For "Requires manual action" threads, reply noting what was done as the closest alternative and what still needs manual attention
  • This closes the feedback loop so reviewers can see their comments were addressed

Rules

  • Be helpful, not cautious — interpret feedback generously and make your best attempt at a change rather than labelling it "ambiguous" and giving up. The user can always reject your changes in the approval step.
  • Only escalate to the user when you genuinely can't figure out the intent — two reviewers directly contradict each other, or a comment references something you can't find in the design
  • When reviewers disagree, present both sides and let the user decide
  • Show the summary of planned changes and wait for approval ONCE — after that, execute everything without further confirmation
  • NEVER ask "shall I commit?", "ready to save?", or any variation — the user's initial approval covers the entire edit-and-commit flow
  • Manual changes are normal and expected — don't over-explain or apologise for API limitations, just include them in the checklist
  • Batch operations: use a single perform-editing-operations call with multiple operations rather than one call per change

Frequently asked questions

What does the Canva Implement Feedback AI skill do?

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".

Why use Canva Implement Feedback on TypingMind?

Because you install it once and use it with any model. Canva Implement Feedback is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Canva Implement Feedback in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/canva-sdks/canva-skills/tree/main/plugins/canva/skills/implement-feedback. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Canva Implement Feedback?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Canva Implement Feedback?

As many as you like. As long as a model supports skills, you can use Canva Implement Feedback with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Canva Implement Feedback AI skill free?

Yes. It is published on GitHub by canva-sdks under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇