canva-bulk-create — Claude skill: batch-generate Canva designs
Turns a table of data into one Canva design per row by autofilling a brand template. Useful when you need product cards or posts built from a CSV in one go.
npx skills add openai/plugins --skill canva-bulk-create -a codexWhat canva-bulk-create does
The skill takes tabular data in whatever form you have it: an uploaded file, a pasted table, JSON, or a URL. It shows the columns it found, the row count, and a preview of the first rows so you can check before anything runs. Then it searches for autofill-capable templates with Canva:search-brand-templates and pulls the field schema of the one you pick.
Column matching is case-insensitive and fuzzy, and the skill lays it out as a table for confirmation. Text fields fill straight from the table values. Images are the awkward part: if your data holds an image URL, it gets uploaded through Canva:upload-asset-from-url first and the returned asset ID goes into the call, because autofill-design will not take a URL. A field with no matching column can be skipped, leaving the template's own image in place.
Designs are created one at a time, sequentially rather than in a burst, which keeps failures easy to trace. Autofill needs a Canva Enterprise plan, so check your plan before starting. There is no undo for a bulk run, so on long tables the skill suggests a test pass over the first 3 rows.
What it helps with
- build one design per product from a spreadsheet
- fill brand template fields with CSV values
- upload linked images and attach them to each design
- collect links to every design that was created
- find out which rows failed and why
Example prompts for the agent
- bulk create designs from this CSV
- autofill the template from the table I pasted
- generate one design per row for all products in the file
How to install canva-bulk-create
1Skills CLI (Vercel)
npx skills add openai/plugins --skill canva-bulk-create -a codex2Manually: put the files in place
.agents/skills/canva-bulk-create/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill canva-bulk-create -a claude-code2Manually: put the files in place
~/.claude/skills/canva-bulk-create/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/canva-bulk-create/
Manually: put the files in place
.cursor/skills/canva-bulk-create/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins canva-bulk-create2Manually: put the files in place
.github/skills/canva-bulk-create/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/canva/skills/canva-bulk-createManually: put the files in place
.devin/skills/canva-bulk-create/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about canva-bulk-create
How do I install canva-bulk-create in Claude?
Run npx skills add openai/plugins --skill canva-bulk-create -a codex. The skill lands at .agents/skills/canva-bulk-create/SKILL.md.
What does canva-bulk-create do?
It reads a table of data and creates one Canva design per row, filling the fields of an autofill brand template with the row values.
What is required for autofill to work?
A Canva Enterprise plan. Without it, autofill is not available.