Automates Canva via Rube MCP (Composio): list/browse designs, create from templates/assets, upload files, manage folders/brand kits. Requires active OAuth connection.
From antigravity-awesome-skillsnpx claudepluginhub sickn33/antigravity-awesome-skills --plugin antigravity-awesome-skillsThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Automate Canva design operations through Composio's Canva toolkit via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkit canvaRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit canvaWhen to use: User wants to find existing designs or browse their Canva library
Tool sequence:
CANVA_LIST_USER_DESIGNS - List all designs with optional filters [Required]Key parameters:
query: Search term to filter designs by namecontinuation: Pagination token from previous responseownership: Filter by 'owned', 'shared', or 'any'sort_by: Sort field (e.g., 'modified_at', 'title')Pitfalls:
continuation token until absentWhen to use: User wants to create a new Canva design from scratch or from a template
Tool sequence:
CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST - Browse available brand templates [Optional]CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET - Create a new design [Required]Key parameters:
design_type: Type of design (e.g., 'Presentation', 'Poster', 'SocialMedia')title: Name for the new designasset_id: Optional asset to include in the designwidth / height: Custom dimensions in pixelsPitfalls:
When to use: User wants to upload images or files to Canva for use in designs
Tool sequence:
CANVA_CREATE_ASSET_UPLOAD_JOB - Initiate the asset upload [Required]CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS - Poll until upload completes [Required]Key parameters:
name: Display name for the asseturl: Public URL of the file to upload (for URL-based uploads)job_id: Upload job ID returned from step 1 (for status polling)Pitfalls:
job_id from CREATE returns the ID needed for status pollingWhen to use: User wants to download or export a Canva design as PDF, PNG, or other format
Tool sequence:
CANVA_LIST_USER_DESIGNS - Find the design to export [Prerequisite]CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB - Start the export process [Required]CANVA_GET_DESIGN_EXPORT_JOB_RESULT - Poll until export completes and get download URL [Required]Key parameters:
design_id: ID of the design to exportformat: Export format ('pdf', 'png', 'jpg', 'svg', 'mp4', 'gif', 'pptx')pages: Specific page numbers to export (array)quality: Export quality ('regular', 'high')job_id: Export job ID for polling statusPitfalls:
When to use: User wants to create folders or organize designs into folders
Tool sequence:
CANVA_POST_FOLDERS - Create a new folder [Required]CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER - Move designs into folders [Optional]Key parameters:
name: Folder nameparent_folder_id: Parent folder for nested organizationitem_id: ID of the design or asset to movefolder_id: Target folder IDPitfalls:
When to use: User wants to generate designs by filling brand template placeholders with data
Tool sequence:
CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST - List available brand templates [Required]CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB - Start autofill with data [Required]Key parameters:
brand_template_id: ID of the brand template to usetitle: Title for the generated designdata: Key-value mapping of placeholder names to replacement valuesPitfalls:
Many Canva operations are asynchronous:
1. Initiate job (upload, export, autofill) -> get job_id
2. Poll status endpoint with job_id every 2-3 seconds
3. Check for 'success' or 'failed' status
4. On success, extract result (asset_id, download_url, design_id)
Design name -> Design ID:
1. Call CANVA_LIST_USER_DESIGNS with query=design_name
2. Find matching design in results
3. Extract id field
Brand template name -> Template ID:
1. Call CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST
2. Find template by name
3. Extract brand_template_id
continuation tokencontinuation parametercontinuation is absent or emptyAsync Operations:
Asset Management:
Rate Limits:
Response Parsing:
data key| Task | Tool Slug | Key Params |
|---|---|---|
| List designs | CANVA_LIST_USER_DESIGNS | query, continuation |
| Create design | CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET | design_type, title |
| Upload asset | CANVA_CREATE_ASSET_UPLOAD_JOB | name, url |
| Check upload | CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS | job_id |
| Export design | CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB | design_id, format |
| Get export | CANVA_GET_DESIGN_EXPORT_JOB_RESULT | job_id |
| Create folder | CANVA_POST_FOLDERS | name, parent_folder_id |
| Move to folder | CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER | item_id, folder_id |
| List templates | CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST | (none) |
| Autofill template | CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB | brand_template_id, data |
This skill is applicable to execute the workflow or actions described in the overview.