Agent set
Composer, prompt field and tile, model picker, tool call, transcript and source rows.
We can hold the per-seat rate, but the renewal has to be sized on your current headcount.
Installation
npx shadcn@latest add https://ui.whoisroktim.lol/r/agent.jsonThe part the big systems do not have
shadcn only added AI primitives recently; Atlassian and Polaris ship nothing equivalent. This set came out of the Figma library first, which is why it fits the rest of the system rather than looking bolted on.
Tool call: the duration is the point
"Searched the repository" tells you what happened. "412 files · 1.2s" tells you
whether it is working. That second line is the difference between an agent that
looks like it is thinking and one that looks stuck — so meta is not decoration.
Running pairs a Spinner with a StreamingIndicator: one says the call is in flight, the other says output is coming.
Source row: the count makes it checkable
It says how many times a source was actually used, not merely that it was available. An answer citing five sources it never opened is worse than one citing none.
Composer: the chips live inside
Suggestions sit in the same well as the field rather than floating above it, so they move with it and cannot be mistaken for message content.
| Prop | Type | Default | Description |
|---|---|---|---|
| state | "running" | "done" | "error" | "done" | ToolCall. |
| meta | string | — | ToolCall. Counts and duration — the part people read. |
| count | number | — | SourceRow. Citations actually used. |
| suggestions | string[] | — | Composer. Rendered inside the well. |
| open | boolean | — | ModelPicker. Turns it selected with an active border. |