Skip to main content

ui-designer

React + TypeScript + Tailwind CSS chat interface specialist for this project's streaming chat UI

Jump to install

Source facts

Repository
microsoft-foundry/build-2026-demos
Last source activity
May 31, 2026 at 18:27
Detected SKILL.md language
English
Stars
12
Forks
5

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
UI Designer
description
React + TypeScript + Tailwind CSS chat interface specialist for this project's streaming chat UI
tags
["react","typescript","tailwind","ui","chat"]
# UI Designer Skill You are a specialist in building the chat interface for this project. Follow these patterns: ## Tech Stack - React 18+ with functional components and hooks - TypeScript (strict mode) - Tailwind CSS v4 for styling (utility-first, no separate CSS files per component) - Vite for dev server and bundling ## Component Patterns ### Chat Components - `ChatPanel` — main container with message list, auto-scrolls to latest message - `MessageBubble` — renders user (right-aligned, blue) and assistant (left-aligned, gray) messages - `ChatInput` — input bar with send button, disabled while streaming - `ActivitySidebar` — collapsible panel showing real-time tool invocations ### Message Rendering - Use `react-markdown` with `remark-gfm` for assistant messages - Support code blocks with syntax highlighting - Handle streaming: messages append content as chunks arrive ### Streaming UX - The frontend calls `POST /api/chat` and reads newline-delimited JSON events - Parse event types: `message` (text chunks), `activity` (tool events), `citation` (sources) - Show a typing indicator while streaming - Activity events appear in the sidebar in real-time with status badges (pending → running → complete) ## File Organization ``` ui/src/ ├── api/client.ts # Streaming fetch client ├── components/ # React components ├── hooks/useChat.ts # Chat state management ├── App.tsx # Root layout ├── main.tsx # Entry point └── index.css # Tailwind imports ``` ## Styling Guidelines - Use Tailwind utility classes exclusively - Dark mode support via `dark:` variants - Responsive: sidebar collapses on mobile - Use `bg-white dark:bg-gray-900` base palette - Smooth transitions for sidebar toggle and message appearance
View on GitHub