Skip to content
A decision page: an alert, two options, and a form

pi-better-show

Let your agent show you a page instead of a wall of text, and answer it by clicking. The agent writes Markdown with fenced blocks; you pick, tick, fill in, and comment, and every answer comes back to the agent as a message.

An agent that has a decision to put to you usually writes a long reply and waits for you to type one back. pi-better-show gives it a vocabulary of blocks instead: options, forms, tables, diagrams, diffs, and more, written as a few lines of YAML. The host draws them as controls, and what you do with them reaches the agent as a message.

Data, not markup

The agent writes a few YAML lines per block. The package owns the layout, the styles, the controls, and the code that sends answers back.

Answer by clicking

Pick an option, tick a checklist, fill a form, or press a quick-reply chip. The answer reaches the agent as one message.

Comment on anything

Select a passage, or click a node or an edge of a diagram, and comment on it. One Send carries all of it.

Edit in your own editor

view: "edit" opens a file in your editor. The agent gets the net diff of your saves, not every keystroke.

One vocabulary, every host

Core, custom elements, and React wrappers share one parser, one text fallback, and one answer encoding, so a GUI or a chat bridge draws the same blocks.

About 10 times fewer tokens

Writing the blocks of four example pages took 1,253 output tokens; the same pages as self-contained HTML took 12,364.