deepagents-architectur…
Guides architectural decisions for Deep Agents applications. Use when deciding between Deep Agents vs alternatives, choosing…
Vercel AI Elements for workflow UI components. Use when building chat interfaces, displaying tool execution, showing reasoning/thinking, or creating job queues. Triggers on ai-elements, Queue, Confirmation, Tool, Reasoning, Shimmer, Loader, Message, Conversation, PromptInput.
Claude Code
$ npx -y skills add existential-birds/beagle --skill ai-elements --agent claude-code
Codex
$ npx skills add existential-birds/beagle --skill ai-elements -a codex -y
Cursor
$ npx skills add existential-birds/beagle --skill ai-elements -a cursor -y
Gemini CLI
$ npx skills add existential-birds/beagle --skill ai-elements -a gemini-cli -y
GitHub Copilot
$ npx skills add existential-birds/beagle --skill ai-elements -a github-copilot -y
OpenCode
$ npx skills add existential-birds/beagle --skill ai-elements -a opencode -y
Windsurf
$ npx skills add existential-birds/beagle --skill ai-elements -a windsurf -y
name: ai-elements description: Vercel AI Elements for workflow UI components. Use when building chat interfaces, displaying tool execution, showing reasoning/thinking, or creating job queues. Triggers on ai-elements, Queue, Confirmation, Tool, Reasoning, Shimmer, Loader, Message, Conversation, PromptInput.
AI Elements is a comprehensive React component library for building AI-powered user interfaces. The library provides 30+ components specifically designed for chat interfaces, tool execution visualization, reasoning displays, and workflow management.
Install via shadcn registry:
npx shadcn@latest add https://ai-elements.vercel.app/r/[component-name]
**Import Pattern**: Components are imported from individual files, not a barrel export:
// Correct - import from specific files
import { Conversation } from "@/components/ai-elements/conversation";
import { Message } from "@/components/ai-elements/message";
import { PromptInput } from "@/components/ai-elements/prompt-input";
// Incorrect - no barrel export
import { Conversation, Message } from "@/components/ai-elements";Use this sequence when adding or wiring AI Elements so setup is checkable, not assumed.
1. **Install each component** — Run `npx shadcn@latest add https://ai-elements.vercel.app/r/[component-name]` for every component you need.
2. **Align import paths** — Every `import … from "@/components/ai-elements/..."` must match your repo’s actual alias and folder layout.
3. **Match `Tool` / `Confirmation` states to your AI SDK** — State strings (including approval-related states) depend on the installed `ai` package major/version.
Components for displaying chat-style interfaces with messages, attachments, and auto-scrolling behavior.
See [references/conversation.md](references/conversation.md) for details.
Advanced text input with file attachments, drag-and-drop, speech input, and state management.
See [references/prompt-input.md](references/prompt-input.md) for details.
Components for displaying job queues, tool execution, and approval workflows.
See [references/workflow.md](references/workflow.md) for details.
ReactFlow-based components for workflow visualization and custom node types.
See [references/visualization.md](references/visualization.md) for details.
AI Elements is built on top of shadcn/ui and integrates seamlessly with its theming system:
AI Elements follows a composition-first approach where larger components are built from smaller primitives:
<Tool>
<ToolHeader title="search" type="tool-call-search" state="output-available" />
<ToolContent>
<ToolInput input={{ query: "AI tools" }} />
<ToolOutput output={results} errorText={undefined} />
</ToolContent>
</Tool>Many components use React Context for state management:
Components support both controlled and uncontrolled patterns:
// Uncontrolled (self-managed state)
<PromptInput onSubmit={handleSubmit} />
// Controlled (external state)
<PromptInputProvider initialInput="">
<PromptInput onSubmit={handleSubmit} />
</PromptInputProvider>The Tool component follows the Vercel AI SDK's state machine:
1. `input-streaming`: Parameters being received 2. `input-available`: Ready to execute 3. `approval-requested`: Awaiting user approval (SDK v6) 4. `approval-responded`: User responded (SDK v6) 5. `output-available`: Execution completed 6. `output-error`: Execution failed 7. `output-denied`: Approval denied
Queue components support hierarchical organization:
<Queue>
<QueueSection defaultOpen={true}>
<QueueSectionTrigger>
<QueueSectionLabel count={3} label="tasks" icon={<Icon />} />
</QueueSectionTrigger>
<QueueSectImage: NASA, Public Domain. Source Beagle is an Agent Skills marketplace: framework-aware code review, documentation, testing, architectural analysis, and git workflows for any compatible coding agent.
Guides architectural decisions for Deep Agents applications. Use when deciding between Deep Agents vs alternatives, choosing…
Reviews Deep Agents code for bugs, anti-patterns, and improvements. Use when reviewing code that uses create_deep_agent,…
Implements agents using Deep Agents. Use when building agents with create_deep_agent, configuring backends, defining subagents,…
Guides architectural decisions for LangGraph applications. Use when deciding between LangGraph vs alternatives, choosing state…
Reviews LangGraph code for bugs, anti-patterns, and improvements. Use when reviewing code that uses StateGraph, nodes, edges,…
Implements stateful agent graphs using LangGraph. Use when building graphs, adding nodes/edges, defining state schemas,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.