work-tree-canvas

Installation
SKILL.md

work-tree-canvas

A persistent, visual graph of how your work branches as you (and any agents you're driving) traverse a problem space. Each node is a unit of attention β€” a problem, decision, question, insight. Edges mean "spawned from": a child exists because of its parent. The graph lives in an Obsidian Canvas so you can pan/zoom/edit it like any other note.

Built on top of the JSON Canvas 1.0 format used by kepano/obsidian-skills/json-canvas (MIT, Β© 2026 Steph Ango). See the Attribution section at the end.

Mental model

  • Nodes are units of attention. Anything you'd otherwise lose between sessions: an open question, a decision you punted on, an insight that came up while debugging something else.
  • Edges are "because of". A child exists because the parent led you there. Direction matters β€” fromNode is the cause / context, toNode is the spawned branch.
  • A small active set β€” 1–3 nodes β€” is what you're working on right now. They're colored a bright electric cyan (#18E0FF, 🎯) so the live edge of the work pops out of the tree. Exactly one of them is the primary focus, marked loud with a leading πŸ‘‰; that's "where I'm thinking from right now" and where new nodes attach by default. The other 0–2 are parallel threads you're juggling (e.g. while driving several agents).
  • add does not change the active set. It always attaches to the πŸ‘‰ primary. The active set only changes when the user says so β€” mark a node active, unmark one, or promote a new primary. This is what lets you branch sideways without descending forever.
  • Groups are containers, not units of attention. A group is a labeled rectangle that wraps a whole branch into one logical topic bucket (e.g. "Auth Server setup"). It carries a lightweight lifecycle of its own (color + emoji: πŸ“Œ active β†’ ⏳ in progress β†’ β›” blocked β†’ βœ… done) but takes no edges β€” it just corrals the nodes whose boxes fall inside its rectangle. See the Groups section.
  • Doneness flows through the tree. A container β€” a group, or any node that has children β€” is "done" only when everything inside it is settled (🟒 resolved or πŸ’‘ insight). That single rule runs down (you can't close a container over open work) and up (finishing the last open child offers to close its parents). See Doneness & propagation.

Color & emoji taxonomy

The active set is 1–3 nodes carrying the bright active color #18E0FF (a literal hex, not a numbered preset β€” that's what makes it louder than everything else on the canvas). They're the things you're working on right now. Exactly one of them is the primary focus: its title line leads with a loud πŸ‘‰ (πŸ‘‰ 🎯 …), and that's the attach anchor for add. The other active nodes are plain 🎯 (no arrow). Marking / unmarking a node and promoting a new primary move these markers β€” the active color appears on 1–3 nodes, the πŸ‘‰ on exactly one of them, never more.

Installs
8
Repository
otrebu/skills
First Seen
Jun 7, 2026
work-tree-canvas β€” otrebu/skills