← 返回 Skills 市场
jiangwill2023

Canva Skill

作者 jiangwill2023 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
69
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install canva-skill
功能描述
Create, export, upload assets to, and manage Canva designs via the Canva Connect API. Use when the user wants to create social posts, posters, PPT/slide visu...
使用说明 (SKILL.md)

Canva Skill

Use Canva Connect API for design creation, export, and asset upload workflows.

Prerequisites

Create a Canva Integration:

  1. Go to https://www.canva.com/developers/
  2. Create a new integration
  3. Get your Client ID and Client Secret

Set environment variables:

export CANVA_CLIENT_ID="your_client_id"
export CANVA_CLIENT_SECRET="your_client_secret"

Authenticate on first use and store tokens in ~/.canva/tokens.json.

API Base URL

https://api.canva.com/rest/v1

Authentication

Get access token from local token file:

ACCESS_TOKEN=$(cat ~/.canva/tokens.json | jq -r '.access_token')

Refresh tokens automatically when the auth flow supports it.

Core Operations

List Designs

curl -s "https://api.canva.com/rest/v1/designs" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq .

Get Design Details

curl -s "https://api.canva.com/rest/v1/designs/{designId}" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq .

Create Design from Template

curl -X POST "https://api.canva.com/rest/v1/autofills" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "brand_template_id": "TEMPLATE_ID",
    "data": {
      "title": {"type": "text", "text": "Your Title"},
      "body": {"type": "text", "text": "Your body text"}
    }
  }'

Export Design

Start export job:

curl -X POST "https://api.canva.com/rest/v1/exports" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "design_id": "DESIGN_ID",
    "format": {"type": "png", "width": 1080, "height": 1080}
  }'

Check export status:

curl -s "https://api.canva.com/rest/v1/exports/{jobId}" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq .

Upload Asset

curl -X POST "https://api.canva.com/rest/v1/asset-uploads" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/octet-stream" \
  -H 'Asset-Upload-Metadata: {"name": "my-image.png"}' \
  --data-binary @image.png

List Brand Templates

curl -s "https://api.canva.com/rest/v1/brand-templates" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq .

Export Formats

  • PNG: width, height, lossless
  • JPG: width, height, quality (1-100)
  • PDF: standard, print
  • MP4: for video designs
  • GIF: for animated designs

Common Workflows

Create Instagram Post

  1. List brand templates
  2. Find an Instagram post template
  3. Autofill with content
  4. Export as PNG 1080x1080
  5. Download exported file

Create Carousel

  1. Create multiple designs using autofill
  2. Export each as PNG
  3. Combine for posting

Batch Export

  1. List designs
  2. Loop through and export each
  3. Download all files

Error Handling

Handle common errors clearly:

  • 401: Token expired, refresh needed
  • 403: Missing required scope
  • 404: Design/template not found
  • 429: Rate limit exceeded

Required Scopes

  • design:content:read
  • design:content:write
  • asset:read
  • asset:write
  • brandtemplate:content:read

Tips

  • Prefer Brand Templates for posters and slides when available.
  • Batch exports to reduce repetitive work.
  • Cache commonly used template IDs locally.
  • Poll export jobs until complete before downloading.

Current Status

This local skill skeleton is installed in the workspace, but Canva API use is not ready until the integration credentials and first-time OAuth authentication are completed.

安全使用建议
This skill appears to implement real Canva API workflows, but its published metadata fails to declare the sensitive things the SKILL.md requires. Before installing or using it: - Verify the skill's source and trustworthiness (publisher identity is unknown here). - Expect to provide CANVA_CLIENT_ID and CANVA_CLIENT_SECRET and to perform OAuth; do not give broader credentials than necessary. Limit granted scopes to the minimum listed in SKILL.md. - The skill will store access tokens at ~/.canva/tokens.json — ensure you are comfortable with tokens on disk and set restrictive file permissions. - Prefer using a secure secret store rather than echoing secrets into shell exports in shared environments. - Ask the publisher to update the registry metadata to declare required env vars and config paths (CANVA_CLIENT_ID, CANVA_CLIENT_SECRET, ~/.canva/tokens.json). That change would remove the main incoherence. If you cannot verify the publisher, avoid installing or run it in an isolated environment (throwaway account or sandbox).
功能分析
Type: OpenClaw Skill Name: canva-skill Version: 1.0.0 The canva-skill bundle provides standard documentation and command templates for interacting with the official Canva Connect API (api.canva.com). It uses common CLI tools like curl and jq to perform legitimate design management tasks, such as listing designs, uploading assets, and exporting files. No evidence of malicious intent, unauthorized data exfiltration, or prompt injection attacks was found in SKILL.md or _meta.json.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The SKILL.md describes standard Canva Connect API operations (create, export, upload, autofill) which are consistent with the skill name and description. However, the package metadata lists no required environment variables or config paths even though the runtime instructions require a Client ID/Secret and a local token file (~/.canva/tokens.json). That mismatch is unexpected and reduces trustworthiness.
Instruction Scope
Runtime instructions explicitly tell the agent to read credentials from environment variables (CANVA_CLIENT_ID, CANVA_CLIENT_SECRET), to read/write a token file at ~/.canva/tokens.json, and to upload local files (e.g., @image.png). Those file/env accesses are narrowly scoped to Canva usage, but they are not declared in the skill metadata and therefore represent scope/visibility drift in the published manifest.
Install Mechanism
No install spec or code files are present; this is an instruction-only skill. That is low-risk from an installation/execution perspective because nothing is downloaded or written by an installer.
Credentials
The credentials requested by the SKILL.md (Client ID, Client Secret, and stored access/refresh tokens) are proportionate to integrating with Canva. However, the skill metadata does not declare these required environment variables or the token file path. The lack of declared sensitive requirements is a metadata/visibility problem: the skill will ask for secrets at runtime without declaring them up-front in the registry entry.
Persistence & Privilege
The skill does not request elevated platform privileges or permanent 'always' inclusion. It does instruct storing OAuth tokens under ~/.canva/tokens.json, which is reasonable for an OAuth-based workflow but should have been declared as a required config path.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install canva-skill
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /canva-skill 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of canva-skill: - Allows users to create, export, and manage Canva designs via the Canva Connect API. - Supports listing recent designs, uploading assets, and exporting designs as PNG, JPG, PDF, MP4, or GIF. - Enables autofilling of brand templates with custom content. - Includes detailed usage instructions, authentication setup, required API scopes, and common workflows. - Provides error handling guidance and export tips.
元数据
Slug canva-skill
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Canva Skill 是什么?

Create, export, upload assets to, and manage Canva designs via the Canva Connect API. Use when the user wants to create social posts, posters, PPT/slide visu... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 69 次。

如何安装 Canva Skill?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install canva-skill」即可一键安装,无需额外配置。

Canva Skill 是免费的吗?

是的,Canva Skill 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Canva Skill 支持哪些平台?

Canva Skill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Canva Skill?

由 jiangwill2023(@jiangwill2023)开发并维护,当前版本 v1.0.0。

💬 留言讨论