Individual skill
assistant-ui
Not available
managed-agents/assistant-ui/skill.md
Source commit 8ef47d719eba5379ff8f38133f5defcc499e856f
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 3, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
Standard SKILL.md format has not been attested at this commit. No installation command is available; inspect the source.
Repository context
- Repository stars (not skill ratings)
- 19,402
- Repository last updated
- Nov 6, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
Declared tags are partial or unavailable.
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.env.exampleasset · 682 bytes.gitignoreasset · 430 bytes.npmrcasset · 242 bytesCLAUDE.mddoc · 3,610 bytesREADME.mddoc · 13,059 bytesagents/spreadsheet-analyst.mddoc · 3,739 bytesapp/api/sessions/[id]/archive/route.tsruns · 1,417 bytesapp/api/sessions/[id]/confirm/route.tsruns · 2,665 bytesapp/api/sessions/[id]/events/route.tsruns · 1,234 bytesapp/api/sessions/[id]/files/[fileId]/download/route.tsruns · 1,621 bytesapp/api/sessions/[id]/files/route.tsruns · 1,834 bytesapp/api/sessions/[id]/interrupt/route.tsruns · 724 bytesapp/api/sessions/[id]/messages/route.tsruns · 2,783 bytesapp/api/sessions/[id]/route.tsruns · 2,728 bytesapp/api/sessions/[id]/stream/route.tsruns · 3,126 bytesapp/api/sessions/[id]/tool-results/route.tsruns · 1,987 bytesapp/api/sessions/route.tsruns · 2,770 bytesapp/assistant.tsxruns · 4,712 bytesapp/globals.cssasset · 4,868 bytesapp/layout.tsxruns · 581 bytesapp/page.tsxruns · 101 bytescomponents.jsonasset · 526 bytescomponents/NOTICE.mddoc · 1,612 bytescomponents/analyst-sidebar.tsxruns · 2,015 bytescomponents/assistant-ui/attachment.tsxruns · 8,349 bytescomponents/assistant-ui/badge.tsxruns · 2,063 bytescomponents/assistant-ui/diff-viewer.tsxruns · 14,530 bytescomponents/assistant-ui/file.tsxruns · 5,160 bytescomponents/assistant-ui/follow-up-suggestions.tsxruns · 982 bytescomponents/assistant-ui/image.tsxruns · 12,397 bytescomponents/assistant-ui/markdown-text.tsxruns · 6,732 bytescomponents/assistant-ui/message-timing.tsxruns · 3,378 bytescomponents/assistant-ui/reasoning.tsxruns · 10,958 bytescomponents/assistant-ui/shiki-highlighter.tsxruns · 3,062 bytescomponents/assistant-ui/sources.tsxruns · 3,807 bytescomponents/assistant-ui/thread-list.tsxruns · 10,674 bytescomponents/assistant-ui/thread.tsxruns · 22,360 bytescomponents/assistant-ui/tool-fallback.tsxruns · 17,254 bytescomponents/assistant-ui/tool-group.tsxruns · 7,717 bytescomponents/assistant-ui/tooltip-icon-button.tsxruns · 1,305 bytescomponents/session-files.tsxruns · 3,175 bytescomponents/tool-uis/approval-bar.tsxruns · 3,400 bytescomponents/tool-uis/bash.tsxruns · 3,353 bytescomponents/tool-uis/file-tools.tsxruns · 8,408 bytescomponents/tool-uis/index.tsxruns · 3,082 bytescomponents/tool-uis/show-chart.tsxruns · 6,544 bytescomponents/tool-uis/web-tools.tsxruns · 5,260 bytescomponents/ui/avatar.tsxruns · 2,936 bytescomponents/ui/button.tsxruns · 2,407 bytescomponents/ui/collapsible.tsxruns · 801 bytescomponents/ui/dialog.tsxruns · 4,354 bytescomponents/ui/input.tsxruns · 972 bytescomponents/ui/separator.tsxruns · 706 bytescomponents/ui/sheet.tsxruns · 4,210 bytescomponents/ui/sidebar.tsxruns · 21,995 bytescomponents/ui/skeleton.tsxruns · 279 bytescomponents/ui/tooltip.tsxruns · 1,956 bytesenvironments/spreadsheet-analyst.yamlasset · 450 byteseslint.config.mjsruns · 464 byteshooks/use-mobile.tsruns · 585 byteslib/anthropic.tsruns · 2,011 byteslib/managed-agents/api.tsruns · 2,822 byteslib/managed-agents/attachments.tsruns · 3,407 byteslib/managed-agents/events.tsruns · 4,064 byteslib/managed-agents/reducer.test.tsruns · 27,938 byteslib/managed-agents/reducer.tsruns · 33,712 byteslib/managed-agents/runtime-provider.tsxruns · 6,066 byteslib/managed-agents/session-controller.tsruns · 22,529 byteslib/managed-agents/session-files.tsruns · 4,442 byteslib/managed-agents/session-list-adapter.tsruns · 2,918 byteslib/owned-session.tsruns · 2,894 byteslib/sse.tsruns · 2,259 byteslib/utils.tsruns · 169 bytesnext.config.tsruns · 357 bytespackage-lock.jsonasset · 399,906 bytespackage.jsonruns · 1,363 bytespostcss.config.mjsruns · 81 bytessample_data/sales.csvasset · 16,541 bytesskill.mdcore · 11,067 bytesskill.mdcore · 11,067 bytesskill.mdcore · 11,067 bytesskill.mdcore · 11,067 bytestsconfig.jsonasset · 698 bytes
Read excerpt
# Setup tips and tricks: assistant-ui × Claude Managed Agents
Things that aren't obvious from the docs and tend to cost debugging time. If you're Claude driving setup for a user, walk the **Setup checklist** and use the rest for reference when something looks off.
---
## Mental model
### The session is the state
There is no database, no message store, no in-memory transcript. The sidebar is `sessions.list()`, an old chat is `sessions.events.list()` replayed, and the live chat is the same reducer folding the tail. If you catch yourself adding a table "just to remember the conversations," you're re-implementing what the session already is. Restart the dev server mid-conversation and reload: the transcript comes back, because it never lived here.
### One pure function joins the two products
`lib/managed-agents/reducer.ts` maps events to assistant-ui messages and knows nothing about React or fetch. Every rendering question ("why is the gate not showing", "why did the text duplicate") is answered by which branch of `applyEvent` handled which event. The unit test (`npm test`) folds the golden turn from the wire protocol; when the mapping changes, change the test first.
### Stream first, then send