canva هشدار

Manage Canva designs, assets, and folders via the Connect API. WHAT IT CAN DO: - List/search/organize designs and folders - Export finished designs (PNG/PDF/JPG) - Upload images to asset library - Autofill brand templates with data - Create blank designs (doc/presentation/whiteboard/custom) WHAT IT CANNOT DO: - Add content to designs (text, shapes, elements) - Edit existing design content - Upload documents (images only) - AI design generation Best for: asset pipelines, export automation, organization, template autofill. Triggers: /canva, "upload to canva", "export design", "list my designs", "canva folder".

72از ۱۰۰
۱.۰k
ستاره
۱۴
دانلود
۳۹
بازدید

// نصب مهارت

نصب مهارت

مهارت‌ها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناخته‌شده را اسکن می‌کند اما نمی‌تواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.

نصب سراسری (سطح کاربر):

npx skillhub install openclaw/skills/canva

نصب در پروژه فعلی:

npx skillhub install openclaw/skills/canva --project

skill.install.customTargetHelp

npx skillhub install openclaw/skills/canva --target-dir /path/to/skills

مسیر پیشنهادی: ~/.claude/skills/canva/

بررسی هوش مصنوعی

72
از ۱۰۰
کیفیت دستورالعمل72
دقت توضیحات78
کاربردی بودن67
صحت فنی75

Scored 72 for solid Canva Connect API automation with a comprehensive 16KB script and clear command reference. Strengths: 5 trigger phrases, CAN/CANNOT DO scope table, real OAuth PKCE implementation, 4 realistic use-case pipelines. Gaps: no decision points, thin troubleshooting (3 items only), bash-only with heavy dependency chain (python3+jq+openssl+curl).

productionmoderatedesignersmarketing-teamscontent-creatorsdesign-exportasset-pipelinetemplate-autofilldesign-organization
بررسی‌شده توسط claude-code در تاریخ ۱۴۰۵/۳/۴

محتوای SKILL.md

---
name: canva
version: 1.0.0
description: |
  Manage Canva designs, assets, and folders via the Connect API.
  
  WHAT IT CAN DO:
  - List/search/organize designs and folders
  - Export finished designs (PNG/PDF/JPG)
  - Upload images to asset library
  - Autofill brand templates with data
  - Create blank designs (doc/presentation/whiteboard/custom)
  
  WHAT IT CANNOT DO:
  - Add content to designs (text, shapes, elements)
  - Edit existing design content
  - Upload documents (images only)
  - AI design generation
  
  Best for: asset pipelines, export automation, organization, template autofill.
  Triggers: /canva, "upload to canva", "export design", "list my designs", "canva folder".
author: clawdbot
license: MIT
metadata:
  clawdbot:
    emoji: "🎨"
    triggers: ["/canva"]
    requires:
      env:
        - CANVA_CLIENT_ID
        - CANVA_CLIENT_SECRET
    primaryEnv: CANVA_CLIENT_ID
    homepage: https://canva.dev/docs/connect/
---

# Canva Connect

Manage Canva designs, assets, and folders via the Connect API.

## What This Skill Does (and Doesn't Do)

| ✅ CAN DO | ❌ CANNOT DO |
|-----------|--------------|
| List/search designs | Add content to designs |
| Create blank designs | Edit existing design content |
| Export designs (PNG/PDF/JPG) | Upload documents (images only) |
| Create/manage folders | AI design generation |
| Move items between folders | |
| Upload images as assets | |
| Autofill brand templates | |

## Realistic Use Cases

**1. Asset Pipeline** 🖼️
```
Generate diagram → upload to Canva → organize in project folder
```

**2. Export Automation** 📤
```
Design finished in Canva → export via CLI → use in docs/website
```

**3. Design Organization** 📁
```
Create project folders → move related designs → keep Canva tidy
```

**4. Brand Template Autofill** 📋
```
Set up template in Canva → pass data via API → get personalized output
```

## Quick Start

```bash
# Authenticate (opens browser for OAuth)
{baseDir}/scripts/canva.sh auth

# List your designs
{baseDir}/scripts/canva.sh designs list

# Create a new design
{baseDir}/scripts/canva.sh designs create --type doc --title "My Document"

# Export a design
{baseDir}/scripts/canva.sh export <design_id> --format pdf
```

## Setup

### 1. Create Canva Integration

