본문으로 건너뛰기
cccskills
무료GitHub에 공개

ai-sdk-ui

Build streaming AI user interfaces with AI SDK patterns — message rendering, tool-call displays, loading states, and optimistic updates. Use when creating chat UIs that stream model output and show agent activity.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Streaming AI Interfaces with AI SDK Patterns

Modern AI UIs stream: tokens appear as they're generated, tool calls show as activity, and the interface stays responsive throughout. AI SDKs provide the hooks and helpers for this — this skill covers the patterns, not any single SDK's API.

Overview

The core pattern: a useChat-style hook manages messages, input, and streaming state; the UI renders message parts (text, tool calls, images) as they arrive. Tool invocations render as activity cards — "searching…", "reading file…" — so users see the agent working. State handling covers the lifecycle: idle, streaming, awaiting tool, error. Get these patterns right and the UI feels alive; get them wrong and it feels broken even when the model is fine.

When to use

  • Building a chat interface over a streaming model API.
  • Showing agent activity: tool calls, reasoning progress, multi-step work.
  • Adding AI features to an existing app: copilots, assistants, smart compose.
  • Any UI where the model takes more than a second to respond (which is all of them).

Core concepts

  • Streaming messages: render tokens incrementally; handle the stream lifecycle (start, chunk, done, error, abort). Never leave the user staring at a spinner with no feedback.
  • Message parts: messages as lists of parts — text, tool-call, tool-result, image, reasoning. Render each part with its own component.
  • Tool-call UI: show tool activity as it happens — pending, running, complete — with human-readable labels, not raw JSON. Collapsible details for the curious.
  • Optimistic updates: show the user's message immediately; show a typing/progress indicator for the assistant. Perceived latency matters as much as real latency.
  • Regeneration and editing: let users retry a response or edit their message and re-run. These are core interactions, not extras.
  • Error and abort: network failures, rate limits, user-cancelled streams — each needs a clear UI state and a recovery action (retry button, not a dead chat).

Practical workflow

  1. Set up the chat hook: messages state, send function, streaming status, abort controller.
  2. Build the message list: part-based rendering — text streams in, tool calls show as activity cards.
  3. Add input with submit-on-enter, disabled-during-streaming (or queueing), and a stop button.
  4. Implement tool-call displays: map each tool to a friendly label and status indicator.
  5. Handle the unhappy paths: errors with retry, abort with partial-message preservation, empty states with suggestions.
  6. Polish: auto-scroll management, markdown rendering with sanitization, copy buttons, token/cost display if relevant.
UI state machine:
idle → (send) → streaming → (done) → idle
                 ↓ (tool call)
            awaiting-tool → streaming (result in)
                 ↓ (error)              ↓ (abort)
               error → [retry]      partial kept → idle

Common pitfalls

  • No streaming feedback: waiting for the full response before rendering. Stream from the first token.
  • Raw JSON in the UI: dumping tool calls as JSON blobs. Map tools to human-readable activity.
  • Broken auto-scroll: jumping while the user reads history. Only auto-scroll when already at the bottom.
  • No abort: users can't stop a runaway generation. Always provide stop.
  • Unsanitized markdown: rendering model output as HTML without sanitization. XSS via chatbot is a real attack.
  • State loss on error: a failed stream wiping the conversation. Preserve partial messages and offer retry.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills252026년 10월 10일 업데이트

Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills252026년 10월 10일 업데이트

Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills252026년 10월 10일 업데이트

Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills252026년 10월 10일 업데이트

Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills252026년 10월 10일 업데이트

Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills252026년 10월 10일 업데이트

aicodedecode의 스킬 모두 보기

이 스킬의 문제 신고