Klarhimmel UI

Assistant screens prompt

The screens an assistant works in: thread, composer, tool calls and approvals.

Prompt

Prompt

Use the klarhimmel-design skill. Build the assistant screen for {assistant}, which can {abilities}. It must ask before {risky}. Install: npx shadcn add @klarhimmel/app-assistant-thread @klarhimmel/app-assistant-composer @klarhimmel/app-assistant-tool-call @klarhimmel/app-assistant-approval (remove what you do not use) Pick: - app-assistant-thread: the conversation, with idle, streaming, error and empty states - app-assistant-composer: the box the person writes in - app-assistant-tool-call: one tool call with scrollable arguments and result - app-assistant-approval: an action needing allow or deny Props: state is an enum on each block: set it from your app's status. Pass handlers by importing the view (Thread, Composer, ToolCall, Approval) rather than the default export. Caps: 4000 characters a turn, 50 turns, 20000 for tool payloads. Copy: The approval names the action, what it touches, what it changes and whether it can be undone. Error text says what to do. Accessibility: Only turns go in the log; the approval is its own status and takes focus when decided; Send keeps focus in the composer. Enter sends, Shift+Enter adds a line. Never: viewport variants (md:, lg:), style=, text or images outside Text and Media, fields the schema lacks. Shorten copy to fit the limits. Done when: approval buttons name the action; focus never lands on body after a decision; every state reachable from props.

Variables

VariableWhat to fill inExample
{assistant}Who the assistant isa booking assistant for Exempelhotellet
{abilities}What it can dolook up rooms and prepare changes
{risky}The actions that need approvalcancelling a booking

A good result

Approval buttons name the action. Focus never lands on body after a decision. Every state reachable from props.

checklist.md
- [ ] approval buttons name the action
- [ ] focus never lands on body after a decision
- [ ] every state reachable from props