{"id":"cece2be0-34e5-4127-9873-5c36cc655dcd","entityType":"agent","slug":"clawhub-oomol-oo-canva","name":"Canva","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oomol-oo-canva","canonicalPath":"/agent/clawhub-oomol-oo-canva","generatedAt":"2026-10-14T12:54:48.806Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:00:37.280Z","emptyReason":null},"description":"Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 993 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-canva","sourceUrl":"https://clawhub.ai/oomol/oo-canva","homepage":"https://clawhub.ai/oomol/skills/oo-canva","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/oomol/oo-canva","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/oomol/skills/oo-canva","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Canva technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:00:37.280Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:00:37.280Z","emptyReason":null},"stars":null,"forks":null,"downloads":993,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.4","tractionLabel":"993 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:00:37.219Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T21:00:37.280Z","lastCrawledAt":"2026-10-11T21:00:37.219Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T21:00:37.219Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.4","createdAt":"2026-09-20T03:35:48.048Z","changelog":"- Provides OOMOL-connected access to Canva through the `oo` CLI without handling raw tokens. - Creates Canva designs from presets, custom dimensions, images, existing designs, or brand templates. - Exports designs asynchronously and supports polling export job status and result URLs. - Uploads assets from public URLs and retrieves asset metadata, thumbnails, and upload job results. - Lists, reads, creates, and organizes Canva designs, folders, and folder items with pagination and filters. Source: `oomol-lab/skills@792ad44`","fileCount":3,"zipByteSize":3544},{"version":"1.0.3","createdAt":"2026-09-15T05:29:54.085Z","changelog":"- Operate Canva through the OOMOL `oo` CLI with server-managed credentials. - Create designs from presets, custom dimensions, images, existing designs, or brand templates. - Read Canva users, designs, assets, folders, export formats, and folder contents. - Start and monitor asynchronous design export and URL-based asset upload jobs. - Create folders and move Canva items, with confirmation safeguards for state-changing actions. Source: `oomol-lab/skills@75bac03`","fileCount":3,"zipByteSize":3743},{"version":"1.0.1","createdAt":"2026-06-09T10:23:12.785Z","changelog":"- Operates Canva through an OOMOL-connected account using the `oo` CLI and server-side credentials. - Supports creating designs from presets, custom dimensions, assets, existing designs, or brand templates. - Provides Canva design, asset, folder, user, and export-format lookup actions. - Handles asynchronous export and URL asset upload jobs with polling actions for job status and results. - Includes folder management capabilities for creating folders, listing folder items, and moving Canva items. Source: `oomol-lab/skills@146ef20`","fileCount":3,"zipByteSize":3642},{"version":"1.0.0","createdAt":"2026-06-03T14:31:41.796Z","changelog":"- Initial `oo-canva` skill release for operating Canva through an OOMOL-connected account via the `oo` CLI and Canva connector. - Supports creating Canva designs from presets, custom dimensions, uploaded image assets, existing designs, or brand templates. - Adds design discovery and metadata lookup, including listing designs, reading design details, and checking supported export formats. - Provides asynchronous export workflows for Canva designs, including export job creation and polling for result URLs. - Supports Canva asset workflows, including URL-based asset uploads, upload job polling, and asset metadata retrieval. - Adds folder management capabilities for listing folder contents, creating folders, and moving folder items while documenting confirmation requirements for state-changing actions.","fileCount":16,"zipByteSize":11255}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-canva","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-canva` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/oomol/oo-canva before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-14T12:54:48.805Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-canva/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:00:37.280Z","emptyReason":null},"readme":"Skill: Canva\n\nOwner: oomol\n\nSummary: Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly.\n\nTags: latest:1.0.4\n\nVersion history:\n\nv1.0.4 | 2026-09-20T03:35:48.048Z | user\n\n- Provides OOMOL-connected access to Canva through the `oo` CLI without handling raw tokens.\n- Creates Canva designs from presets, custom dimensions, images, existing designs, or brand templates.\n- Exports designs asynchronously and supports polling export job status and result URLs.\n- Uploads assets from public URLs and retrieves asset metadata, thumbnails, and upload job results.\n- Lists, reads, creates, and organizes Canva designs, folders, and folder items with pagination and filters.\n\nSource: `oomol-lab/skills@792ad44`\n\nv1.0.3 | 2026-09-15T05:29:54.085Z | user\n\n- Operate Canva through the OOMOL `oo` CLI with server-managed credentials.\n- Create designs from presets, custom dimensions, images, existing designs, or brand templates.\n- Read Canva users, designs, assets, folders, export formats, and folder contents.\n- Start and monitor asynchronous design export and URL-based asset upload jobs.\n- Create folders and move Canva items, with confirmation safeguards for state-changing actions.\n\nSource: `oomol-lab/skills@75bac03`\n\nv1.0.1 | 2026-06-09T10:23:12.785Z | user\n\n- Operates Canva through an OOMOL-connected account using the `oo` CLI and server-side credentials.\n- Supports creating designs from presets, custom dimensions, assets, existing designs, or brand templates.\n- Provides Canva design, asset, folder, user, and export-format lookup actions.\n- Handles asynchronous export and URL asset upload jobs with polling actions for job status and results.\n- Includes folder management capabilities for creating folders, listing folder items, and moving Canva items.\n\nSource: `oomol-lab/skills@146ef20`\n\nv1.0.0 | 2026-06-03T14:31:41.796Z | user\n\n- Initial `oo-canva` skill release for operating Canva through an OOMOL-connected account via the `oo` CLI and Canva connector.\n- Supports creating Canva designs from presets, custom dimensions, uploaded image assets, existing designs, or brand templates.\n- Adds design discovery and metadata lookup, including listing designs, reading design details, and checking supported export formats.\n- Provides asynchronous export workflows for Canva designs, including export job creation and polling for result URLs.\n- Supports Canva asset workflows, including URL-based asset uploads, upload job polling, and asset metadata retrieval.\n- Adds folder management capabilities for listing folder contents, creating folders, and moving folder items while documenting confirmation requirements for state-changing actions.\n\nArchive index:\n\nArchive v1.0.4: 3 files, 3544 bytes\n\nFiles: skill-card.md (1959b), SKILL.md (4712b), _meta.json (127b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: oo-canva\ndescription: \"Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Canva\"\n  author: \"OOMOL\"\n  version: \"1.0.4\"\n  services: [\"canva\"]\n  icon: \"https://static.oomol.com/logo/third-party/canva.png\"\n---\n\n# Canva\n\nOperate **Canva** through your OOMOL-connected account. This skill calls the `canva` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Canva. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"canva\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"canva\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_design` — Create a new Canva design from a preset type, custom dimensions, an optional image asset, an existing design, or a brand template. [write]\n- `create_design_export_job` — Start an asynchronous Canva export job for a design and return the job handle for polling. [write]\n- `create_folder` — Create a Canva folder at the top level, in uploads, or inside another folder. [write]\n- `create_url_asset_upload_job` — Start an asynchronous Canva asset upload job from a publicly accessible URL and return the job handle for polling. [write]\n- `get_asset` — Get metadata for a Canva asset, including owner, thumbnail, and type-specific metadata.\n- `get_current_user` — Get the Canva user and profile associated with the current OAuth token.\n- `get_design` — Get metadata for a Canva design, including owner, URLs, and thumbnail details.\n- `get_design_export_formats` — List the file formats currently available for exporting a Canva design.\n- `get_design_export_job` — Get the current status and result URLs for a Canva design export job created by create_design_export_job.\n- `get_url_asset_upload_job` — Get the current status and uploaded asset metadata for a Canva URL asset upload job.\n- `list_designs` — List metadata for the current Canva user's designs, with optional search, ownership, sorting, and pagination filters.\n- `list_folder_items` — List Canva folder contents, including folders, designs, and image assets, with pagination and filtering options.\n- `move_folder_item` — Move a Canva folder item to another Canva folder. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Canva state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Canva is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=canva\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Canva homepage: https://www.canva.com\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-canva\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1789875348048\n}\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nCanva (canva.com). Use this skill for reading, creating, and updating Canva data through an OOMOL-connected account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to operate Canva through the oo CLI, including creating designs, exporting designs, uploading URL assets, reading design and asset metadata, and organizing folders.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The first-time setup path includes remote installer commands that execute downloaded scripts directly.\n\nMitigation: Use a verified installation path, review the installer source, and confirm the CLI source before running installer commands.\n\nRisk: Some Canva connector actions create designs, folders, exports, uploads, or move folder items.\n\nMitigation: Confirm the exact payload and expected effect with the user before running write actions.\n\n## Reference(s):\n\n- [Canva homepage](https://www.canva.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n- [ClawHub Canva skill page](https://clawhub.ai/oomol/skills/oo-canva)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON connector responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Write actions can change Canva state and should be confirmed with the user before execution.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.3: 3 files, 3743 bytes\n\nFiles: skill-card.md (2336b), SKILL.md (4720b), _meta.json (127b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: oo-canva\ndescription: \"Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Canva\"\n  author: \"OOMOL\"\n  version: \"1.0.3\"\n  services: [\"canva\"]\n  icon: \"https://static.oomol.com/logo/third-party/canva.png\"\n---\n\n# Canva\n\nOperate **Canva** through your OOMOL-connected account. This skill calls the `canva` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Canva. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"canva\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"canva\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_design` — Create a new Canva design from a preset type, custom dimensions, an optional image asset, an existing design, or a brand template. [write]\n- `create_design_export_job` — Start an asynchronous Canva export job for a design and return the job handle for polling. [write]\n- `create_folder` — Create a Canva folder at the top level, in uploads, or inside another folder. [write]\n- `create_url_asset_upload_job` — Start an asynchronous Canva asset upload job from a publicly accessible URL and return the job handle for polling. [write]\n- `get_asset` — Get metadata for a Canva asset, including owner, thumbnail, and type-specific metadata.\n- `get_current_user` — Get the Canva user and profile associated with the current OAuth token.\n- `get_design` — Get metadata for a Canva design, including owner, URLs, and thumbnail details.\n- `get_design_export_formats` — List the file formats currently available for exporting a Canva design.\n- `get_design_export_job` — Get the current status and result URLs for a Canva design export job created by create_design_export_job.\n- `get_url_asset_upload_job` — Get the current status and uploaded asset metadata for a Canva URL asset upload job. [write]\n- `list_designs` — List metadata for the current Canva user's designs, with optional search, ownership, sorting, and pagination filters.\n- `list_folder_items` — List Canva folder contents, including folders, designs, and image assets, with pagination and filtering options.\n- `move_folder_item` — Move a Canva folder item to another Canva folder. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Canva state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Canva is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=canva\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Canva homepage: https://www.canva.com\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-canva\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1789450194085\n}\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\nEnables an agent to operate Canva through the OOMOL oo CLI connector for reading, creating, exporting, uploading, organizing, and moving Canva resources.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent work with Canva designs, assets, folders, exports, and upload jobs through a connected OOMOL account. It supports both read-only discovery and user-confirmed write actions such as creating designs, folders, exports, uploads, and item moves.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup flow can execute a remotely downloaded oo CLI installer without verification.\n\nMitigation: Review the installer source and prefer a verified official release or package manager before installation.\n\nRisk: Write actions can change Canva state by creating designs, creating folders, starting exports or uploads, or moving items.\n\nMitigation: Require explicit user approval for the exact action, payload, and expected effect before running any write action.\n\nRisk: The skill depends on an authenticated OOMOL-connected Canva account and may fail when authorization, scopes, billing, or credentials are unavailable.\n\nMitigation: Only perform setup or reconnection steps after a matching command failure and resolve account, scope, or billing errors before retrying.\n\n## Reference(s):\n\n- [Canva homepage](https://www.canva.com)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-canva)\n\n## Skill Output:\n\n**Output Type(s):** [text, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payload guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May produce Canva connector calls that return JSON data and asynchronous job handles.]\n\n## Skill Version(s):\n\n1.0.3 (source: frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.1: 3 files, 3642 bytes\n\nFiles: skill-card.md (2258b), SKILL.md (4720b), _meta.json (127b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: oo-canva\ndescription: \"Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Canva\"\n  author: \"OOMOL\"\n  version: \"1.0.1\"\n  services: [\"canva\"]\n  icon: \"https://static.oomol.com/logo/third-party/canva.png\"\n---\n\n# Canva\n\nOperate **Canva** through your OOMOL-connected account. This skill calls the `canva` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Canva. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"canva\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"canva\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_design` — Create a new Canva design from a preset type, custom dimensions, an optional image asset, an existing design, or a brand template. [write]\n- `create_design_export_job` — Start an asynchronous Canva export job for a design and return the job handle for polling. [write]\n- `create_folder` — Create a Canva folder at the top level, in uploads, or inside another folder. [write]\n- `create_url_asset_upload_job` — Start an asynchronous Canva asset upload job from a publicly accessible URL and return the job handle for polling. [write]\n- `get_asset` — Get metadata for a Canva asset, including owner, thumbnail, and type-specific metadata.\n- `get_current_user` — Get the Canva user and profile associated with the current OAuth token.\n- `get_design` — Get metadata for a Canva design, including owner, URLs, and thumbnail details.\n- `get_design_export_formats` — List the file formats currently available for exporting a Canva design.\n- `get_design_export_job` — Get the current status and result URLs for a Canva design export job created by create_design_export_job.\n- `get_url_asset_upload_job` — Get the current status and uploaded asset metadata for a Canva URL asset upload job. [write]\n- `list_designs` — List metadata for the current Canva user's designs, with optional search, ownership, sorting, and pagination filters.\n- `list_folder_items` — List Canva folder contents, including folders, designs, and image assets, with pagination and filtering options.\n- `move_folder_item` — Move a Canva folder item to another Canva folder. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Canva state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Canva is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=canva\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Canva homepage: https://www.canva.com\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-canva\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1781000592785\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nCanva (canva.com). Use this skill for any Canva request: reading, creating, and updating data through an OOMOL-connected account. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to let an agent read and manage Canva resources through an OOMOL-connected Canva account, including design creation, export jobs, asset uploads, folder operations, and metadata lookup. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can perform Canva write operations such as creating designs, starting exports, uploading URL assets, creating folders, and moving folder items. <br>\nMitigation: Review the exact action payload and expected Canva effect with the user before approving write operations. <br>\nRisk: The skill requires a connected Canva account through OOMOL and may rely on sensitive OAuth-backed credentials. <br>\nMitigation: Install and use it only when OOMOL access is intended, and run login or connection setup only after an authentication or connection failure. <br>\n\n\n## Reference(s): <br>\n- [Canva homepage](https://www.canva.com) <br>\n- [oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [ClawHub skill page](https://clawhub.ai/oomol/oo-canva) <br>\n- [Publisher profile](https://clawhub.ai/user/oomol) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON payload guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The skill may produce Canva connector responses, job identifiers, status results, and setup guidance through the oo CLI.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server-resolved release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0: 16 files, 11255 bytes\n\nFiles: actions/create_design_export_job.md (874b), actions/create_design.md (860b), actions/create_folder.md (799b), actions/create_url_asset_upload_job.md (905b), actions/get_asset.md (664b), actions/get_current_user.md (685b), actions/get_design_export_formats.md (737b), actions/get_design_export_job.md (751b), actions/get_design.md (666b), actions/get_url_asset_upload_job.md (859b), actions/list_designs.md (715b), actions/list_folder_items.md (730b), actions/move_folder_item.md (786b), skill-card.md (2271b), SKILL.md (5154b), _meta.json (127b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: oo-canva\ndescription: \"Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Canva\"\n  author: \"OOMOL\"\n  version: \"1.0.0\"\n  service: \"canva\"\n  categories: \"Design & Media, Productivity\"\n  homepage: \"https://www.canva.com\"\n  icon: \"https://static.oomol.com/logo/third-party/canva.png\"\n---\n\n# Canva\n\nOperate **Canva** through your OOMOL-connected account. This skill calls the `canva` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Design & Media, Productivity. Exposes 13 action(s).\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Canva. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"canva\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"canva\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`create_design`](actions/create_design.md) — Create a new Canva design from a preset type, custom dimensions, an optional image asset, an existing design, or a brand template.\n- [`create_design_export_job`](actions/create_design_export_job.md) — Start an asynchronous Canva export job for a design and return the job handle for polling.\n- [`create_folder`](actions/create_folder.md) — Create a Canva folder at the top level, in uploads, or inside another folder.\n- [`create_url_asset_upload_job`](actions/create_url_asset_upload_job.md) — Start an asynchronous Canva asset upload job from a publicly accessible URL and return the job handle for polling.\n- [`get_asset`](actions/get_asset.md) — Get metadata for a Canva asset, including owner, thumbnail, and type-specific metadata.\n- [`get_current_user`](actions/get_current_user.md) — Get the Canva user and profile associated with the current OAuth token.\n- [`get_design`](actions/get_design.md) — Get metadata for a Canva design, including owner, URLs, and thumbnail details.\n- [`get_design_export_formats`](actions/get_design_export_formats.md) — List the file formats currently available for exporting a Canva design.\n- [`get_design_export_job`](actions/get_design_export_job.md) — Get the current status and result URLs for a Canva design export job created by create_design_export_job.\n- [`get_url_asset_upload_job`](actions/get_url_asset_upload_job.md) — Get the current status and uploaded asset metadata for a Canva URL asset upload job.\n- [`list_designs`](actions/list_designs.md) — List metadata for the current Canva user's designs, with optional search, ownership, sorting, and pagination filters.\n- [`list_folder_items`](actions/list_folder_items.md) — List Canva folder contents, including folders, designs, and image assets, with pagination and filtering options.\n- [`move_folder_item`](actions/move_folder_item.md) — Move a Canva folder item to another Canva folder.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Canva state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Canva is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=canva\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Canva homepage: https://www.canva.com\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-canva\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780497101796\n}\n\nFile v1.0.0:actions/create_design_export_job.md\n\n# Canva · `create_design_export_job`\n\nStart an asynchronous Canva export job for a design and return the job handle for polling.\n\n- **Service**: `canva`\n- **Action**: `create_design_export_job`\n- **Action id**: `canva.create_design_export_job`\n- **Required scopes**: canva.design.content.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"create_design_export_job\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"create_design_export_job\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Canva state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_design.md\n\n# Canva · `create_design`\n\nCreate a new Canva design from a preset type, custom dimensions, an optional image asset, an existing design, or a brand template.\n\n- **Service**: `canva`\n- **Action**: `create_design`\n- **Action id**: `canva.create_design`\n- **Required scopes**: canva.design.content.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"create_design\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"create_design\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Canva state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_folder.md\n\n# Canva · `create_folder`\n\nCreate a Canva folder at the top level, in uploads, or inside another folder.\n\n- **Service**: `canva`\n- **Action**: `create_folder`\n- **Action id**: `canva.create_folder`\n- **Required scopes**: canva.folder.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"create_folder\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"create_folder\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Canva state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_url_asset_upload_job.md\n\n# Canva · `create_url_asset_upload_job`\n\nStart an asynchronous Canva asset upload job from a publicly accessible URL and return the job handle for polling.\n\n- **Service**: `canva`\n- **Action**: `create_url_asset_upload_job`\n- **Action id**: `canva.create_url_asset_upload_job`\n- **Required scopes**: canva.asset.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"create_url_asset_upload_job\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"create_url_asset_upload_job\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Canva state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/get_asset.md\n\n# Canva · `get_asset`\n\nGet metadata for a Canva asset, including owner, thumbnail, and type-specific metadata.\n\n- **Service**: `canva`\n- **Action**: `get_asset`\n- **Action id**: `canva.get_asset`\n- **Required scopes**: canva.asset.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"get_asset\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"get_asset\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_current_user.md\n\n# Canva · `get_current_user`\n\nGet the Canva user and profile associated with the current OAuth token.\n\n- **Service**: `canva`\n- **Action**: `get_current_user`\n- **Action id**: `canva.get_current_user`\n- **Required scopes**: canva.profile.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"get_current_user\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"get_current_user\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_design_export_formats.md\n\n# Canva · `get_design_export_formats`\n\nList the file formats currently available for exporting a Canva design.\n\n- **Service**: `canva`\n- **Action**: `get_design_export_formats`\n- **Action id**: `canva.get_design_export_formats`\n- **Required scopes**: canva.design.content.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"get_design_export_formats\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"get_design_export_formats\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_design_export_job.md\n\n# Canva · `get_design_export_job`\n\nGet the current status and result URLs for a Canva design export job created by create_design_export_job.\n\n- **Service**: `canva`\n- **Action**: `get_design_export_job`\n- **Action id**: `canva.get_design_export_job`\n- **Required scopes**: canva.design.content.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"get_design_export_job\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"get_design_export_job\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_design.md\n\n# Canva · `get_design`\n\nGet metadata for a Canva design, including owner, URLs, and thumbnail details.\n\n- **Service**: `canva`\n- **Action**: `get_design`\n- **Action id**: `canva.get_design`\n- **Required scopes**: canva.design.meta.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"get_design\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"get_design\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_url_asset_upload_job.md\n\n# Canva · `get_url_asset_upload_job`\n\nGet the current status and uploaded asset metadata for a Canva URL asset upload job.\n\n- **Service**: `canva`\n- **Action**: `get_url_asset_upload_job`\n- **Action id**: `canva.get_url_asset_upload_job`\n- **Required scopes**: canva.asset.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"canva\" --action \"get_url_asset_upload_job\"\n```\n\n## Run\n\n```bash\noo connector run \"canva\" --action \"get_url_asset_upload_job\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Canva state. Confirm the exact payload and intended effect with the user before running.","readmeExcerpt":"Skill: Canva Owner: oomol Summary: Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly. Tags: latest:1.0.4 Version history: v1.0.4 | 2026-09-20T03:35:48.048Z | user - Provides OOMOL-connected access to Canva through the oo CLI without handling raw tokens. - Creates Canva designs from presets,","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"oo connector schema \"canva\" --action \"<action_name>\""},{"language":"bash","snippet":"oo connector run \"canva\" --action \"<action_name>\" --data '<json>' --json"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"powershell","snippet":"irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell"},{"language":"bash","snippet":"oo auth login"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: oo-canva\ndescription: \"Canva (canva.com). Use this skill for ANY Canva request — reading, creating, and updating data. Whenever a task involves Canva, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Canva\"\n  author: \"OOMOL\"\n  version: \"1.0.4\"\n  services: [\"canva\"]\n  icon: \"https://static.oomol.com/logo/third-party/canva.png\"\n---\n\n# Canva\n\nOperate **Canva** through your OOMOL-connected account. This skill calls the `canva` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Canva. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"canva\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"canva\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_design` — Create a new Canva design from a preset type, custom dimensions, an optional image asset, an existing design, or a brand template. [write]\n- `create_design_export_job` — Start an asynchronous Canva export job for a design and return the job handle for polling. [write]\n- `create_folder` — Create a Canva folder at the top level, in uploads, or inside another folder. [write]\n- `create_url_asset_upload_job` — Start an asynchronous Canva asset upload job from a publicly accessible URL and return the job handle for polling. [write]\n- `get_asset` — Get metadata for a Canva asset, including owner, thumbnail, and type-specific metadata.\n- `get_current_user` — Get the Canva user and profile associated with the current OAuth token.\n- `get_design` — Get metadata for a Canva design, including owner, URLs, and thumbnail details.\n- `get_design_export_formats` — List the file formats currently available for exporting a Canva design.\n- `get_design_export_job` — Get the current status and result URLs for a Canva design export job created by create_design_export_job.\n- `get_url_asset_upload_job` — Get the current status and uploaded asset metadata for a Canva URL asset upload job.\n- `list_designs` — List metadata for the curre"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-canva\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1789875348048\n}"},{"path":"skill-card.md","content":"## Description:\n\nCanva (canva.com). Use this skill for reading, creating, and updating Canva data through an OOMOL-connected account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to operate Canva through the oo CLI, including creating designs, exporting designs, uploading URL assets, reading design and asset metadata, and organizing folders.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The first-time setup path includes remote installer commands that execute downloaded scripts directly.\n\nMitigation: Use a verified installation path, review the installer source, and confirm the CLI source before running installer commands.\n\nRisk: Some Canva connector actions create designs, folders, exports, uploads, or move folder items.\n\nMitigation: Confirm the exact payload and expected effect with the user before running write actions.\n\n## Reference(s):\n\n- [Canva homepage](https://www.canva.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n- [ClawHub Canva skill page](https://clawhub.ai/oomol/skills/oo-canva)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON connector responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Write actions can change Canva state and should be confirmed with the user before execution.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1356,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T21:00:37.280Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T21:00:37.280Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-14T12:54:48.806Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}