Skills for working with Obsidian vaults and related formats: Obsidian Flavored Markdown, JSON Canvas files, the Obsidian CLI, and Defuddle for clean web content extraction.
96
96%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
{
"instructions": [
{
"instruction": "Generate unique 16-character lowercase hexadecimal IDs for every node and edge",
"relevant_when": "When creating any node or edge in a canvas file",
"why_given": "new knowledge"
},
{
"instruction": "Validate that all edge fromNode and toNode values reference IDs that exist in the nodes array",
"relevant_when": "After creating or editing edges in a canvas file",
"why_given": "new knowledge"
},
{
"instruction": "Use string color values (e.g. \"1\") not integer values (e.g. 1) for the color field",
"relevant_when": "When setting color on any node or edge",
"why_given": "new knowledge"
},
{
"instruction": "Use the JSON escape \\n for line breaks in text node content, not literal newlines or \\\\n",
"relevant_when": "When writing multi-line text content for text nodes",
"why_given": "new knowledge"
},
{
"instruction": "Confirm the resulting file is valid JSON before writing it",
"relevant_when": "After creating or modifying any canvas file",
"why_given": "new knowledge"
},
{
"instruction": "Position nodes with non-overlapping coordinates, leaving 50-100px spacing between nodes",
"relevant_when": "When placing nodes on the canvas",
"why_given": "new knowledge"
},
{
"instruction": "Place child nodes within the x/y/width/height bounds of their parent group node",
"relevant_when": "When creating group nodes that visually contain other nodes",
"why_given": "new knowledge"
},
{
"instruction": "Use only \"none\" or \"arrow\" as values for fromEnd and toEnd on edges",
"relevant_when": "When setting edge endpoint arrow styles",
"why_given": "new knowledge"
}
]
}defuddle
json-canvas
evals
obsidian-bases
evals
references
obsidian-cli
evals
obsidian-markdown
evals