Canva
social-media-skills/skills
The Canva craft skill — produce on-brand social graphics, carousels, quote cards, infographics, and thumbnails at scale without a designer, and escape the "Canva look." Use when someone wants to…
Creates and edits Canva designs, generates images and works with brand kits through the canva CLI and Canva's official MCP server, from decks to social posts.
$ npx skills add asgeirtj/system_prompts_leaks --skill canva -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install asgeirtj/system_prompts_leaks canva --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Meta/muse-agent/skills/canva .claude/skills/canva && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "canva" agent skill from https://github.com/asgeirtj/system_prompts_leaks/tree/main/Meta/muse-agent/skills/canva into .claude/skills/canva/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/asgeirtj/system_prompts_leaks/tree/main/Meta/muse-agent/skills/canvaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add asgeirtj/system_prompts_leaks --skill canva -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install asgeirtj/system_prompts_leaks canva --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks.git skills-src && mkdir -p .agents/skills && cp -r skills-src/Meta/muse-agent/skills/canva .agents/skills/canva && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "canva" agent skill from https://github.com/asgeirtj/system_prompts_leaks/tree/main/Meta/muse-agent/skills/canva into .agents/skills/canva/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add asgeirtj/system_prompts_leaks --skill canva -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install asgeirtj/system_prompts_leaks canva --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/Meta/muse-agent/skills/canva .cursor/skills/canva && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "canva" agent skill from https://github.com/asgeirtj/system_prompts_leaks/tree/main/Meta/muse-agent/skills/canva into .cursor/skills/canva/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/asgeirtj/system_prompts_leaks.git --path Meta/muse-agent/skills/canva--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add asgeirtj/system_prompts_leaks --skill canva -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install asgeirtj/system_prompts_leaks canva --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/Meta/muse-agent/skills/canva .gemini/skills/canva && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "canva" agent skill from https://github.com/asgeirtj/system_prompts_leaks/tree/main/Meta/muse-agent/skills/canva into .gemini/skills/canva/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install asgeirtj/system_prompts_leaks canvaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add asgeirtj/system_prompts_leaks --skill canva -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks.git skills-src && mkdir -p .github/skills && cp -r skills-src/Meta/muse-agent/skills/canva .github/skills/canva && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "canva" agent skill from https://github.com/asgeirtj/system_prompts_leaks/tree/main/Meta/muse-agent/skills/canva into .github/skills/canva/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add asgeirtj/system_prompts_leaks --skill canva -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install asgeirtj/system_prompts_leaks canva --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/Meta/muse-agent/skills/canva .opencode/skills/canva && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "canva" agent skill from https://github.com/asgeirtj/system_prompts_leaks/tree/main/Meta/muse-agent/skills/canva into .opencode/skills/canva/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canva", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
canvaCreates and edits Canva designs, generates images and works with brand kits through the canva CLI and Canva's official MCP server, from decks to social posts.
The skill drives an installed canva command line tool. The agent starts with canva status, and if Canva is not connected it runs canva authorize-url and shares only the returned connect link, never asking for tokens in chat. canva list-tools gives live schemas, which the agent follows exactly, including a short user_intent on each call.
create-design builds new editable layouts such as social posts, infographics, posters, flyers, presentations, documents and sheets from a brief that must hold all the source facts, since it does not inherit chat context. generate-image makes standalone images. On-brand requests use the older generate-design, candidates and create-design-from-candidate flow, because create-design cannot apply brand kits. Raw responses are saved before parsing, and mutations are never repeated just to get their output. Some tools need Canva Pro, Enterprise or AI credits.
Read from SKILL.md and the folder at commit 60d44cc. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Canva Designer loads about 2.1k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 1,063 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from asgeirtj/system_prompts_leaks at commit 60d44cc, republished under its CC0-1.0 licence (© asgeirtj). 1,063 words, ~2,105 tokens.
.claude/skills/canva/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use the installed canva CLI. Start with canva status. If it reports
not_connected, run canva authorize-url and share only the returned
connect_url. If the CLI reports outdated OAuth settings, have the user
disconnect Canva in Settings and reconnect. Never request tokens in chat.
Run canva list-tools for live schemas and use only tools returned there.
Follow their input schemas exactly and include a concise user_intent.
hatch_permission_overrides identifies argument-dependent permissions;
opening an editing transaction is a write and deleting pages is a delete.
Some tools require Canva Pro, Enterprise, or available AI credits.
Save each raw response before parsing. Check result.isError, then read
result.structuredContent when present or parse the JSON text block in
result.content. Both response forms are valid. A local parsing failure does
not mean a mutation failed: recover its response or inspect saved state before
continuing. Never repeat a copy, creation, or commit just to obtain its output.
canva search-designs [--query <keywords>] [--continuation <token>]
canva get-design-content --design-id <id>
canva get-design-pages --design-id <id>
canva list-tools
canva call-tool --name <tool-name> --arguments-json '<JSON object>'Use create-design for a new editable layout: social post, infographic,
poster, flyer, presentation, document, or sheet. Put all necessary source
facts and requested wording in brief; the tool does not inherit chat or
connected-source context. Fetch the user-selected source first. For an exact
size, state dimensions and orientation in the brief. If supplying format,
include the orientation; an ambiguous format may resolve to a square.
Pass outline only for a presentation outline the user supplied or approved.
Use generate-image for an explicitly requested standalone image, photo,
illustration, artwork, or image of an infographic. Use one MEDIA reference
per uploaded source image. This generates an image rather than an editable
page layout. Use its returned media_id when editing a generated image again.
create-design cannot apply brand kits or brand templates. For an explicitly
on-brand request, use the available legacy generate-design,
get-design-candidates, and create-design-from-candidate flow, showing
candidates for the user's choice. These tools are otherwise deprecated when
create-design is listed; failure of create-design is not permission to
fall back. generate-design does not support presentations despite its enum.
The legacy outline-review widget and structured presentation generator are
not exposed by this CLI. Do not substitute a non-branded generation when a
brand-specific presentation workflow is unavailable. A selected brand template
can still be copied with create-design-from-brand-template or autofilled.
Creation and layer separation return asynchronous jobs. When no Canva widget
is shown (including CLI use), poll the corresponding get-create-design-async-job,
get-generate-image-job, or get-separate-image-layers-job. Honor every
returned wait interval and updated continuation token. Never start a replacement
write because a job is pending. Stop on terminal failure; respect quota and
moderation failures. Show completed results using the preview workflow below.
For generated images,
include the returned Canva upload link with the text Open generated image.
For attachments, local files, or generated files up to 256 MiB, use
canva upload-file --file <path> --user-intent '<purpose>'. Its approval shows
the selected file and an image preview for workspace images. The CLI obtains
a single-use upload URL and sends the raw bytes after approval; use the returned
resource IDs in later calls. Do not repeat an upload whose outcome is unknown.
The low-level create-upload-url flow remains available for larger files: one
raw-byte POST with Content-Type: application/octet-stream, no multipart,
JSON, or base64. Never retry a consumed upload URL.
upload-asset-from-url and import-design-from-url accept already-public
HTTPS sources only. Do not publish local or private files to use those tools.
Uploading media does not place it into a design. create-design has no asset
input parameter: when exact supplied media must appear, use the editing flow
to insert or replace media with its verified Canva ID, then inspect the result.
Use remove-background with an already-uploaded MEDIA reference to produce
a new image with transparent alpha. It does not replace the scene or crop the
subject. Use separate-image-layers with an uploaded image's asset_id to turn
a flat graphic into a new editable design; the original stays unchanged.
Verify editable elements with read-design, not appearance alone.
Use read-design for metadata, text, page metadata, thumbnails, and presenter
notes. The old MCP names get-design, get-design-content,
get-presenter-notes, and get-design-thumbnail are removed. The CLI
get-design-content convenience command now calls read-design.
get-design-pages remains available for saved page previews.
To edit, call read-design with open_transaction: true and include
thumbnails in filter.fields for a before preview. Use its transaction ID,
element locators, and page flags in edit-design with finalize: keep_open.
Read that transaction to inspect unsaved changes. Show the preview and obtain
explicit approval before edit-design with finalize: commit and no
operations. Use finalize: cancel to discard edits. These replace
start-editing-transaction, perform-editing-operations,
commit-editing-transaction, and cancel-editing-transaction, even when
older server descriptions still mention those names. Cancel stale
transactions and open a fresh one.
merge-designs combines or reorders whole pages. Obtain explicit approval of
the exact operations before each call; deleting pages is permanent.
copy-design and resize-design create new designs and preserve their source.
Before autofill-design, inspect get-design-dataset or
get-brand-template-dataset and match its field names/types. Set
update_in_place only when the user requested overwriting that design.
For brand-template updates, start with create-brand-template-draft, edit and
save its design through the current transaction flow, then use
publish-brand-template only when the user requested organization-wide
publication. Publishing affects a reusable shared template.
Resolve Canva shortlinks before using designs. Confirm get-export-formats
before export-design. Use help for current Canva product support questions,
not to describe this CLI's capabilities.
Show a visual preview in chat alongside the returned Canva link when delivering
designs or images. Save returned image content, or download a returned thumbnail
URL with curl, to a file under workspace/. Inspect it with read, then attach
it on its own line as .
Preview each design in a small set; for a long deck, show representative pages
and label their page numbers. Local attachments remain useful after signed
preview URLs expire.
Check that the image shows the expected content; HTTP success alone does not rule out a blank or stale thumbnail. If needed, request a fresh thumbnail or export the saved design in a supported image format. Never commit unsaved edits just to obtain a preview, or present a saved export as an unsaved draft. If a usable preview is unavailable, explain that and keep the Canva link; do not repeat creation or editing to repair a preview.
When asked to list designs, omit --query and follow continuation tokens.
This does not authorize background crawling or bulk indexing. Comments and
replies are visible to collaborators; post only when the user requested them.
© asgeirtj, CC0-1.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in Meta/muse-agent/skills/canva of asgeirtj/system_prompts_leaks.
Open the folder on GitHubat commit 60d44cc
Canva Designer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Canva Designer this skillasgeirtj/system_prompts_leaks | 69k | — | ~2.1k | Automated safety check: Pass | CC0-1.0 | |
| Canvasocial-media-skills/skills | 134 | — | ~2.1k | Automated safety check: Pass | MIT | |
| SEO Image GeneratorAgriciDaniel/claude-seo | 19k | 2 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Guizang Material Illustrationop7418/guizang-material-illustration | 1.2k | — | ~1.6k | Automated safety check: Pass | None | |
| Native Transparent ImagegenZSeven-W/craft-skills | 225 | 1 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Picture Itgeongeorge/picture-it | 132 | — | ~3.7k | Automated safety check: Pass | MIT |
social-media-skills/skills
The Canva craft skill — produce on-brand social graphics, carousels, quote cards, infographics, and thumbnails at scale without a designer, and escape the "Canva look." Use when someone wants to…
AgriciDaniel/claude-seo
Generates Open Graph previews, blog hero images, product photos and infographics for SEO use through Gemini image tools and the banana extension.
op7418/guizang-material-illustration
Generate Guizang-style material illustrations, labeled explanatory visuals, material-styled chart illustrations, and data-first editorial images from articles, notes, product concepts, workplace…
ZSeven-W/craft-skills
Generate new raster assets that must contain native pixel transparency, then verify the untouched PNG or WebP before delivery.
geongeorge/picture-it
Generate and edit images from the CLI using picture-it. An agent skill from geongeorge/picture-it.
AgriciDaniel/claude-blog
AI image generation and editing for blog content powered by Gemini via MCP.
asgeirtj/system_prompts_leaks
Shows one digest of coding-agent sessions across your connected machines and lets you open, read, steer, approve, stop and close them, over Herdr, tmux or MSP.
asgeirtj/system_prompts_leaks
Diagnoses a Muse Code installation's own failures from binary and session evidence, instead of treating the report as an ordinary repository bug.
asgeirtj/system_prompts_leaks
A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx) or Word templates (.dotx).
asgeirtj/system_prompts_leaks
Runs a goal as a project in which the agent coordinates separate agent threads, judging when to split the work, and interviews you first when nothing can be verified.
asgeirtj/system_prompts_leaks
Creates and validates a new native Muse plugin package in the current workspace, limited to five capability families, and leaves installation to you.
asgeirtj/system_prompts_leaks
A skill your agent uses when the user's prompt requires (1) researching a topic across multiple sources, comparing options or alternatives, analyzing trends or history, understanding markets or…
Works with
Categories
Creates and edits Canva designs, generates images and works with brand kits through the canva CLI and Canva's official MCP server, from decks to social posts. The skill drives an installed canva command line tool. The agent starts with canva status, and if Canva is not connected it runs canva authorize-url and shares only the returned connect link, never asking for tokens in chat.
Canva Designer fits situations like: building a branded presentation or slide deck in Canva; making flyers, banners or campaign artwork; resizing a design for social posts and stories; generating an image or removing a background in Canva.
Run `npx skills add asgeirtj/system_prompts_leaks --skill canva -a claude-code`. Or copy the skill folder (Meta/muse-agent/skills/canva in asgeirtj/system_prompts_leaks) into .claude/skills/canva in your project. Claude Code loads it when a task matches its description.
Run `npx skills add asgeirtj/system_prompts_leaks --skill canva -a codex`. Or copy the skill folder (Meta/muse-agent/skills/canva in asgeirtj/system_prompts_leaks) into .agents/skills/canva in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add asgeirtj/system_prompts_leaks --skill canva -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/canva, .gemini/skills/canva, .github/skills/canva and .opencode/skills/canva in your project.
SKILL.md names no scripts, command-line tools or credentials: Canva Designer is instructions for the agent only. Our summary lists: The canva CLI, installed and connected to your Canva account; Canva Pro, Enterprise or AI credits for some tools.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Canva Designer is published under the CC0-1.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Canva Designer: Canva (social-media-skills/skills, 134 stars), SEO Image Generator (AgriciDaniel/claude-seo, 19k stars), Guizang Material Illustration (op7418/guizang-material-illustration, 1.2k stars) and Native Transparent Imagegen (ZSeven-W/craft-skills, 225 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
asgeirtj (a GitHub user) maintains it in asgeirtj/system_prompts_leaks, which has 69,280 GitHub stars. The repository holds 128 skills in this directory. The repository was last updated on October 10, 2026.
Source: asgeirtj/system_prompts_leaks on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.