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
71%
Does it follow best practices?
Impact
96%
1.12xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/all-skills/skills/json-canvas/SKILL.mdQuality
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.
| Dimension | Reasoning | Score |
|---|---|---|
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).
| Dimension | Reasoning | Score |
|---|---|---|
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.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | |
74c7031
Table of Contents
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.