CtrlK
BlogDocsLog inGet started
Tessl Logo

json-canvas

Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.

79

1.12x
Quality

71%

Does it follow best practices?

Impact

96%

1.12x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/all-skills/skills/json-canvas/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

100%

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

This is an excellent skill description that hits all the key criteria. It provides specific capabilities (create/edit with nodes, edges, groups, connections), includes a well-formed 'Use when...' clause with diverse natural trigger terms (mind maps, flowcharts, Obsidian), and occupies a clearly distinct niche that minimizes conflict risk with other skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.' This names the domain (JSON Canvas), the file format (.canvas), and specific structural elements (nodes, edges, groups, connections).

3 / 3

Completeness

Clearly answers both 'what' (create and edit JSON Canvas files with nodes, edges, groups, and connections) and 'when' (explicit 'Use when...' clause covering .canvas files, visual canvases, mind maps, flowcharts, and Obsidian context).

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: '.canvas files', 'visual canvases', 'mind maps', 'flowcharts', 'Canvas files', 'Obsidian'. These cover multiple natural variations of how users might refer to this functionality.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with clear niche triggers: JSON Canvas, .canvas file extension, Obsidian-specific context. Unlikely to conflict with other skills since it targets a very specific file format and ecosystem.

3 / 3

Total

12

/

12

Passed

Implementation

42%

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

The skill is highly actionable with excellent, complete JSON examples covering all node types and common use cases. However, it is far too verbose for a SKILL.md, essentially embedding an entire specification reference inline rather than providing a concise overview with pointers to detailed reference material. The lack of progressive disclosure and the inclusion of information Claude could infer (basic attribute tables, concept explanations) significantly inflate token cost.

Suggestions

Extract the detailed attribute tables, complete examples (keep only one simple example inline), and layout guidelines into separate reference files (e.g., REFERENCE.md, EXAMPLES.md) and link to them from the main SKILL.md.

Remove the 'When to Use This Skill' and 'Overview' sections — these describe concepts Claude already knows and are covered by the skill's metadata/description.

Condense the main SKILL.md to a quick-start section showing the basic file structure, one minimal complete example, key validation rules, and links to detailed references.

Add a brief explicit workflow for creating/editing canvas files (e.g., 1. Create/read file → 2. Build nodes array → 3. Build edges referencing node IDs → 4. Validate IDs are unique and edges reference existing nodes → 5. Write .canvas file).

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~300+ lines, functioning as a full spec reference document. Much of this (attribute tables, background styles, end shapes, side values) is reference material that Claude could infer or that could be in a separate file. The 'When to Use This Skill' section and the overview explaining what JSON Canvas is are unnecessary padding. Four complete examples is excessive when one or two would suffice.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready JSON examples for every node type and multiple complete canvas scenarios (mind map, project board, flowchart, research canvas). The attribute tables with types and required/optional status give precise guidance for constructing valid canvas files.

3 / 3

Workflow Clarity

This is primarily a reference/format skill rather than a multi-step workflow, so the bar is lower. However, the validation rules are listed at the end as a checklist which is good, but there's no explicit workflow for creating or editing a canvas file (e.g., read existing → parse → modify → validate → write). For a skill involving file creation/editing, a brief workflow sequence would improve clarity.

2 / 3

Progressive Disclosure

The entire spec reference, all examples, layout guidelines, and validation rules are inlined in a single monolithic file. The attribute tables, four complete examples, and detailed reference material should be split into separate files (e.g., EXAMPLES.md, REFERENCE.md) with the SKILL.md providing a concise overview and links. No bundle files exist to offload this content.

1 / 3

Total

7

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (570 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Repository
davepoon/buildwithclaude
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.