Clickable HTML approval pages for UI fixes in terminal agents
ApprovalUI is intentionally tiny. It has one job: turn a structured JSON spec into a self-contained HTML page that a human can review in a browser.
agent writes fixes.json
│
▼
┌─────────────┐
│ approvalui │ ← Python CLI
│ (render) │
└─────────────┘
│
▼
approval.html ← single file, no server
│
▼
human reviews in browser
│
▼
generated review text → pasted back into agent
Terminal agents read text. Humans read pixels. UI bugs are spatial, so the feedback medium should be spatial too.
A browser page gives you:
The generated HTML bundles everything it needs:
<style> block for layout and theming.<script> block that reads the radio buttons and builds the review text.There are no external dependencies, no server, and no build step.
Because the output is a single file, you can:
render() function.See advanced.md for examples.