Brand Refresh
brand-refresh
Batch updates text and imagery across existing Canva designs when brand elements change, searching for affected designs and applying find-and-replace operations across all confirmed files. Use when a user has updated their brand colors, fonts, tagline, logo, or contact info and needs to propagate those changes across multiple existing Canva designs.
- This skill, packaged and ready to upload. brand-refresh.zip
- In claude.ai or Claude desktop: Customize → Skills (+) → Create skill → Upload a skill, select the zip and toggle it on. Greyed out? Enable code execution under Settings → Capabilities.
- It’s live in your chats — no code, no setup. Want every Marketing skill at once? Add the whole plugin from the Marketing page (Customize → Personal plugins → Create plugin → Upload plugin).
/plugin marketplace add Salah-XD/equipt
/plugin install equipt-marketing Installs the whole equipt-marketing plugin — this skill included.
npx @equipt/cli init
npx @equipt/cli add brand-refresh Adds just this skill to your Claude Code project.
When to Use This Skill
Use this skill when you need to:
- Propagate a new tagline, slogan, or brand statement across existing Canva designs
- Replace an old phone number, email address, or website URL across marketing materials
- Update brand colors or font references embedded in design text elements
- Swap a logo URL or image asset across multiple designs after a rebrand
- Find every design that contains outdated brand information and batch-update them
DO NOT use this skill for:
- Creating brand-new designs from scratch (use social-media-graphics or similar skills)
- Updating a Canva Brand Kit itself (do that directly in Canva settings)
- Redesigning layouts, restructuring content, or changing visual concepts
- Editing a single design (just open it in Canva manually)
Quick Reference: Common Brand Change Types
| Change Type | Old Value Example | New Value Example | Search Strategy |
|---|---|---|---|
| Tagline | "Build Better" | "Ship Faster" | Search design content for exact old text |
| Website URL | www.oldsite.com | www.newsite.com | Search for domain string |
| Phone number | (555) 123-4567 | (555) 987-6543 | Search for old number with/without formatting |
| Email address | hello@oldco.com | hello@newco.com | Search for old email string |
| Company name | OldCo Inc. | NewCo Inc. | Search for old company name |
| Color hex code | #FF6B35 | #2D5BFF | Search text elements referencing the old hex |
| Street address | 123 Main St | 456 Oak Ave | Search for old street address |
Core Workflow
EVERY BRAND REFRESH STARTS WITH A COMPLETE CHANGE LIST BEFORE TOUCHING ANY DESIGNS -- NEVER EDIT DESIGNS WITHOUT KNOWING ALL THE CHANGES UPFRONT.
Step 1: Understand the Changes
Collect every brand change from the user before searching for designs.
- Ask the user to list all elements that changed, in explicit old-to-new pairs
- Confirm each pair with the user before proceeding
- Group changes by type for efficient searching
Template to present if the user gives a vague request:
I'll update your Canva designs. I need the exact old-to-new values for each change:
1. What text changed? (old tagline -> new tagline, old URL -> new URL, etc.)
2. Any contact info changes? (phone, email, address)
3. Any visual changes? (colors, logo image URL)
4. How many designs do you think are affected? (rough estimate helps me search)
Build a change manifest like this:
Brand Refresh — Change Manifest
================================
Change 1: Tagline
OLD: "Build Better"
NEW: "Ship Faster"
Change 2: Website URL
OLD: www.acmecorp.com
NEW: www.acme.io
Change 3: Phone Number
OLD: (555) 123-4567
NEW: (555) 987-6543
Total changes: 3
DO NOT proceed to Step 2 until the user confirms the change manifest is complete and correct.
Step 2: Search for Affected Designs
Find every design that contains any of the old values from the change manifest.
Call
search-designswith keywords from each old value:- For taglines: search the key words (e.g., "Build Better")
- For URLs: search the domain (e.g., "acmecorp")
- For phone/email: search the full string and partial matches
- For company names: search the old name
For each design returned by search, call
get-design-contentto inspect the actual text elementsCheck every text element in the design content against every old value in the change manifest
Build an affected designs list with specifics:
Scanning designs for old brand values...
Search: "Build Better" — 23 designs returned
Checking content... 15 contain the tagline in text elements
Search: "acmecorp" — 18 designs returned
Checking content... 12 contain the old URL in text elements
Search: "(555) 123-4567" — 9 designs returned
Checking content... 8 contain the old phone number
- Deduplicate the list — a single design may match multiple changes
IF SEARCH RETURNS TOO MANY RESULTS:
- Narrow the search by adding context words (e.g., "Build Better tagline" instead of just "Build")
- Filter by design type if the user specifies (social posts, presentations, flyers)
- Process in batches of 20 designs at a time
IF SEARCH RETURNS NO RESULTS:
- Try alternate phrasings or partial strings
- Ask the user if the old value is spelled differently in some designs
- Try searching for the brand name alone to find all branded designs, then inspect content manually
- After 3 failed search strategies, inform the user: "No designs found containing those values. Please verify the old text is exactly as it appears in your Canva designs."
Step 3: Present Affected Designs for Confirmation
Show the user exactly which designs will be modified and what changes apply to each.
Call
get-design-thumbnailfor each affected design to provide visual contextPresent the full list grouped by design:
AFFECTED DESIGNS — REVIEW BEFORE UPDATING
==========================================
1. "Summer Sale Instagram Post" (dsg_abc123)
[thumbnail displayed]
Changes to apply:
- Tagline: "Build Better" -> "Ship Faster"
- URL: www.acmecorp.com -> www.acme.io
2. "Company Overview Presentation" (dsg_def456)
[thumbnail displayed]
Changes to apply:
- Tagline: "Build Better" -> "Ship Faster"
- Phone: (555) 123-4567 -> (555) 987-6543
- URL: www.acmecorp.com -> www.acme.io
3. "Business Card Template" (dsg_ghi789)
[thumbnail displayed]
Changes to apply:
- Phone: (555) 123-4567 -> (555) 987-6543
- URL: www.acmecorp.com -> www.acme.io
... (12 more designs)
==========================================
Total: 15 designs, 34 individual text replacements
Confirm: Update all 15 designs? Or tell me which to skip.
- Wait for user confirmation before editing anything
- If the user wants to skip specific designs, remove them from the batch
- If the user identifies designs that should be affected but are missing, run additional searches
DO NOT edit any designs until the user explicitly confirms the list.
Step 4: Apply Changes via Editing Transactions
Process each confirmed design using Canva's editing transaction workflow.
For each design in the confirmed list:
Call
start-editing-transactionfor the design IDCall
perform-editing-operationswith all text replacements for that design:- Replace each old value with the new value in every text element where it appears
- Apply all changes for the design in a single
perform-editing-operationscall when possible
Call
commit-editing-transactionto save the changesCall
get-design-thumbnailto verify the update visuallyLog the result:
[1/15] "Summer Sale Instagram Post" (dsg_abc123)
- Replaced "Build Better" with "Ship Faster" — 1 text element updated
- Replaced "www.acmecorp.com" with "www.acme.io" — 1 text element updated
STATUS: Committed successfully
Process designs sequentially — one transaction at a time. Do not start a new transaction before the previous one is committed or cancelled.
- After all designs are processed, present the final summary:
BRAND REFRESH COMPLETE
======================
Designs updated: 15 of 15 successful
Total replacements made: 34
Breakdown by change:
"Build Better" -> "Ship Faster" — updated in 15 designs
www.acmecorp.com -> www.acme.io — updated in 12 designs
(555) 123-4567 -> (555) 987-6543 — updated in 8 designs
All designs saved. Changes are live in your Canva account.
Example 1: Company Changes Tagline Across Social Graphics
User request: "We just changed our tagline from 'Build Better' to 'Ship Faster'. I need to update all our social media graphics in Canva — I think there are about 15 of them."
Step-by-step execution:
Change manifest:
Brand Refresh — Change Manifest ================================ Change 1: Tagline OLD: "Build Better" NEW: "Ship Faster" Total changes: 1User confirms.
Search: Call
search-designswith query "Build Better". Returns 23 results. Callget-design-contenton each. 15 designs contain "Build Better" in text elements.Present: Show all 15 designs with thumbnails and the tagline change noted for each. User confirms all 15.
Apply: For each of the 15 designs:
start-editing-transactionwith design IDperform-editing-operations— replace "Build Better" with "Ship Faster"commit-editing-transactionget-design-thumbnailto verify
Result:
BRAND REFRESH COMPLETE ====================== Designs updated: 15 of 15 successful Total replacements made: 15 Updated designs: [1] Instagram Post — Q1 Campaign [2] Instagram Post — Product Launch [3] Instagram Story — Weekly Tips [4] Facebook Cover Photo [5] Facebook Post — About Us [6] X/Twitter Header [7] X/Twitter Post — Welcome [8] LinkedIn Banner [9] LinkedIn Post — Hiring [10] Pinterest Pin — Brand Overview [11] YouTube Thumbnail — Episode 12 [12] YouTube Thumbnail — Episode 13 [13] Email Header Graphic [14] Newsletter Banner [15] Website Hero Banner Tagline "Ship Faster" is now live across all 15 designs.
Example 2: Updating Phone Number and Website Across Marketing Materials
User request: "We moved offices and changed our phone number. Old number was (312) 555-0142, new one is (773) 555-0198. Also our website changed from www.greenleafco.com to www.greenleaf.io. Can you update everything in Canva?"
Step-by-step execution:
Change manifest:
Brand Refresh — Change Manifest ================================ Change 1: Phone Number OLD: (312) 555-0142 NEW: (773) 555-0198 Change 2: Website URL OLD: www.greenleafco.com NEW: www.greenleaf.io Total changes: 2User confirms.
Search:
search-designswith query "(312) 555-0142" — 6 results. Content check: 5 contain the phone number.search-designswith query "greenleafco" — 14 results. Content check: 8 contain the URL.- Deduplicated total: 10 unique designs (3 designs have both phone and URL).
Present: Show 10 designs with thumbnails. For each, list which changes apply:
AFFECTED DESIGNS — REVIEW BEFORE UPDATING ========================================== 1. "Business Card — Front" (dsg_bc001) [thumbnail displayed] Changes: phone + URL 2. "Business Card — Back" (dsg_bc002) [thumbnail displayed] Changes: phone + URL 3. "Tri-fold Brochure — Page 3" (dsg_br003) [thumbnail displayed] Changes: phone + URL 4. "Email Signature Banner" (dsg_es004) [thumbnail displayed] Changes: phone + URL (contact block, no phone) ** Note: contains URL but phone not found in this design 5. "Trade Show Banner" (dsg_ts005) [thumbnail displayed] Changes: phone only ... (5 more designs) ========================================== Total: 10 designs, 13 individual text replacements Confirm: Update all 10 designs?User confirms but says: "Skip the trade show banner, we're not using that anymore." Remove design 5 from the batch. Proceeding with 9 designs.
Apply: For each of the 9 designs:
- Start transaction, perform replacements, commit, verify thumbnail
Result:
BRAND REFRESH COMPLETE ====================== Designs updated: 9 of 9 successful Skipped: 1 (Trade Show Banner — user requested skip) Total replacements made: 12 Breakdown: (312) 555-0142 -> (773) 555-0198 — updated in 4 designs www.greenleafco.com -> www.greenleaf.io — updated in 8 designs All designs saved. Changes are live in your Canva account.
Pre-Update Checklist
Run this checklist before committing any edits. DO NOT SKIP ANY ITEM.
| Check | What to Verify | How |
|---|---|---|
| Change manifest confirmed | User reviewed and approved all old-to-new pairs | Explicit user confirmation at Step 1 |
| All old values searched | Every old value was searched, not just the first one | Verify each search was executed |
| Content inspected | get-design-content was called on every search result |
Confirm content check logs |
| Designs deduplicated | No design appears twice in the affected list | Check for duplicate design IDs |
| Thumbnails shown | User saw a thumbnail preview for each affected design | Confirm thumbnails were displayed |
| User approved list | User explicitly confirmed which designs to update | Must happen at Step 3 |
| Changes per design listed | Each design shows exactly which replacements apply | Verify in the presented list |
| Sequential transactions | Only one editing transaction is open at a time | Process one design, commit, then next |
Pre-Update Checklist:
[x] Change manifest confirmed by user
[x] All old values searched
[x] Design content inspected for each result
[x] Affected designs list deduplicated
[x] Thumbnails shown for all affected designs
[x] User approved the final list
[x] Per-design change list accurate
[x] Sequential transaction processing
Recovery and Troubleshooting
Edit Transaction Fails Mid-Design
If perform-editing-operations or commit-editing-transaction returns an error:
- Call
cancel-editing-transactionto cleanly abort the failed transaction - Log the design as failed — do not retry immediately
- Continue processing the remaining designs
- After the batch completes, retry each failed design individually
- If a design fails twice: "Design '[name]' (dsg_xxx) could not be updated. The design may be locked, corrupted, or use an unsupported element type. Open it in Canva to update manually. Changes needed: [list the specific replacements]."
Design Is Locked or Read-Only
If start-editing-transaction returns a permission or lock error:
- Inform the user: "Design '[name]' is currently locked. It may be open in another session or shared with restricted permissions."
- Skip the design and continue with the rest of the batch
- After the batch completes, ask the user to close the design in Canva and retry
Search Finds Designs the User Does Not Recognize
If the affected designs list includes unexpected items:
- Show the thumbnail and design name — let the user decide
- The user may have old or archived designs they forgot about
- Default: include them in the update unless the user explicitly excludes them — outdated designs with wrong brand info are exactly what this skill fixes
Partial Text Match Creates Unintended Replacements
If the old value is a common word or substring that could match unintended text:
- Before editing, show the exact text elements that will change and their surrounding context
- Example: replacing "Go" (old company name) could match "Go to our website" — flag this for the user
- Use exact, case-sensitive matching when performing replacements
- If a replacement is too broad, ask the user for a more specific search string
User Wants to Undo Changes
If the user realizes a change was wrong after edits are committed:
- Canva has built-in version history — instruct the user to restore previous versions
- Alternatively, run the skill again with the values reversed (swap old and new)
- This skill does not maintain its own undo history — rely on Canva's versioning
Anti-Patterns
- DO NOT edit designs without user confirmation of the affected list — accidental edits across 20+ designs are difficult to reverse
- DO NOT open multiple editing transactions simultaneously — one at a time, commit before starting the next
- DO NOT skip the content inspection step — search results may include designs that mention the keyword but do not contain the actual brand element
- DO NOT assume formatting — if the old phone number appears as "(555) 123-4567" in some designs and "555-123-4567" in others, search for both formats
- DO NOT proceed with a partial change manifest — if the user mentions "a few things changed," press for the complete list before searching
- DO NOT replace text blindly — always verify the match is the intended brand element, not part of unrelated content