
canva-sdks / canva-skills
★ 44A skill package that teaches your agent 2 capabilities — every one documented and browsable below, no GitHub required · by Canva.
Each skill below is one capability this package teaches your agent. Install the whole package, or open a skill to install just that one.
Create on-brand Canva presentations from an outline or brief. Use when the user asks to create a branded presentation, make an on-brand deck, turn an outline into slides, or generate a presentation from a brief. Input can be text directly in the message, a reference to a Canva doc by name, or a Canva design link (e.g., https://www.canva.com/design/...).
1 file — installable on its own
Translate all text in a Canva design to another language, creating a translated copy. Faster than manually copying and editing each text box in Canva's editor. Use when users say "translate my design to [language]", "make a Spanish/French/etc version", or "localize my Canva design".
1 file — installable on its own
Canva Agent Skills
Agent skills for working with Canva designs. This repo is a marketplace-style
package: root-level marketplace metadata points to one shared plugin package
under plugins/canva/, which supports Claude, Cursor, and Codex.
How This Repo Is Organized
This repo separates host entrypoints from the reusable Canva plugin package:
marketplace/catalog -> exposes plugin package -> plugin contains skills- Marketplaces/catalogs expose installable plugins to a host.
- Plugins are the installable distribution unit.
- Skills live inside the plugin package because they are bundled with the plugin when installed.
The shared Canva plugin package is plugins/canva/. It contains the active
skills/ directory, host-specific plugin manifests, and Canva MCP registration.
The root hidden folders are host entrypoints:
.agents/plugins/marketplace.json— Codex marketplace entrypoint.claude-plugin/marketplace.json— Claude marketplace entrypoint.cursor-plugin/marketplace.json— Cursor marketplace entrypoint.cursor/— Cursor project config, not a marketplace
Each host entrypoint folder has a small README with setup notes for that host.
Active Plugin Skills
These skills are exposed by every supported host through the shared
plugins/canva/skills/ directory.
resize-for-social-media
Resize designs for multiple social media platforms (Facebook, Instagram, LinkedIn) in one operation.
Use when: You want to quickly distribute a design across multiple social media formats.
Capabilities:
- Creates platform-optimized versions (e.g. Facebook post/story, Instagram post/story, LinkedIn post)
- Provides Canva edit links so users can download or refine each version
- Resizes selected formats in parallel
bulk-create
Bulk-create Canva designs from tabular data using a brand template, one design per row.
Use when: You want to generate many designs from a CSV, spreadsheet, pasted table, or JSON (e.g. one design per product or row).
Capabilities:
- Accepts tabular data from uploaded files, pasted content, or URLs
- Finds brand templates that support autofill and maps columns to template fields
- Creates one design per row with
autofill-design(text, image, and chart fields where supported) - Requires Canva Enterprise for autofill
implement-feedback
Implement reviewer feedback on a Canva design: read comment threads and apply the changes the API supports.
Use when: A design has been reviewed and you want to apply the feedback without manually reading every comment thread and editing each slide.
Capabilities:
- Reads all comment threads and replies across the design
- Triages feedback into actionable, ambiguous, and manual-only categories
- Applies API-supported changes (text, formatting, images) after user approval
- Presents a checklist of remaining manual changes with step-by-step instructions
- Replies to comment threads after changes are made
edit-design
Make safe, approval-gated edits to an existing Canva design.
Use when: You want to change, fix, replace, or reformat content in a specific Canva design.
Capabilities:
- Starts a Canva editing transaction, performs batched operations, and commits only after approval
- Changes text content and supported text formatting
- Replaces, inserts, deletes, repositions, or resizes supported media and elements
- Clearly flags changes that the Canva API cannot perform
get-design-feedback
Read a Canva design and return structured, actionable design feedback.
Use when: You want critique on visual hierarchy, copy, layout, spacing, consistency, readability, accessibility, or fit for purpose.
Capabilities:
- Reads rendered thumbnails and design text
- Uses read-only inspection for layout details where available
- Prioritizes page-specific findings with concrete fixes
- Never edits or commits changes
brand-check
Check a Canva design against a brand kit and report where it diverges.
Use when: You want to know whether a design is on brand, including colors, typography, logo handling, tone, and consistency.
Capabilities:
- Lists available brand kits and compares against the selected kit
- Uses design and brand-kit thumbnails when exact colors or fonts are not available from the API
- Marks findings as on brand, off brand, or can't verify
- Offers to hand off fixable items to
edit-designif the user wants changes made
Inactive Skills
The repo also keeps additional skill work under
plugins/canva/inactive-skills/. These are not registered by any plugin host
because each host exposes the same active subset from plugins/canva/skills/.
branded-presentationclassroom-helperdesign-translationpresentation-time-fitting
Installation
Each host uses the Canva MCP server at https://mcp.canva.com/mcp. Connect the
canva MCP server and sign in to Canva when prompted.
Claude
Install from GitHub:
/plugin marketplace add canva-sdks/canva-skills
/plugin install canva@canva-skillsIf you already added this marketplace before, refresh it instead:
/plugin marketplace update canva-skillsThis works in Claude Code, Claude Desktop, and other Claude clients that support plugin marketplaces. See .claude-plugin/README.md for details.
Cursor
Cursor Marketplace installs use .cursor-plugin/marketplace.json and
plugins/canva/.cursor-plugin/plugin.json. See
.cursor-plugin/README.md for marketplace details.
To use the skills while working in this repo:
- Open this repo in Cursor (
.cursor/mcp.jsonand.cursor/skills/load automatically), or openplugins/canva/directly - In Settings → MCP Tools, connect the
canvaserver and sign in with Canva - Use the skills naturally in agent chat — see .cursor/README.md for details
Codex
codex plugin marketplace add canva-sdks/canva-skills
codex plugin add canva@canva-skills
codex mcp login canvaIf you already added this marketplace before, refresh it instead:
codex plugin marketplace upgrade canva-skillsThen start a new Codex thread and use @canva or ask for Canva workflows
naturally. See .agents/plugins/README.md for
details.
Codex uses .agents/plugins/marketplace.json to find the package at
plugins/canva/, then plugins/canva/.codex-plugin/plugin.json for plugin
metadata, plugins/canva/.mcp.json for the Canva MCP server, and
plugins/canva/skills/ for the active skill set.
Usage
Simply reference the skills naturally in your conversations:
Examples:
# Social media resize
"Resize design DABcd1234ef for all social media platforms"
# Bulk create
"Bulk create designs from this spreadsheet using my brand template"
# Implement feedback
"Implement the feedback on my deck"
# Edit design
"Change the headline in this Canva design and make it bold"
# Design feedback
"Review this Canva design and tell me what to improve"
# Brand check
"Check this Canva design against my brand kit"Works in Claude, Cursor, and Codex.
Repository Structure
canva-skills/
├── LICENSE
├── README.md
├── .agents/plugins/ # Codex marketplace entrypoint
│ ├── README.md
│ └── marketplace.json
├── .claude-plugin/ # Claude marketplace entrypoint
│ ├── README.md
│ └── marketplace.json
├── .cursor-plugin/ # Cursor marketplace entrypoint
│ ├── README.md
│ └── marketplace.json
├── .cursor/ # Cursor project config, not a marketplace
│ ├── README.md
│ ├── mcp.json
│ └── skills -> ../plugins/canva/skills
└── plugins/
└── canva/
├── README.md
├── .claude-plugin/plugin.json # Claude plugin manifest
├── .cursor-plugin/plugin.json # Cursor plugin manifest
├── .codex-plugin/plugin.json # Codex plugin manifest
├── .cursor/ # Cursor project config when opening package directly
├── .mcp.json # MCP registration for Cursor marketplace and Codex
├── skills/ # Active plugin skills exposed by all hosts
│ ├── brand-check/
│ ├── bulk-create/
│ ├── edit-design/
│ ├── get-design-feedback/
│ ├── implement-feedback/
│ └── resize-for-social-media/
└── inactive-skills/ # Kept in repo, not registered by plugin hosts
├── branded-presentation/
├── classroom-helper/
├── design-translation/
└── presentation-time-fitting/Contributing
To add a new skill:
- Create a new directory under
plugins/canva/inactive-skills/while drafting, or underplugins/canva/skills/when it should be exposed by every plugin host - Add a
SKILL.mdfile with skill metadata and workflow - Follow the existing skill patterns for consistency
- Register active skills in
plugins/canva/.claude-plugin/plugin.json(Claude requires an explicit list; Cursor and Codex discover skills from./skills/) - Update this README with the new skill
License
Apache License 2.0 - see LICENSE for details.
Install the whole package (2 skills):
npx skills add https://github.com/canva-sdks/canva-skillsOr install a single skill:
npx skills add https://github.com/canva-sdks/canva-skills --skill <name>Pick the skill name from the Skills tab — each entry there installs independently.