CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

canva

Canva integration. Manage data, records, and automate workflows. Use when the user wants to interact with Canva data.

Quality

65%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/canva/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body delivers strong executable CLI guidance with a well-handled connection state machine including explicit recovery steps, which is the document's core value. Its weaknesses are padding Claude doesn't need (the Canva marketing intro and content-free entity list), a dangling "Step 2" cross-reference, and no concrete example of an actual Canva action.

Suggestions

Delete the "Canva is a user-friendly graphic design platform" intro paragraph and the "Canva Overview" entity list with "Use action names and parameters as needed." — Claude already knows what Canva is.

Fix the workflow numbering: either label "Step 1 / Step 2" explicitly or rewrite "skip to **Step 2**" to point at the actual section (e.g. "Searching for actions").

Merge "Searching for actions" and "Popular actions" into one section and include one or two real discovered Canva actions with sample --input JSON to show the pattern end-to-end.

DimensionReasoningScore

Conciseness

The intro paragraph ("Canva is a user-friendly graphic design platform... extensive template library") explains what Canva is — knowledge Claude already has — and the "Canva Overview" entity list followed by "Use action names and parameters as needed." is content-free; the action-discovery command also appears twice. The majority of the document is lean command-focused guidance, so this matches 'mostly efficient but includes some unnecessary explanation' rather than anchor 2's 'several padded sections'.

3 / 5

Actionability

Concrete, copy-paste-ready commands throughout (install, login, connection ensure, polling, action list/run with JSON input, proxy flag table). Minor gaps keep it below anchor 5: placeholders like <actionId> and CONNECTION_ID are never instantiated with a real Canva action or intent example, and the "Popular actions" section promises actions but only repeats the discovery command.

4 / 5

Workflow Clarity

There is a clear install → login → connect → poll → discover → run sequence with an explicit validation checkpoint: connection states (READY, BUILDING, CLIENT_ACTION_REQUIRED, CONFIGURATION_ERROR) each come with what-to-do-next guidance, including a re-poll feedback loop after user action. Minor gaps: "skip to **Step 2**" references a step label that does not exist, the "1b" heading implies an unlabeled numbering scheme, and discovery guidance is duplicated across two sections.

4 / 5

Progressive Disclosure

A single self-contained file with no nested or dead references (no bundle files exist), organized into clear sections. Minor organization gaps: the near-empty "Popular actions" section, "Running actions" nested oddly under it, and the floating "Canva Overview" hierarchy keep it below the anchor 5 ideal of effortless navigation.

4 / 5

Total

15

/

20

Passed

Description

48%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description correctly names the Canva domain and includes an explicit 'Use when' trigger, avoiding the worst failure modes. However, its capability statement is generic integration-skill boilerplate with no concrete Canva-specific actions or natural design vocabulary, making it read like a template filled in with any app's name.

Suggestions

Replace the generic capability clause with 2-3 concrete Canva actions, e.g. "Create and edit designs, list and apply templates, manage brand kits and folders from Canva."

Expand trigger terms to natural user phrasing: "Use when the user mentions Canva, wants to create or edit a design, social media post, presentation, template, or brand kit."

Make the 'when' clause non-circular by tying it to observable user intent (mentioning Canva or asking for visual content) rather than "interact with Canva data".

DimensionReasoningScore

Specificity

It names the domain ("Canva integration") but the actions — "Manage data, records, and automate workflows" — are entirely generic with no concrete Canva capability (no mention of designs, templates, brand kits, or folders as actions). This matches the anchor 'Names the domain but actions are minimal or generic' rather than anchor 3, which requires 1-2 concrete actions.

2 / 5

Completeness

An explicit when-clause is present ("Use when the user wants to interact with Canva data"), but the 'what' is buzzword-level ("Manage data, records, and automate workflows") and the 'when' is circular. It falls between anchors 3 and 4; because both halves are weak rather than just the 'when' being improvable, it sits below anchor 4's bar of a concrete 'what' paired with an explicit 'when'.

3 / 5

Trigger Term Quality

"Canva" is a strong natural keyword a user would actually say, but "data" and "records" are not terms users naturally use for design work, and common variations like "design", "template", "post", or "brand kit" are missing. Some relevant keywords exist, but synonym coverage is absent, matching anchor 3 rather than 4.

3 / 5

Distinctiveness Conflict Risk

"Canva integration" carves out a clear niche (a specific design app), but the generic phrasing "Manage data, records, and automate workflows" overlaps with virtually any app-integration skill. Mostly distinct with minor overlap risk against closely related design-tool integrations matches anchor 4; anchor 5 would require distinct concrete triggers, which the description lacks.

4 / 5

Total

12

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

membranedev/application-skills

Path

skills/canva/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.