- Agent kit
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
| Variable | What to fill in | Example |
|---|---|---|
{assistant} | Who the assistant is | a booking assistant for Exempelhotellet |
{abilities} | What it can do | look up rooms and prepare changes |
{risky} | The actions that need approval | cancelling a booking |
A good result
Approval buttons name the action. Focus never lands on body after a decision. Every state reachable from props.
- [ ] approval buttons name the action
- [ ] focus never lands on body after a decision
- [ ] every state reachable from props