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 concisely specifies concrete capabilities (create/edit with nodes, edges, groups, connections), includes a clear 'Use when' clause with diverse natural trigger terms (mind maps, flowcharts, Obsidian), and occupies a distinct niche that won't conflict with other skills. Uses proper third-person voice throughout.
| 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 format, file extension, and specific structural elements. | 3 / 3 |
Completeness | Clearly answers both what ('Create and edit JSON Canvas files with nodes, edges, groups, and connections') and when ('Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: '.canvas files', 'visual canvases', 'mind maps', 'flowcharts', 'Canvas files', 'Obsidian', 'JSON Canvas'. Good coverage of both technical and natural terms. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with clear niche: JSON Canvas / .canvas files in Obsidian. The specific file format, extension, and application context (Obsidian) make it very unlikely to conflict with other skills. | 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.
This skill is essentially a full JSON Canvas specification transcribed into a SKILL.md, providing excellent actionability with complete, executable examples but at the cost of extreme verbosity. The content would benefit significantly from splitting reference material (attribute tables, multiple examples, layout guidelines) into separate bundle files, keeping only a concise overview and one example in the main skill. The lack of an explicit editing workflow and validation steps is a missed opportunity.
Suggestions
Split attribute tables, color references, and layout guidelines into a separate REFERENCE.md file, keeping only the core file structure and one complete example in SKILL.md
Move the additional complete examples (project board, research canvas, flowchart) into an EXAMPLES.md file referenced from the main skill
Remove the 'When to Use This Skill' and 'Overview' sections—this context is already in the skill's metadata/description and Claude doesn't need to be told what JSON Canvas is
Add an explicit workflow section for editing existing .canvas files: read → parse → modify → validate IDs/references → write, with a validation checkpoint before saving
| 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 validation rules, attribute tables, and layout guidelines give concrete, specific guidance for creating valid canvas files. | 3 / 3 |
Workflow Clarity | For a single-task skill (creating/editing .canvas files), the structure is logical—file structure → nodes → edges → colors → examples → validation. However, there's no explicit workflow for editing existing canvas files, no validation/verification steps (e.g., 'validate JSON before saving'), and the validation rules are listed at the end rather than integrated into a workflow. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content with no bundle files to offload reference material. The attribute tables, four complete examples, layout guidelines, and color references should be split into separate files. Everything is inlined in a single document with no progressive structure—the skill reads like a complete specification rather than an overview with references. | 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 | |
d065ead
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.