canva-sdks/canva-skills/cli
Claude Code and agent skill by canva-sdks/canva-skills
- community
Checking that the SKILL.md file is still in the repository.
Use the Canva CLI (`canva api`) for Canva REST API workflows with
Install
npx vskill@latest install canva-sdks/canva-skills/cliSKILL.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:
Before accessing Canva resources, ensure the intended user is logged in:
Login opens a browser authorization flow and requires the user to approve access. In a remote or headless environment, use canva login --mode manual. Do not request, print, inspect, or copy the locally stored auth token. When multiple Canva accounts are relevant, require the user to identify the intended profile before running commands against it. Use --profile <name> for a one-off command rather than changing the active profile unless the user asks to switch it.
Find the right operation
Do not guess commands, flags, or request shapes.
- Start with
canva api --help, then narrow by resource group. - Use
canva api <group> <command> --helpto inspect flags. - Use
canva api describe <group> <command>when the command contract is
needed as JSON.
- CLI commands follow REST API operation names, not URL paths.
- Prefer documented flags. Use
--body @file.jsononly when a nested JSON
payload cannot be expressed with flags.
Authenticate and validate
- Commands act as the logged-in Canva account. Run
canva loginwhen needed. - If a request returns
MISSING_SCOPE, log in again before retrying. - Before a command that creates, changes, or uploads content, run it with
--dry-run when available to validate its arguments and login without making the API request.
- Ensure the target design, folder, asset, or other resource is unambiguous
before making a state-changing request.
Interpret results
When a request reaches the API, the CLI returns one JSON object on standard output.
- Check
okbefore treating a request as successful. - On success, use
datafor the API response. - On failure, report
error.code,error.message, and relevant
meta.status; do not invent a recovery.
- Consider
nextas a possible follow-up, such as logging in, but verify the
suggested command is appropriate before running it.
- If invalid arguments or unknown flags produce a usage error, consult
--help rather than retrying with guessed flags.
Handle asynchronous operations
Some operations, including asset uploads, return a job instead of a completed resource.
- Save the returned job ID.
- Poll the corresponding “Get job” command after a short delay.
- While the status is
in_progress, use exponential backoff between polls:
increase the wait after each unsuccessful poll, respect the endpoint’s rate limits, and never issue concurrent or tight-loop polls.
- Stop polling immediately when the job becomes
successorfailed. - On success, return the resulting resource ID and useful links.
- On failure, return the job error and stop; do not retry the original request
unless the user asks.
- If the job remains in progress beyond the available task time, report its job
ID and latest status so it can be checked again later.
Report back
Summarize the action, exact target, result, and useful IDs or Canva URLs. Never include credentials, access tokens, or unnecessary raw response data.
Reference
- Canva CLI — installation,
authentication, profiles, and app-development commands.
canva api command discovery, inputs, response format, and async jobs.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/canva/skills/cli/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/canva-sdks/canva-skills/cli)