Not in the top 1,000 by GitHub stars
canva-sdks/canva-skills
Ready-to-use Canva Skills that improve creative workflows using the Canva Connector.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
plugins/canva/inactive-skills/branded-presentation/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/inactive-skills/classroom-helper/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/inactive-skills/design-translation/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/inactive-skills/generate-deck/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/inactive-skills/presentation-time-fitting/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/skills/brand-check/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/skills/bulk-create/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/skills/cli/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/skills/edit-design/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/skills/get-design-feedback/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/skills/implement-feedback/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
plugins/canva/skills/resize-for-social-media/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 906e8e0b0808
No earlier version was observed for comparison.
Verified commit 906e8e0b0808e7146b998a48179abef281be57ca
git clone --filter=blob:none --no-checkout https://github.com/canva-sdks/canva-skills.git .hotskills/canva-sdks-canva-skills && git -C .hotskills/canva-sdks-canva-skills checkout --detach 906e8e0b0808e7146b998a48179abef281be57ca
# Copy each selected skill directory from .hotskills/canva-sdks-canva-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/canva-sdks/canva-skills.git .hotskills/canva-sdks-canva-skills && git -C .hotskills/canva-sdks-canva-skills checkout --detach 906e8e0b0808e7146b998a48179abef281be57ca
# Copy each selected skill directory from .hotskills/canva-sdks-canva-skills into .cursor/skills/<skill-name>/Heat
7.5- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- canva-branded-presentation
plugins/canva/inactive-skills/branded-presentation - canva-classroom-helper
plugins/canva/inactive-skills/classroom-helper - canva-translate-design
plugins/canva/inactive-skills/design-translation - canva-branded-presentation
plugins/canva/inactive-skills/generate-deck - canva-presentation-time-fitting
plugins/canva/inactive-skills/presentation-time-fitting - canva-brand-check
plugins/canva/skills/brand-check - canva-bulk-create
plugins/canva/skills/bulk-create - canva-cli
plugins/canva/skills/cli - canva-edit-design
plugins/canva/skills/edit-design - canva-design-feedback
plugins/canva/skills/get-design-feedback - canva-implement-feedback
plugins/canva/skills/implement-feedback - canva-resize-for-social-media
plugins/canva/skills/resize-for-social-media
How it works
canva-branded-presentation
When your agent uses it
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 Canva design ID, a reference to a Canva doc by name, or a Canva design link (e.g., https://www.canva.com/design/...).
What it loads into context
Frontmatter
94 tokensAlways available to the agent
SKILL.md
730 tokensWhen the skill is activated
Reference documents
7,993 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Presentation Query Format
- Notes
Files
../../../../.claude-plugin/README.mddoc913 bytes../../../../.claude-plugin/marketplace.jsonasset360 bytes../../.claude-plugin/plugin.jsonasset594 bytesSKILL.mdcore3,090 bytes../../skills/brand-check/SKILL.mddoc5,147 bytes../../skills/bulk-create/SKILL.mddoc5,309 bytes../../skills/edit-design/SKILL.mddoc5,769 bytes../../skills/get-design-feedback/SKILL.mddoc4,735 bytes../../skills/implement-feedback/SKILL.mddoc7,170 bytes../../skills/resize-for-social-media/SKILL.mddoc5,896 bytes
Read SKILL.md
# Canva Branded Presentation Creator
Create professional, on-brand presentations in Canva from user-provided outlines or briefs.
## Workflow
1. **Get the content source**
- If the user provides text directly, use that as the outline/brief
- If the user provides a **Canva design ID** directly (typically starts with `D`, e.g. `DABcd1234ef`), use it as `design_id` with `Canva:start-editing-transaction` to read its contents; **do not** use `Canva:search-designs` for a raw ID
- If the user provides a Canva design link (e.g., `https://www.canva.com/design/DAG.../...`), extract the design ID from the URL and use `Canva:start-editing-transaction` to read its contents
- If the user references a Canva doc by name, use `Canva:search-designs` to find it, then `Canva:start-editing-transaction` to read its contents
2. **List available brand kits**
- Call `Canva:list-brand-kits` to retrieve the user's brand kitsView the complete source on GitHubcanva-classroom-helper
When your agent uses it
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/...).
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
1,913 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Lesson plan → deck query format
- Pedagogical notes
- Visuals — where they come from and how to avoid bad images
- Notes
Files
SKILL.mdcore8,503 bytesSKILL.mdcore8,503 bytes
Read SKILL.md
# Canva Classroom Helper — Lesson Plan to Deck
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.
## Workflow
1. **Get the lesson plan source** (always do this first — no substitute checklist)
- **Do not** open with a generic two-part prompt (e.g. “paste the plan” *and then* “describe the topic and key points”). The **lesson plan** already carries topic and key points; asking twice is redundant and skips this step’s real work (text vs Canva link vs search).
- If the user has **not** yet given a source, ask **one** short question that matches this step only, for example: *Paste your full lesson plan here, **or** give a Canva design link or **design ID**, **or** the exact title to search in Canva; if the plan is in a file, paste the contents or give a path you can read.* Then proceed along the branch below.
- If the user provides the lesson plan as **text in chat**, use that as the full source
- If the user provides a **Canva design ID** directly (the identifier from a design URL—typically starts with `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)
- If the user provides a **Canva design link** (e.g., `https://www.canva.com/design/DAG.../...`), extract the design ID from the path and use `Canva:start-editing-transaction` to read its text content
- If the user references a **Canva doc or design by name**, use `Canva:search-designs` to find it, then `Canva:start-editing-transaction` to read its contents
View the complete source on GitHubcanva-translate-design
When your agent uses it
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".
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
665 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Example Interaction
- Important Notes
Files
SKILL.mdcore2,846 bytes
Read SKILL.md
# Canva Translate
Translate all text elements in a Canva design to a target language, creating a new copy with translated content.
## Workflow
### 1. Locate the Design
If user provides a **design ID** directly (typically starts with `D`, e.g. `DABcd1234ef`), use that as the design identifier; **do not** pass it to `Canva:search-designs` (search is for titles, not IDs).
If user provides a **URL**: Extract the design ID from the URL (format: `https://www.canva.com/design/{design_id}/...`).
If user provides a **name**: Use `Canva:search-designs` to find the design by title. If multiple matches, ask user to clarify.
View the complete source on GitHubcanva-branded-presentation
When your agent uses it
Create branded marketing and sales presentation decks with Canva AI using the connected Canva app's list_brand_kits and direct generate-design flow. Use when the user asks to generate, create, draft, or build a Canva sales deck, marketing deck, pitch deck, product deck, or other branded slide presentation; always suggest available brand kits and ask the user to choose before generation. Do not use for Canva Docs, reports, proposals, single-page visual designs, templates, prepare-design-generation, or _prepare_design_generation flows.
What it loads into context
Frontmatter
114 tokensAlways available to the agent
SKILL.md
1,306 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core Rule
- Deck Focus
- Inputs
- Brand Kit Handling
- Generation Prompt
- Candidate Finalization
- Boundaries
Files
SKILL.mdcore6,596 bytesSKILL.mdcore6,596 bytes
Read SKILL.md
# Canva Presentation Builder
Use the Canva app to generate presentation-type designs with Canva AI, especially branded marketing decks and sales decks. Keep the workflow focused on multi-slide decks even though the generation tool can create many other design types.
## Core Rule
For deck requests, call the Canva app `generate-design` tool directly with `design_type: "presentation"` and presentation-specific content. If the app exposes callable names, this means use `_generate_design`, not `_prepare_design_generation`. Never use `prepare-design-generation`, `_prepare_design_generation`, or outline-review helpers for this skill. Do not use `doc`, `document`, `proposal`, `report`, `infographic`, poster, social post, or other design types. If the user explicitly switches away from presentations, use a different workflow instead of this skill.
The point of this skill is to keep Canva AI generation presentation-shaped when using a broad design-generation tool. Always give `generate-design` enough deck-specific context in its `query` so it does not produce a document-like or single-page result. If direct generation cannot proceed without a prepare-design-generation step, stop and tell the user rather than calling the prepare tool.
## Deck Focus
Optimize the deck for marketing and sales outcomes:
View the complete source on GitHubcanva-presentation-time-fitting
When your agent uses it
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".
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
2,052 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Primary workflow (time-balanced presenter notes)
- Scope: notes only
- When `start-editing-transaction` fails or times out
- Rules
Files
SKILL.mdcore8,488 bytesSKILL.mdcore8,488 bytes
Read SKILL.md
# 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 designView the complete source on GitHubcanva-brand-check
When your agent uses it
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. Read-only; makes no changes. Use when the user asks "is this on brand", "check this against our brand kit", "do a brand review", "does this match our brand guidelines", or "brand-check my design".
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
1,176 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The brand-kit data gap — read this first
- Reading the design's actual colors and fonts
- Workflow
- Rules
Files
SKILL.mdcore5,147 bytes
Read SKILL.md
# Brand Checker
Compare a design against the user's brand kit and report, point by point, where it follows the brand and where it drifts. This is a specialised, brand-aware version of `canva-design-feedback`: same read-only "read the design, then critique" core, but the rubric is the brand kit. It **never edits** the design.
## The brand-kit data gap — read this first
`Canva:list-brand-kits` is documented to return brand kit **IDs, names, and thumbnails**. It may NOT return the machine-readable palette (hex values) and font families. Your approach depends on what you actually get back:
- **If the kit exposes colors/fonts** → use those exact hex codes and font names as the rubric (precise check).
- **If it only exposes a thumbnail/name** → you cannot do an exact hex/font match. Fall back to a **visual** comparison against the kit thumbnail, and ASK the user to paste their brand colors (hex) and fonts so you can check precisely. Be explicit that, without those, the color/font findings are approximate.
Never invent brand colors or fonts. If you don't have the real values, say so.
## Reading the design's actual colors and fontsView the complete source on GitHubcanva-bulk-create
When your agent uses it
Bulk-create Canva designs from tabular data using a brand template with autofill fields, producing one design per row. Use when users say "bulk create designs from this CSV", "generate one design per row", "create a design for each product", "batch generate from a template", or "autofill a template from a spreadsheet". Accepts any tabular data source — uploaded files, pasted tables, JSON, or URLs.
What it loads into context
Frontmatter
97 tokensAlways available to the agent
SKILL.md
1,270 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Notes
Files
SKILL.mdcore5,309 bytesSKILL.mdcore5,309 bytes
Read SKILL.md
# Canva Bulk Design Creation
Create one Canva design per row of data by autofilling a brand template with data tags.
## Workflow
### Step 1: Get the Data
Accept data in any form the user provides and extract a list of rows with named columns:
- **Uploaded file**: read the file and extract headers and rows
- **Pasted data**: parse markdown tables, tab-separated values, or JSON arrays directly from the chat
- **URL**: fetch the resource and parse the response as tabular data
View the complete source on GitHubcanva-cli
When your agent uses it
Use the Canva CLI (`canva api`) for Canva REST API workflows with local files, scripts, and coding agents. Use when the request needs direct, programmatic work with Canva designs, folders, assets, exports, or other REST API resources.
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
940 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Set up the CLI when needed
- Find the right operation
- Authenticate and validate
- Interpret results
- Handle asynchronous operations
- Report back
- Reference
Files
SKILL.mdcore4,207 bytesSKILL.mdcore4,207 bytesSKILL.mdcore4,207 bytes
Read SKILL.md
# Canva CLI
Use the Canva CLI when a request requires direct, programmatic interaction with
Canva or local files. Do not use it for purely conversational design work that
is better handled through Canva's AI-assisted workflows.
## Set up the CLI when needed
Before using the CLI, check whether `canva --version` succeeds.
If the CLI is unavailable, explain that it requires Node.js v24 and npm v11.
Install it only when the user has explicitly requested or approved installation:
```shView the complete source on GitHubcanva-edit-design
When your agent uses it
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.
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
1,301 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Transaction Protocol (always these steps, in order)
- Capabilities — what the API CAN and CANNOT do
- Responsive pages — restricted operation set
- The commit approval gate (required)
- Workflow
- Rules
Files
SKILL.mdcore5,769 bytes
Read SKILL.md
# Canva Design Editing
The canonical, safe way to apply edits to an existing Canva design. Every Canva skill that mutates a design should follow this exact protocol: **start a transaction → perform operations → commit (with approval)**. Changes are draft-only until committed and are PERMANENTLY LOST if not committed.
## The Transaction Protocol (always these steps, in order)
1. **`Canva:start-editing-transaction`** — pass the `design_id`. Remember the returned `transaction_id` and the `pages` array; both are required by later calls. ALWAYS show the user the thumbnail(s) returned here.
2. **`Canva:perform-editing-operations`** — apply edits. Pass the `transaction_id`, the `pages` array from the previous response, the `page_index` of the first page being changed, and an `operations` array. Batch multiple operations into a single call wherever possible.
3. **`Canva:commit-editing-transaction`** — save. See the approval gate below. After committing, the `transaction_id` is invalid; a new edit needs a new transaction.
4. **`Canva:cancel-editing-transaction`** — discard the draft instead of saving (e.g. the user rejects the preview, or you opened a transaction only to inspect the design).
## Capabilities — what the API CAN and CANNOT do
### CAN (operations on `perform-editing-operations`)View the complete source on GitHubcanva-design-feedback
When your agent uses it
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".
What it loads into context
Frontmatter
95 tokensAlways available to the agent
SKILL.md
1,106 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What you can actually read (and the gap to know about)
- Workflow
- Rules
Files
SKILL.mdcore4,735 bytes
Read SKILL.md
# Get Design Feedback
Act as a design reviewer: read the design as it actually appears, then return concrete, prioritised feedback the user can act on. This skill is **read-only** — it never edits the design. When the user wants the changes made, hand off to `canva-edit-design` or `canva-implement-feedback`.
## What you can actually read (and the gap to know about)
- **`Canva:get-design-content`** returns text (`richtexts`) only — good for copy, headings, and wording, but it does NOT include colors, fonts, sizes, or element positions.
- **`Canva:get-design-thumbnail`** gives you the rendered image — this is how you "see" layout, hierarchy, balance, color, and contrast. Always pull this; visual critique depends on it.
- **Element positions, sizes, and text** are reliably available from a **read-only** editing transaction: `Canva:start-editing-transaction`, inspect the returned `richtexts`/`fills`, then `Canva:cancel-editing-transaction` (never commit — you are not changing anything). Use this for layout/spacing/alignment detail.
- **Colors and fonts are NOT reliably exposed.** Tested: the transaction payload often returns only text + position + dimension per element, with no color or font attributes. So treat the **thumbnail as the primary source** for any color, contrast, or typography judgement, and treat transaction style data as best-effort (use it when present, don't depend on it). Never report a specific hex/font as fact unless the payload actually contained it.
## Workflow
### Step 1: Resolve the designView the complete source on GitHubcanva-implement-feedback
When your agent uses it
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".
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
1,566 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Canva Editing API — What You Can and Cannot Do
- Workflow
- Rules
Files
SKILL.mdcore7,170 bytes
Read SKILL.md
# 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`)View the complete source on GitHubcanva-resize-for-social-media
When your agent uses it
Resize a Canva design into multiple social media formats (Facebook post, Facebook story, Instagram post, Instagram story, LinkedIn post). 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.
What it loads into context
Frontmatter
67 tokensAlways available to the agent
SKILL.md
1,369 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Workflow
- Key Implementation Notes
Files
SKILL.mdcore5,896 bytesSKILL.mdcore5,896 bytes
Read SKILL.md
# Canva Resize for Social Media
Automatically resize a single Canva design into multiple social media formats.
## Overview
This skill enables rapid multi-platform content distribution by taking a single Canva design and creating optimized versions for:
- Facebook post
- Facebook story
- Instagram post
- Instagram story
- LinkedIn post
All resized versions are provided with Canva edit links so users can further edit or download them directly from Canva.View the complete source on GitHubSkills included
- canva-branded-presentation
- canva-classroom-helper
- canva-translate-design
- canva-branded-presentation
- canva-presentation-time-fitting
- canva-brand-check
- canva-bulk-create
- canva-cli
- canva-edit-design
- canva-design-feedback
- canva-implement-feedback
- canva-resize-for-social-media
Repository facts
- License
- Apache-2.0
- Created
- Dec 12, 2025
- Last pushed
- Nov 5, 2026
- Forks
- 34
- Open issues
- 3
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 7 notes
plugins/canva/inactive-skills/classroom-helper/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/canva/inactive-skills/generate-deck/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/canva/inactive-skills/presentation-time-fitting/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/canva/skills/bulk-create/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/canva/skills/cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/canva/skills/cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/canva/skills/resize-for-social-media/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 22 network referencesin 6 files: branded-presentation/SKILL.md:1 classroom-helper/SKILL.md:1 plugins/canva/skills/resize-for-social-media/SKILL.md:31 and 3 more
- No hidden or obfuscated text
- 4 instruction override signalsin 1 file: plugins/canva/skills/edit-design/SKILL.md:48
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 26 signals by file
plugins/canva/inactive-skills/branded-presentation/SKILL.md
- Network accessline 1
--- name: canva-branded-presentation description: 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 prese - Network accessline 2
name: canva-branded-presentation description: 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 presentat - Network accessline 3
description: 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 te - Network accessline 13
- If the user provides text directly, use that as the outline/brief - If the user provides a **Canva design ID** directly (typically starts with `D`, e.g. `DABcd1234ef`), use it as `design_id` with `Canva:start-editing-transaction` to re - Network accessline 14
- If the user provides a **Canva design ID** directly (typically starts with `D`, e.g. `DABcd1234ef`), use it as `design_id` with `Canva:start-editing-transaction` to read its contents; **do not** use `Canva:search-designs` for a raw ID - Network accessline 15
- If the user provides a Canva design link (e.g., `https://www.canva.com/design/DAG.../...`), extract the design ID from the URL and use `Canva:start-editing-transaction` to read its contents
plugins/canva/inactive-skills/classroom-helper/SKILL.md
- Network accessline 1
--- name: canva-classroom-helper description: 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, crea - Network accessline 2
name: canva-classroom-helper description: 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 s - Network accessline 3
description: 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, - Network accessline 15
- If the user provides the lesson plan as **text in chat**, use that as the full source - If the user provides a **Canva design ID** directly (the identifier from a design URL—typically starts with `D`, e.g. `DABcd1234ef`), use that valu - Network accessline 16
- If the user provides a **Canva design ID** directly (the identifier from a design URL—typically starts with `D`, e.g. `DABcd1234ef`), use that value as `design_id` with `Canva:start-editing-transaction` to read its text content (same as r - Network accessline 17
- If the user provides a **Canva design link** (e.g., `https://www.canva.com/design/DAG.../...`), extract the design ID from the path and use `Canva:start-editing-transaction` to read its text content
plugins/canva/inactive-skills/design-translation/SKILL.md
- Network accessline 16
If user provides a **URL**: Extract the design ID from the URL (format: `https://www.canva.com/design/{design_id}/...`).
plugins/canva/inactive-skills/presentation-time-fitting/SKILL.md
- Network accessline 21
- 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}/...`) - Network accessline 22
- If the user provides a full Canva URL, extract the design ID (`https://www.canva.com/design/{design_id}/...`)
plugins/canva/skills/cli/SKILL.md
- Network accessline 100
- [Canva CLI](https://www.canva.dev/docs/apps/canva-cli/) — installation, authentication, profiles, and app-development commands. - [Making REST API requests from the CLI](https://www.canva.dev/docs/apps/canva-cli/making-rest-api-requests - Network accessline 101
authentication, profiles, and app-development commands. - [Making REST API requests from the CLI](https://www.canva.dev/docs/apps/canva-cli/making-rest-api-requests/) — `canva api` command discovery, inputs, response format, and async job - Network accessline 102
- [Making REST API requests from the CLI](https://www.canva.dev/docs/apps/canva-cli/making-rest-api-requests/) —
plugins/canva/skills/edit-design/SKILL.md
- Instruction override signalline 48
- Do NOT commit without approval. - Do NOT tell the user changes are saved before the commit call has succeeded. - Instruction override signalline 48
- Do NOT commit without approval. - Do NOT tell the user changes are saved before the commit call has succeeded. - Instruction override signalline 49
- Do NOT tell the user changes are saved before the commit call has succeeded. - Instruction override signalline 49
- Do NOT tell the user changes are saved before the commit call has succeeded.
plugins/canva/skills/resize-for-social-media/SKILL.md
- Network accessline 31
2. **Direct design URL**: User provides a Canva design link - Example: "resize https://www.canva.com/design/DABcd1234ef/... for all social media" - Network accessline 31
2. **Direct design URL**: User provides a Canva design link - Example: "resize https://www.canva.com/design/DABcd1234ef/... for all social media" - Network accessline 32
- Example: "resize https://www.canva.com/design/DABcd1234ef/... for all social media" - Network accessline 32
- Example: "resize https://www.canva.com/design/DABcd1234ef/... for all social media"
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 26 facts
- Network access in the frontmatter of the SKILL.mdbranded-presentation/SKILL.md:1Low confidence
- Network access in the frontmatter of the SKILL.mdbranded-presentation/SKILL.md:2Low confidence
- Network access in the frontmatter of the SKILL.mdbranded-presentation/SKILL.md:3Low confidence
- Network access in prose of the SKILL.mdbranded-presentation/SKILL.md:13Low confidence
- Network access in prose of the SKILL.mdbranded-presentation/SKILL.md:14Low confidence
- Network access in prose of the SKILL.mdbranded-presentation/SKILL.md:15Low confidence
- Network access in the frontmatter of the SKILL.mdclassroom-helper/SKILL.md:1Low confidence
- Network access in the frontmatter of the SKILL.mdclassroom-helper/SKILL.md:2Low confidence
- Network access in the frontmatter of the SKILL.mdclassroom-helper/SKILL.md:3Low confidence
- Network access in prose of the SKILL.mdclassroom-helper/SKILL.md:15Low confidence
- Network access in prose of the SKILL.mdclassroom-helper/SKILL.md:16Low confidence
- Network access in prose of the SKILL.mdclassroom-helper/SKILL.md:17Low confidence
- Network access in prose of the SKILL.mddesign-translation/SKILL.md:16Low confidence
- Network access in prose of the SKILL.mdpresentation-time-fitting/SKILL.md:21Low confidence
- Network access in prose of the SKILL.mdpresentation-time-fitting/SKILL.md:22Low confidence
- Network access in prose of the SKILL.mdcli/SKILL.md:100Low confidence
- Network access in prose of the SKILL.mdcli/SKILL.md:101Low confidence
- Network access in prose of the SKILL.mdcli/SKILL.md:102Low confidence
- Instruction override signal in prose of the SKILL.mdplugins/canva/skills/edit-design/SKILL.md:48High confidence
- Instruction override signal in prose of the SKILL.mdedit-design/SKILL.md:48High confidence
- Instruction override signal in prose of the SKILL.mdplugins/canva/skills/edit-design/SKILL.md:49High confidence
- Instruction override signal in prose of the SKILL.mdedit-design/SKILL.md:49High confidence
- Network access in prose of the SKILL.mdplugins/canva/skills/resize-for-social-media/SKILL.md:31Low confidence
- Network access in prose of the SKILL.mdresize-for-social-media/SKILL.md:31Low confidence
- Network access in prose of the SKILL.mdplugins/canva/skills/resize-for-social-media/SKILL.md:32Low confidence
- Network access in prose of the SKILL.mdresize-for-social-media/SKILL.md:32Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md plugins/canva/inactive-skills/branded-presentation/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .cursor/README.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md plugins/canva/inactive-skills/branded-presentation/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md plugins/canva/inactive-skills/branded-presentation/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md plugins/canva/inactive-skills/branded-presentation/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.