Agentic webdesign shadcn chat
Use shadcn/ui chat interface components — MessageScroller, Message, Bubble, Attachment, Marker. Composable primitives for building streaming chat UIs. Use when building AI chat interfaces, support inboxes, or any conversation UI with shadcn/ui.From its SKILL.md
npx -y skills add S3YED/appie-kit --skill agentic-webdesign-shadcn-chatAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `npx shadcn@latest add message-scroller message bubble attachment marker`.
SKILL.md
3.2 KB, 652 tokens by cl100k_base, as published. Nobody here has run it
shadcn/ui Chat Interface Components
A set of composable primitives for building streaming chat UIs. The scroll behavior, accessibility, and streaming edge cases are handled for you. You bring the content.
Install
npx shadcn@latest add message-scroller message bubble attachment marker
Component Overview
MessageScroller
The scroll container for a conversation. Handles:
- Anchored turns — pin a user message near the top
- Streamed replies — auto-scroll only when user is at the bottom
- Thread restore — saved scroll position on navigation
- Prepend history — preserve position when history loads above
- Jump-to-message and scroll controls
- Visibility tracking
Headless version available: @shadcn/react/message-scroller
Structure:
MessageScrollerProvider
└── MessageScroller
└── MessageScrollerViewport
└── MessageScrollerContent (role="log", aria-relevant="additions")
Message
Row layout with avatar, alignment, header, content, footer, and grouped messages.
Bubble
Message surface with variants, alignment, reactions, links, buttons, and collapsible content.
Attachment
Files and images with media, metadata, upload state, actions, and full-card trigger.
Marker
Status updates, system notes, bordered rows, labeled separators — streaming state, tool activity, date breaks.
CSS Utilities (included with shadcn/tailwind.css)
scroll-fade
Scroll-aware edge fades. No overlays or JS listeners.
<div className="h-72 scroll-fade scrollbar-none overflow-y-auto">
{...items}
</div>
shimmer
Text shimmer animation for live status:
<p className="shimmer text-sm text-muted-foreground">
Generating response…
</p>
AI Agent Integration
Works with Vercel AI SDK:
import { useChat } from '@ai-sdk/react'
const { messages, sendMessage, isLoading } = useChat({
transport: chat.transport({ chunkDelayMs: 20 })
})
Why This Helps AI Agents
- Scroll behavior lives in code — agents don't need to handle anchor logic in prompts
- Small, single-purpose — each component does one thing, reducing composition errors
- Accessibility built-in —
role="log",aria-relevant,aria-busy, screen reader announcements - Headless option —
@shadcn/reactdecouples behavior from style - Streaming-aware — auto-scroll only when pinned to bottom, respects user scroll position
Pitfalls
- MessageScroller owns scroll behavior but NOT your messages, AI state, transport, or persistence
- Use
scrollAnchoron user messages for anchored turns - For streaming, set
aria-busyduring active generation - The
scroll-fadeandshimmerutilities only work with projects initialized vianpx shadcn@latest init
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.