canva-sdks/canva-skills/cli

Claude Code and agent skill by canva-sdks/canva-skills

Trust tier 3
  • community
Source check pending

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/cli

SKILL.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:

sh
npm install -g @canva/cli@latest

Before accessing Canva resources, ensure the intended user is logged in:

sh
canva login

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> --help to 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.json only when a nested JSON

payload cannot be expressed with flags.

Authenticate and validate

  • Commands act as the logged-in Canva account. Run canva login when 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 ok before treating a request as successful.
  • On success, use data for the API response.
  • On failure, report error.code, error.message, and relevant

meta.status; do not invent a recovery.

  • Consider next as 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 success or failed.
  • 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

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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/canva-sdks/canva-skills/cli/badge)](https://verified-skill.com/skills/canva-sdks/canva-skills/cli)

Something wrong with this skill or its page? Tell us.