Skip to content
Diagramming

Graft

Tool coverage — filled cells are supported. Full names under “Works with” below.

Maps a Claude Code session as a branch diagram: your turns as the trunk, subagents as forks, compactions as diamonds.

The first skill published under Canon’s own roof rather than curated in from elsewhere. Run /graft in any project and it renders that project’s session history as a branch map: every turn you took as a node on the trunk, every subagent you launched as a fork sweeping off it, every compaction as a diamond. One self-contained HTML file, hand-rolled SVG, no d3, nothing leaves your machine.

It exists because long-running sessions become unreadable as scrollback. A month of work in one session is a real thing now, and the shape of that work, where you forked, where the context compacted, where the effort clustered, is invisible in a transcript. The map makes the shape legible in one glance.

The skill’s hard rules are the interesting part: it refuses to read a transcript into context (they can exceed 100MB; parsing happens in a subprocess that emits a small summary), and it constrains itself to a three-word visual vocabulary. Trunk, fork, diamond. Nothing else.

Install: claude plugin marketplace add jamesmadson/canon, then install the graft plugin. Or copy plugin/graft/skills/graft/SKILL.md from the repo into ~/.claude/skills/graft/. New skills register as typed commands on your next session start.

Gotcha: Claude Code only, and it reads the local transcript format, which is undocumented and can drift between versions. The skill tells the agent to inspect a line and adapt before parsing, which has held so far, but a hard format change would need a skill update. The interactive editor it matches lives at jamesmadson.me/graft.

File & content map

SKILL.md

Graft

Maps a Claude Code session as a branch diagram: your turns as the trunk, subagents as forks, compactions as diamonds.

Contents — 5 sections

Hard rules
Procedure
Visual language (match jamesmadson.me/graft exactly)
Known gap
Scope
content section file folder