CtrlK
BlogDocsLog inGet started
Tessl Logo

json-canvas

产品经理与内容创作者在构建Obsidian知识库或梳理复杂逻辑时,当需要创建思维导图、流程图等可视化画布,使用此技能可自动生成标准.canvas文件,精准配置节点、连线与层级,一键生成完美排版,彻底告别手写JSON的繁琐与报错。

60

Quality

70%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/obsidian-skills-integrated/json-canvas/SKILL.md

The canonical home for this skill is json-canvas in kepano/obsidian-skills

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 is a highly actionable, spec-accurate reference: every construct has executable JSON, edge cases like newline escaping are called out, and an 8-rule validation checklist closes the loop. Its weaknesses are length and structure — four full example canvases plus complete attribute tables inline (~650 lines) where the spec tables and example gallery belong in references/ files, with SKILL.md kept as a lean overview.

Suggestions

Move the four "Complete Examples" canvases into a references/examples.md and keep one small canonical example inline, cutting SKILL.md's token cost substantially.

Extract the exhaustive per-node attribute tables and preset-color lists into references/spec.md (one level deep, clearly signaled from the body), leaving only required fields and the pitfall callouts inline.

Add a short explicit generation workflow with a feedback loop — plan layout -> assign unique 16-char hex IDs -> connect edges referencing existing IDs -> validate against the 8 rules -> fix and re-validate — to raise workflow clarity to anchor 5.

DimensionReasoningScore

Conciseness

Mostly efficient — the per-attribute tables, pitfall callouts ("Newline Escaping"), and validation rules earn their tokens since the JSON Canvas spec is niche enough that Claude cannot be assumed to know it. But the four full "Complete Examples" (~300 lines of JSON) are repetitive padding beyond what the common cases need, matching anchor 3 (mostly efficient but could be tightened) rather than anchor 4's minor-trim level.

3 / 5

Actionability

Fully executable guidance: complete, copy-paste-ready JSON for every node type (text/file/link/group), edges, and colors, plus four whole-canvas examples spanning mind maps, Kanban boards, research canvases, and flowcharts. Validation Rules give 8 concrete checks. This matches anchor 5 (copy-paste ready, specific examples covering the common cases); nothing here is pseudocode or abstract.

5 / 5

Workflow Clarity

For a single-task reference skill (write spec-conformant .canvas JSON), the action is unambiguous, and the "Validation Rules" section supplies 8 explicit checkpoints. It sits at anchor 4 rather than 5 because there is no feedback loop (validate -> fix -> re-check) and no explicit generation sequence (e.g. plan layout -> assign unique IDs -> connect -> validate), only a rules list; not below 4 since the task is not destructive/batch and the steps that do exist are clear.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), so everything — including ~300 lines of full example canvases and the complete spec tables — is inlined in SKILL.md. Section headers keep it navigable (ruling out anchor 2's headerless inline blob), but the Complete Examples and exhaustive attribute tables clearly belong in separate reference files, matching anchor 3 (content that should be separate is inline). Not anchor 4: the split-out is not 'minor', it is the bulk of the file.

3 / 5

Total

15

/

20

Passed

Description

70%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 answers both 'what' and 'when' with genuinely natural Chinese trigger phrases (Obsidian, mind map, flowchart, .canvas), but it underperforms on capability specificity because roughly a third of it is promotional filler ("one-click perfect layout", "completely bid farewell to hand-writing JSON errors") instead of concrete actions. Trimming the marketing tail and naming the edit/validate capabilities would lift it into the top band.

Suggestions

Replace the marketing tail ("一键生成完美排版,彻底告别手写JSON的繁琐与报错") with concrete capabilities, e.g. "创建、编辑并校验 .canvas 文件,配置节点、连线、分组与颜色".

Add commonly-used synonyms as triggers: "白板" (whiteboard), "画布/节点图", and "diagram" to broaden natural keyword coverage toward anchor 5.

State the deliverable format explicitly and plainly (valid .canvas JSON per the JSON Canvas 1.0 spec) so the 'what' reads as a capability list rather than a slogan.

DimensionReasoningScore

Specificity

The description names concrete actions — "自动生成标准.canvas文件" (auto-generate standard .canvas files) and "精准配置节点、连线与层级" (precisely configure nodes, edges, hierarchy) — but coverage stops at two actions, and the tail is pure marketing fluff ("一键生成完美排版,彻底告别手写JSON的繁琐与报错") that adds no capability. This matches anchor 3 (names domain and 1-2 concrete actions, not comprehensive) better than anchor 4, which expects several specific actions with only minor gaps.

3 / 5

Completeness

Both parts are present: an explicit 'when' clause ("当需要创建思维导图、流程图等可视化画布时" — when you need to create mind maps/flowcharts) and a 'what' (generate .canvas files, configure nodes/edges/hierarchy). It falls short of anchor 5 because the 'what' is diluted by over-claim padding ("一键生成完美排版,彻底告别…报错") rather than stating capabilities plainly; it is above anchor 3 since the 'when' is explicit, not weakly implied.

4 / 5

Trigger Term Quality

Good natural-keyword coverage: users would plausibly say "Obsidian知识库", "思维导图" (mind map), "流程图" (flowchart), "可视化画布" (visual canvas), and the file extension ".canvas" is included. A few common variations are missing (e.g. "白板"/whiteboard, "diagram", "节点图"), keeping it at anchor 4 rather than anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The niche is clear — Obsidian .canvas files — and "构建Obsidian知识库" anchors it firmly, but the generic trigger words "思维导图、流程图" (mind map, flowchart) create minor overlap risk with general diagramming skills (e.g. Mermaid/draw.io helpers). Anchor 4 (mostly distinct, minor overlap with closely related skills) fits better than anchor 5's minimal-conflict niche.

4 / 5

Total

15

/

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

skill_md_line_count

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

Warning

Total

15

/

16

Passed

Repository
anbeime/skill
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.