wiki-canvaslisted
Install: claude install-skill nathanaday/atlas-obsidian
# Canvas boards
A canvas is a JSON Canvas board under `wiki/canvases/`: pages, notes, and
links laid out in space, with edges between them. Reading one changes
nothing; every change is one plan of kind `canvas`.
Tools: `status`, `plan`, `apply`. Reads
[canvas-spec.md](references/canvas-spec.md), the format
([JSON Canvas 1.0](https://jsoncanvas.org/spec/1.0/)), and
[operations.md](../wiki/references/operations.md).
## Scope
- Call `status` first. Store boards under `wiki/canvases/`; use
`wiki/canvases/main.canvas` only when the user did not name a board.
- `wiki/canvases/canvases.md` is an optional catalog. Update it only when a canvas
is created, renamed, or removed.
- Use vault-relative paths in `file` and `background`; reject absolute paths,
`..`, and `~`.
- Reference only files already inside the vault. Do not download or copy assets
here; a source enters through `wiki-ingest`.
- Use `link` nodes for HTTPS URLs only. Creating the node makes no request, but
Obsidian may fetch preview metadata from that host when it renders; say so.
Otherwise use a text node containing the URL.
## Read-only operations
For status or list requests, read the `.canvas` files and report node counts,
group labels, broken edge endpoints, and missing file targets. If the default
canvas is absent, say so and offer a creation preview; do not create it during
a status request.
## Draft a change
1. Read the whole canvas and any catalog target.
2. Preserve unknown JSON fields and exis