chat-ui
React/Next.jsでカスタムチャットUIやAIアシスタントを構築するための、メッセージ表示や入力処理などの基本コンポーネントを提供するSkill。
📜 元の英語説明(参考)
Chat UI building blocks for React/Next.js from ui.inference.sh. Components: container, messages, input, typing indicators, avatars. Capabilities: chat interfaces, message lists, input handling, streaming. Use for: building custom chat UIs, messaging interfaces, AI assistants. Triggers: chat ui, chat component, message list, chat input, shadcn chat, react chat, chat interface, messaging ui, conversation ui, chat building blocks
🇯🇵 日本人クリエイター向け解説
React/Next.jsでカスタムチャットUIやAIアシスタントを構築するための、メッセージ表示や入力処理などの基本コンポーネントを提供するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o chat-ui.zip https://jpskill.com/download/6179.zip && unzip -o chat-ui.zip && rm chat-ui.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6179.zip -OutFile "$d\chat-ui.zip"; Expand-Archive "$d\chat-ui.zip" -DestinationPath $d -Force; ri "$d\chat-ui.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
chat-ui.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
chat-uiフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
チャットUIコンポーネント

ui.inference.sh のチャット構築ブロックです。
クイックスタート
# Install chat components
npx shadcn@latest add https://ui.inference.sh/r/chat.json
コンポーネント
チャットコンテナ
import { ChatContainer } from "@/registry/blocks/chat/chat-container"
<ChatContainer>
{/* messages go here */}
</ChatContainer>
メッセージ
import { ChatMessage } from "@/registry/blocks/chat/chat-message"
<ChatMessage
role="user"
content="Hello, how can you help me?"
/>
<ChatMessage
role="assistant"
content="I can help you with many things!"
/>
チャット入力
import { ChatInput } from "@/registry/blocks/chat/chat-input"
<ChatInput
onSubmit={(message) => handleSend(message)}
placeholder="Type a message..."
disabled={isLoading}
/>
タイピングインジケーター
import { TypingIndicator } from "@/registry/blocks/chat/typing-indicator"
{isTyping && <TypingIndicator />}
完全な例
import {
ChatContainer,
ChatMessage,
ChatInput,
TypingIndicator,
} from "@/registry/blocks/chat"
export function Chat() {
const [messages, setMessages] = useState([])
const [isLoading, setIsLoading] = useState(false)
const handleSend = async (content: string) => {
setMessages(prev => [...prev, { role: 'user', content }])
setIsLoading(true)
// Send to API...
setIsLoading(false)
}
return (
<ChatContainer>
{messages.map((msg, i) => (
<ChatMessage key={i} role={msg.role} content={msg.content} />
))}
{isLoading && <TypingIndicator />}
<ChatInput onSubmit={handleSend} disabled={isLoading} />
</ChatContainer>
)
}
メッセージのバリアント
| Role | Description |
|---|---|
user |
ユーザーメッセージ (右寄せ) |
assistant |
AI応答 (左寄せ) |
system |
システムメッセージ (中央寄せ) |
スタイリング
コンポーネントはTailwind CSSとshadcn/uiのデザイン・トークンを使用しています。
<ChatMessage
role="assistant"
content="Hello!"
className="bg-muted"
/>
関連スキル
# Full agent component (recommended)
npx skills add inferencesh/skills@agent-ui
# Declarative widgets
npx skills add inferencesh/skills@widgets-ui
# Markdown rendering
npx skills add inferencesh/skills@markdown-ui
ドキュメント
- Chatting with Agents - チャットインターフェースの構築
- Agent UX Patterns - チャットUXのベストプラクティス
- Real-Time Streaming - ストリーミング応答
コンポーネントのドキュメント: ui.inference.sh/blocks/chat
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Chat UI Components

Chat building blocks from ui.inference.sh.
Quick Start
# Install chat components
npx shadcn@latest add https://ui.inference.sh/r/chat.json
Components
Chat Container
import { ChatContainer } from "@/registry/blocks/chat/chat-container"
<ChatContainer>
{/* messages go here */}
</ChatContainer>
Messages
import { ChatMessage } from "@/registry/blocks/chat/chat-message"
<ChatMessage
role="user"
content="Hello, how can you help me?"
/>
<ChatMessage
role="assistant"
content="I can help you with many things!"
/>
Chat Input
import { ChatInput } from "@/registry/blocks/chat/chat-input"
<ChatInput
onSubmit={(message) => handleSend(message)}
placeholder="Type a message..."
disabled={isLoading}
/>
Typing Indicator
import { TypingIndicator } from "@/registry/blocks/chat/typing-indicator"
{isTyping && <TypingIndicator />}
Full Example
import {
ChatContainer,
ChatMessage,
ChatInput,
TypingIndicator,
} from "@/registry/blocks/chat"
export function Chat() {
const [messages, setMessages] = useState([])
const [isLoading, setIsLoading] = useState(false)
const handleSend = async (content: string) => {
setMessages(prev => [...prev, { role: 'user', content }])
setIsLoading(true)
// Send to API...
setIsLoading(false)
}
return (
<ChatContainer>
{messages.map((msg, i) => (
<ChatMessage key={i} role={msg.role} content={msg.content} />
))}
{isLoading && <TypingIndicator />}
<ChatInput onSubmit={handleSend} disabled={isLoading} />
</ChatContainer>
)
}
Message Variants
| Role | Description |
|---|---|
user |
User messages (right-aligned) |
assistant |
AI responses (left-aligned) |
system |
System messages (centered) |
Styling
Components use Tailwind CSS and shadcn/ui design tokens:
<ChatMessage
role="assistant"
content="Hello!"
className="bg-muted"
/>
Related Skills
# Full agent component (recommended)
npx skills add inferencesh/skills@agent-ui
# Declarative widgets
npx skills add inferencesh/skills@widgets-ui
# Markdown rendering
npx skills add inferencesh/skills@markdown-ui
Documentation
- Chatting with Agents - Building chat interfaces
- Agent UX Patterns - Chat UX best practices
- Real-Time Streaming - Streaming responses
Component docs: ui.inference.sh/blocks/chat