ls-generative-ui

Render interactive widgets inline in chat via prompt_widget and render_widget protocols.

Updated Aug 5, 2026
One-click install
npx skills add https://github.com/ahostbr/liteharness --skill ls-generative-ui
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ls-generative-ui
Source: https://github.com/ahostbr/liteharness/tree/main/liteharness/catalog/skills/ls-generative-ui
Command: npx skills add https://github.com/ahostbr/liteharness --skill ls-generative-ui

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the problem of turning chat-only responses into interactive, user-driven UI elements that can collect input or display rich visuals inline.

Core Features & Use Cases

  • prompt_widget for user input: Creates interactive widgets that block until the user acts, returning a structured {action, data} result for confirmations, forms, and picks.
  • render_widget for inline displays: Sends fire-and-forget widget content like charts, dashboards, stat cards, and summaries without requiring a user response.
  • Three rendering bands (catalog, specs, html): Uses themed components when possible (catalog), multi-component layouts for complex dashboards (specs), and self-contained custom visuals/interactivity when needed (html).

Quick Start

Ask for an inline confirmation by calling prompt_widget with type set to catalog and component set to genui.Button (for example, a “Confirm” button) so the user’s click returns the tool result.

Frequently Asked Questions about ls-generative-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I render interactive widgets inside a chat interface?

To render interactive widgets in chat, use prompt_widget to block for user input like confirmations and forms, or render_widget for fire-and-forget inline displays like charts and dashboards without requiring a response.

Can I display inline charts and dashboard layouts directly in chat messages?

Yes, inline charts and dashboard layouts are supported using the specs rendering band for multi-component layouts or the html band for self-contained custom visuals and sandboxed interactions.

What's the best way to collect user confirmations and form selections during a chat flow?

The best way to collect confirmations and selections is calling prompt_widget with type set to catalog and a component like genui.Button, which blocks execution and returns a structured action and data result.

Does generative UI for chat require specific protocols for HTML widget interactions?

Yes, interactive HTML widgets require exact widget-response postMessage protocol handling along with prompt_widget request fields including type, requestId, and agentId to process sandboxed custom interactions properly.

When should I use sandboxed HTML widgets instead of catalog components for chat UI?

Use sandboxed HTML widgets when custom visuals or complex interactions exceed standard catalog components, otherwise rely on themed catalog components or multi-component specs for structured dashboard layouts.