Agent skill · software engineering · assistant-ui
thread-list
Builds and customizes multiple conversation lists in assistant-ui with the runtime connected ThreadList and ThreadListSidebar elements, ThreadListPrimitive, ThreadListItemPrimitive, ThreadListItemMorePrimitive, useAui, useAuiState, and threads.selectionChanged. Use when adding a conversation sidebar, switching, archiving, renaming, deleting, searching, grouping, paginating, or persisting threads, or when thread state is stale after authentication. Covers AssistantCloud, RemoteThreadListRuntime, and ExternalStoreThreadListAdapter. Use runtime for the active conversation runtime, cloud for managed authentication and persistence, and elements for registry installation and styling.
Why this skill is useful
Provides specific API commands and patterns for managing multi-threaded conversation states in assistant UI applications that the AI wouldn't reliably generate on its own.
What it needs
Requires @assistant-ui/react, @assistant-ui/react-ai-sdk, assistant-cloud installed locally. About 4k tokens when loaded. Last updated 2026-08-02. 20 stars on the source repository.
What this skill does
assistant-ui Thread List Always consult assistant-ui.com/llms.txt for the latest API. A runtime starts with one in memory conversation. Add a thread list only when people need to create, select, and manage multiple conversations. Choose the managed cloud path, a backend adapter, or an external store before choosing the UI. References ./references/management.md -- CRUD, initialization, refresh, pagination, metadata, and identifiers ./references/custom-ui.md -- every thread list primitive, custom layouts, search, grouping, and the installed element composition ./references/remote-adapter.md -- remote adapter contract, history adapters, store entries, authentication reload, and external stores Quick Start Install the runtime connected list with npx assistant-ui@latest add thread-list. It creates components/assistant-ui/elements/thread-list.aui.tsx. Pass an AssistantCloud instance to useChatRuntime for managed threads, then render the list and active thread beneath the provider. Use the full sidebar shell when the project already uses the shadcn sidebar primitives. ThreadListSidebar renders the runtime connected thread list itself, so do not also mount ThreadList inside it. ThreadListSidebar still needs the AssistantRuntimeProvider ancestor from the first example. Its SidebarProvider is separate layout context. Thread Operations Use useAui() for commands. Scope accessors are properties, so use aui.threads and aui.threadListItem, never aui.threads(). Read each state value independently with useAuiState. A selector may return one primitive value or a stable runtime reference, but never an object or array literal. Inside a thread item primitive, s.threadListItem is the item in scope. Select fields individually, not the whole state object, when a row only needs one value. Compose a Custom List Start from the three primitive namespaces when the installed element's date grouping, search, or visual treatment does not match the product. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills assistant-ui/thread-list