This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
A collection of custom skills for Claude Code. Skills extend Claude's capabilities with specialized knowledge and workflows. Currently contains the obsidian-canvas skill for creating Obsidian .canvas files.
Each skill follows this structure:
skill-name/
├── SKILL.md # Skill definition with YAML frontmatter (name, description)
├── references/ # Supporting documentation and specifications
├── examples/ # Sample outputs demonstrating the skill
└── scripts/ # Helper scripts (optional)
The YAML frontmatter in SKILL.md defines how Claude Code discovers and triggers the skill:
---
name: skill-name
description: When to use this skill...
---Symlink a skill to test it locally:
ln -s "$(pwd)/obsidian-canvas" ~/.claude/skills/obsidian-canvasOr copy for permanent installation:
cp -r obsidian-canvas ~/.claude/skills/The obsidian-canvas/scripts/create_canvas.py provides a CanvasBuilder class for programmatic canvas generation:
# Run directly to create example canvas
python obsidian-canvas/scripts/create_canvas.py --example mindmap -o output.canvas
# Or import in scripts
from scripts.create_canvas import CanvasBuilderNo external dependencies required—uses only Python standard library.
.canvasfiles are JSON withnodesandedgesarrays- Node IDs are 16-character lowercase hex (use
secrets.token_hex(8)) - Use
\nfor newlines in text, NOT\\n - Groups must appear before contained nodes in the array (z-index ordering)