Asking an LLM to draw an ASCII diagram works surprisingly well until you need one arrow moved by two characters.
YuzuDraw, built by Almog Gavra, is designed around that last mile.
The project combines a native macOS application, a visual editor, a CLI and a compact DSL that Claude or Codex can generate. The agent creates the initial structure. The human opens the same file on a canvas and adjusts shapes, groups and alignment by hand.
It is not "AI or graphical editor." The intermediate format is deliberately meant to travel between both.
The DSL exists so agents do not have to speak in pixels
An agent can generate raw ASCII characters, but that representation becomes fragile and token-heavy as a drawing grows.
YuzuDraw introduces a small descriptive language instead. The project calls it token-friendly: the agent describes shapes and relationships in a compact syntax, then the application renders the ASCII result.
That separation is useful for two reasons.
The model manipulates something more stable than a character grid. And the human can change the scene visually without reconstructing the original prompt.
The result can then be exported as plain ASCII, PNG or SVG.
The file remains editable on both sides
The app provides layers, grouping, locking and reordering. An ASCII diagram can therefore behave like a small graphic document instead of one monolithic text block.
The CLI and skill let an agent create or modify the file. The application lets the human take over afterward.
That is a more interesting collaboration model than placing a Generate button inside an editor.
The work does not change formats every time control changes hands. Human and agent operate on the same representation.
The use case stays intentionally narrow
YuzuDraw is not trying to replace Figma, Mermaid or a general-purpose diagramming system.
Its natural territory is terminals, READMEs, technical documentation and small illustrations that still need to work as plain text. The examples cover component diagrams, process flows, metric comparisons and small pieces of ASCII art.
That constraint is useful. An agent does not need a universal scene graph to make a good service diagram in a README. It only needs enough structure for a human to finish the job cleanly.
The repository is still very young and the macOS application is the main client today, which limits reach for now.
AI is better at starting than polishing
The workflow makes a simple division: let the agent handle much of the blank-page start, then return direct controls to the human quickly.
That division of labor makes sense.
A model is good at producing three initial compositions, placing the main blocks or translating an architecture description into a rough diagram. It becomes much more irritating when the user wants to keep everything but move one box slightly, align one arrow and add a little breathing room on the right.
At that point a mouse can beat several rounds of natural-language correction in seconds.
YuzuDraw does not try to erase that difference. It makes the difference part of the product architecture.
A good agent tool can include a manual escape hatch
Many AI interfaces try to make prompting powerful enough that traditional controls disappear.
YuzuDraw suggests almost the reverse: use language while language is efficient, then return immediately to deterministic manipulation when it is not.
The principle extends beyond ASCII.
For layout, timelines, diagrams, 3D scenes or visual code, the best workflow may not be "keep chatting until perfect." It can be: generate structure, switch to direct manipulation, then hand the structured result back to the agent if needed.
The tool gets better when changing modes does not destroy previous work.
YuzuDraw's tiny ASCII files point to a much larger idea: the agent does not need the last word to be useful.