← ClaudeAtlas

canvas-commentslisted

Use when a Fused canvas.toml contains (or needs) a [[comments]] block — e.g. the user asks to check/fix/resolve canvas comments, review feedback pins on a canvas, or leave comments on a canvas for someone else. Covers reading, writing, and resolving comments via the fused CLI pull/push workflow.
fusedio/skills · ★ 4 · AI & Automation · score 65
Install: claude install-skill fusedio/skills
# Fused canvas comments ([[comments]] in canvas.toml) Pinned comment threads on a Fused canvas serialize as top-level `[[comments]]` blocks in `canvas.toml`. Comments with `status = "open"` are your work queue; resolving one is a three-field contract plus a reply, so the Workbench UI correctly attributes the work to AI. ## Read: find the work 1. Get the canvas locally: `fused canvas pull <name> -o <dir>` (or use the folder you have). 2. Every `[[comments]]` block where `status = "open"` is an actionable request. 3. `anchor_udf = "<udfName>"` tells you WHICH node it's about — the fix belongs in `<udfName>.py` (or `.json`/`.md`/`.html` with that stem). No `anchor_udf` ⇒ canvas-level comment; read `content` for scope. ## Resolve: the full contract (all four steps, not just status) After actually making the fix the comment asks for: ```toml [[comments]] id = "cmt-a" # never change existing ids # ...existing fields stay untouched... status = "resolved" # 1. was "open" resolved_by = "ai" # 2. REQUIRED — this is what shows the AI badge in the UI resolved_at = 1749600200000 # 3. ms epoch timestamp (date +%s000) [[comments.replies]] # 4. say what you did id = "reply-<unique>" content = "Changed the default to 7. Done." created_at = 1749600200000 created_by = "ai" # REQUIRED on AI-written replies ``` **Setting only `status = "resolved"` is wrong** — without `resolved_by = "ai"` the UI cannot at