skill
Canva Creator
Takes an approved content brief and executes a campaign end-to-end: builds the posting calendar, generates Canva designs for social posts, drafts caption and email copy, and stages social sends in HubSpot. Canva is used for social posts only (Instagram, Facebook, X, LinkedIn) — email content is drafted as plain text and surfaced inline for the owner to send from their own tool. Every step requires explicit owner approval. This is the one-shot campaign executor: a finished brief goes in, a com...
About
# Canva Creator
## Scope
This skill handles a campaign in five sequential stages, each gated by owner approval:
``` brief → calendar → asset inventory → Canva designs → copy → HubSpot staging ```
| Path | Channels | What this skill produces | |------|----------|--------------------------| | Canva (social) | Instagram, Facebook, X/Twitter, LinkedIn | Canva design + caption + scheduled HubSpot post | | Text-only | Email (newsletter, marketing, drip) | Subject + preheader + body, surfaced inline for the owner to send |
**Canva is not used for email rows under any circumstance** — no templates, no autofill, no design copies, no asset uploads, no exports. Email graphics are out of scope for this skill because email-template autofill produces placeholder graphics when image slots exceed available photos, and variation thumbnails fail to render in chat previews. If the owner asks for a Canva email design, see `reference/gotchas.md` for the redirect language.
---
## Pre-flight
Before Stage 1, confirm:
1. **Brief.** The user has referenced or pasted an approved brief. If not: "I'll need the content brief before I can build the campaign. Do you have one from the content-strategy skill, or would you like to write one now?"
2. **Canva tier.** Pro/Teams require manual template selection from the user's library (no autofill API). Enterprise can autofill from brand templates.
3. **HubSpot tier.** Social staging requires Marketing Hub Professional. Starter or Free → skip Stage 5 and export a CSV instead (see [reference/hubspot-staging.md](reference/hubspot-staging.md)).
4. **Brand assets.** If a storefront is connected (Shopify or Square — peers, `../../shared/connector-neutrality.md`), read the product list first: titles, image URLs, and prices for every product the brief names. Read only — nothing is uploaded to Canva until Stage 2 step 5, and then only the images the approved calendar's slots need. That list is the starting photo inventory; ask only about products the store has no image for. The pull rules — which fields, the price-claim rule — are in [../social-content-engine/reference/shopify-assets.md](../social-content-engine/reference/shopify-assets.md) (written for Shopify; Square's catalog images follow the same steps from the tool inventory). With no storefront, confirm the path to product photos on disk or that the brand kit is live in Canva.
5. **Generation budget.** Estimate the campaign's Canva volume and surface it before Stage 1 begins. Default is 3 candidates per Canva-bound row; each design costs ~5 API calls (autofill + export + polling).
``` Generation budget for this campaign: Canva (social) rows: 8 Candidates per row: 3 (default — say "single candidate" to use 1) Total designs: 24 API calls (approx): ~120 (autofill + export + polling)
Canva limit: 100 requests/minute. This will take ~2-3 minutes of generation, well within your tier limits. Proceed? ```
If the projected total designs exceeds 30, recommend single-candidate mode upfront — large campaigns run out of headroom fast. The owner can override the default to 1, 2, or 3 candidates per row before Stage 1 starts. Lock the chosen value for the entire session.
---
## Workflow
### Stage 1 — Posting calendar
Pull from the brief: content themes, channels, cadence, hard dates (launches, sales, holidays).
Build a calendar table with a `Path` column that routes every row to either Canva or text-only drafting:
| Date | Channel | Path | Theme | Asset type | Caption/Subject angle | |------|---------|------|-------|------------|-----------------------| | Jun 2 | Instagram feed | Canva (social) | Linen launch | Square post | "finally, a dress…" | | Jun 5 | Email | Text-only | Linen launch | Email body | "Linen that actually breathes" |
Tag every email-channel row as `Text-only` before presenting. Cap at 30 days unless the brief specifies otherwise. Flag scheduling conflicts (two posts same day for the same product) up front.
**Checkpoint 1.** Present the calendar. Ask: "Does this match the plan? Any dates to shift, channels to add, or themes to swap?" Iterate until approved, then restate the split out loud — "N rows go through Canva, M rows go through text-only drafting" — before moving on. Catching a miscategorization here is free; catching it after generating designs isn't.
---
### Stage 2 — Asset inventory (Canva rows only)
Email rows skip this stage entirely. For each `Canva (social)` row, build a manifest of what the template needs and what's already available.
1. **Enumerate every image slot by name.** Square Instagram posts usually have 1-2 image slots; carousels and product grids can have 5+. List them individually (`Header_Image`, `Product1_Image`, `Product2_Image`, …) — never roll them up as "product images." - Enterprise: read field names from `dataset[].label` on the brand template (`GET
Install
Run this command
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/small-business/skills/canva-creator ~/.claude/skills/Works with
Manual steps
Clone the repository and copy the `small-business/skills/canva-creator` folder into your Claude skills directory. Compatible with Claude Code, Cursor, Codex, and any Agent Skills-compatible agent.
Related assets
More curated picks in Productivity & Office.
npm install @modelcontextprotocol/server-time
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/operations/skills/change-request ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/product-management/skills/product-brainstorming ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/operations/skills/compliance-tracking ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/operations/skills/process-optimization ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/enterprise-search/skills/search-strategy ~/.claude/skills/
Audit before you install
Run any source through our checks - AI visibility, security, performance, and stack detection.
Automated Web Security Scan
security
PageSpeed Analyzer
performance
AI Content Quality Test
arabic content
AI Agent / MCP Server Tester
ai testing
Site Stack Detector
migration
AI SEO / AEO / GEO Audit
ai visibility
llms.txt Generator
ai visibility
Readability Score
arabic content
Schema / JSON-LD Builder
ai visibility
AI Cost Calculator
ai testing
Headline Analyzer
arabic content