CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

canvas

Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status, canvas lists, visual maps, zones, spatial layouts, adding vault notes or media to a .canvas file, and requests such as create canvas, add to canvas, or put this on the canvas.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

85%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.

A strong, well-engineered skill body: product-specific rules, concrete commands, a safety-oriented transaction workflow with explicit validation and approval loops, and clean separation of format details into a single one-level-deep reference. The only room for improvement is trimming a few guard-rail explanations and supplying a couple more inline node-type examples.

Suggestions

Trim explanations of knowledge Claude already has (e.g. JSON \n escaping) in the 'Draft a mutation' section to tighten conciseness.

Add a minimal link or edge node example inline so the common node types are covered without opening the reference file.

Tighten the bullet list under 'Preview and apply' (fix the lowercase/semicolon inconsistency in 'dimensions are positive integers;') into a uniform validation checklist.

DimensionReasoningScore

Conciseness

The body is efficient and product-specific (transaction engine, vault path rules, z-order conventions) with no padded conceptual explanations, but a few guard-raiding lines explain things Claude already knows, e.g. "Escape line breaks in JSON strings as \n, not as literal backslash-plus-n text", and the link-node Open Graph egress disclosure runs long. This fits anchor 4 (efficient, minor instances that could be trimmed) better than anchor 5's 'every token earns its place'.

4 / 5

Actionability

Guidance is mostly executable: a concrete bash snippet resolving $CORE, a complete valid JSON node example, and copy-paste transaction commands ("python3 \"$CORE\" transaction inspect BUNDLE --vault VAULT"). Minor gaps remain — variables like APPROVAL_SHA256 and BUNDLE are placeholders the model must fill, and no link/group/edge JSON examples appear inline (they live in the reference file) — so anchor 4 fits better than anchor 5's fully covered common cases.

4 / 5

Workflow Clarity

The mutation workflow is clearly sequenced (read + record SHA-256s → draft preserving unknown fields → validate against an explicit checklist → build one bundle → inspect → apply with approved SHA) with explicit validation checkpoints, a checklist before preview, an inspect/approval-hash feedback loop, and a consent step for destructive edits. This matches anchor 5; importantly, the destructive-operation guideline (validation must exist to exceed 3) is satisfied, so no cap applies.

5 / 5

Progressive Disclosure

The 140-line body is a workflow overview, with format details appropriately split into references/canvas-spec.md (verified to exist, 301 lines) linked one level deep and clearly signaled ("Otherwise read [references/canvas-spec.md](...)") plus a clearly signaled product reference ("Read [operation-transactions.md](../wiki/references/operation-transactions.md)" with its resolution rule stated up front). This matches anchor 5's clear overview with well-signaled one-level-deep references.

5 / 5

Total

18

/

20

Passed

Description

100%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 is an exemplary skill description: concrete capabilities, explicit 'Use for...' trigger guidance with natural user phrasings and the file extension, and a clearly distinct Obsidian-canvas niche in consistent third-person voice. No weaknesses to flag.

DimensionReasoningScore

Specificity

"Create, inspect, and update Obsidian JSON Canvas boards" names multiple concrete actions and further enumerates the concrete object types ("text, file, link, group, and edge nodes"), giving comprehensive coverage of the skill's capabilities. Anchor 4 would apply if there were minor gaps, but the action verbs plus node/edge enumeration cover the domain completely.

5 / 5

Completeness

The "what" is explicit (create/inspect/update boards with the five node/edge types) and the "when" is explicit via "Use for ... and requests such as create canvas, add to canvas, or put this on the canvas" with concrete trigger phrases. Both halves are clearly and explicitly answered, matching the anchor-5 example structure; third-person voice is used throughout.

5 / 5

Trigger Term Quality

Natural user phrasing is comprehensively covered: "canvas status", "canvas lists", "visual maps", "zones", "spatial layouts", the ".canvas" file extension, and direct request phrasings like "create canvas", "add to canvas", "put this on the canvas". This matches the anchor-5 pattern of including synonyms and file extensions; no common variation is missing.

5 / 5

Distinctiveness Conflict Risk

"Obsidian JSON Canvas boards" and the ".canvas" extension define a clear niche with distinct triggers (canvas status, visual maps, add to canvas), so overlap risk with other skills is minimal. It is not generic like the anchor-2/3 examples and fits the anchor-5 'clear niche with distinct triggers' best.

5 / 5

Total

20

/

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

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository

AgriciDaniel/claude-obsidian

Path

skills/canvas/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.