1. Go to [canva.com/developers/integrations](https://canva.com/developers/integrations)
2. Click **Create an integration**
3. Set scopes:
   - `design:content` (Read + Write)
   - `design:meta` (Read)
   - `asset` (Read + Write)
   - `brandtemplate:meta` (Read)
   - `brandtemplate:content` (Read)
   - `profile` (Read)
4. Set OAuth redirect: `http://127.0.0.1:3001/oauth/redirect`
5. Note **Client ID** and generate **Client Secret**

### 2. Configure Environment

Add to `~/.clawdbot/clawdbot.json` under `skills.entries`:

```json
{
  "skills": {
    "entries": {
      "canva": {
        "clientId": "YOUR_CLIENT_ID",
        "clientSecret": "YOUR_CLIENT_SECRET"
      }
    }
  }
}
```

Or set environment variables:
```bash
export CANVA_CLIENT_ID="your_client_id"
export CANVA_CLIENT_SECRET="your_client_secret"
```

### 3. Authenticate

```bash
{baseDir}/scripts/canva.sh auth
```

Opens browser for OAuth consent. Tokens stored in `~/.clawdbot/canva-tokens.json`.

## Commands

### Authentication
| Command | Description |
|---------|-------------|
| `auth` | Start OAuth flow (opens browser) |
| `auth status` | Check authentication status |
| `auth logout` | Clear stored tokens |

### Designs
| Command | Description |
|---------|-------------|
| `designs list [--limit N]` | List your designs |
| `designs get <id>` | Get design details |
| `designs create --type <type> --title <title>` | Create new design |
| `designs delete <id>` | Move design to trash |

**Design types:** `doc`, `presentation`, `whiteboard`, `poster`, `instagram_post`, `facebook_post`, `video`, `logo`, `flyer`, `banner`

### Export
| Command | Description |
|---------|-------------|
| `export <design_id> --format <fmt>` | Export design |
| `export status <job_id>` | Check export job status |

**Formats:** `pdf`, `png`, `jpg`, `gif`, `pptx`, `mp4`

### Assets
| Command | Description |
|---------|-------------|
| `assets list` | List uploaded assets |
| `assets upload <file> [--name <name>]` | Upload asset |
| `assets get <id>` | Get asset details |
| `assets delete <id>` | Delete asset |

### Brand Templates
| Command | Description |
|---------|-------------|
| `templates list` | List brand templates |
| `templates get <id>` | Get template details |
| `autofill <template_id> --data <json>` | Autofill template with data |

### Folders
| Command | Description |
|---------|-------------|
| `folders list` | List folders |
| `folders create <name>` | Create folder |
| `folders get <id>` | Get folder contents |

### User
| Command | Description |
|---------|-------------|
| `me` | Get current user profile |

## Examples

### Create and Export a Poster
```bash
# Create
{baseDir}/scripts/canva.sh designs create --type poster --title "Event Poster"

# Export as PNG
{baseDir}/scripts/canva.sh export DAF... --format png --output ./poster.png
```

### Upload Brand Assets
```bash
# Upload logo
{baseDir}/scripts/canva.sh assets upload ./logo.png --name "Company Logo"

# Upload multiple
for f in ./brand/*.png; do
  {baseDir}/scripts/canva.sh assets upload "$f"
done
```

### Autofill a Template
```bash
# List available templates
{baseDir}/scripts/canva.sh templates list

# Autofill with data
{baseDir}/scripts/canva.sh autofill TEMPLATE_ID --data '{
  "title": "Q1 Report",
  "subtitle": "Financial Summary",
  "date": "January 2026"
}'
```

## API Reference

Base URL: `https://api.canva.com/rest`

See [references/api.md](references/api.md) for detailed endpoint documentation.

## Troubleshooting

### Token Expired
```bash
{baseDir}/scripts/canva.sh auth  # Re-authenticate
```

### Rate Limited
The API has per-endpoint rate limits. The script handles backoff automatically.

### Missing Scopes
If operations fail with 403, ensure your integration has the required scopes enabled.

## Data Files

| File | Purpose |
|------|---------|
| `~/.clawdbot/canva-tokens.json` | OAuth tokens (encrypted) |
| `~/.clawdbot/canva-cache.json` | Response cache |

مجوز

مجوز اعلام‌شده: MIT

MIT License

Copyright (c) 2026 clawdbot

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

مشاهدهٔ مجوز در مخزن منبعنسخهٔ منتشرشده در آن‌جا مرجع است.

canva | SkillHub | SkillHub