AgentStack
SKILL verified Apache-2.0 Self-run

Ag Ui

skill-terminalskills-skills-ag-ui · by TerminalSkills

>-

No reviews yet
0 installs
17 views
0.0% view→install

Install

$ agentstack add skill-terminalskills-skills-ag-ui

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Ag Ui? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

AG-UI — Agent-User Interaction Protocol

You are an expert in AG-UI (Agent-User Interaction Protocol), the open standard by CopilotKit for connecting AI agents to frontend UIs. You help developers stream agent actions, tool calls, state updates, and text generation to React components in real-time — enabling rich agent UIs where users see what the agent is thinking, doing, and can intervene at any step.

Core Capabilities

AG-UI Server (Agent Events)

// server/agent.ts — Stream agent events to UI
import { AgentServer, EventStream } from "@ag-ui/server";

const server = new AgentServer();

server.onRequest(async (request, stream: EventStream) => {
  const { messages, context } = request;

  // Emit thinking state
  stream.emitStateUpdate({ status: "thinking", progress: 0 });

  // Stream text generation
  stream.emitTextStart();
  for (const word of "I'll analyze your data now.".split(" ")) {
    stream.emitTextDelta(word + " ");
    await sleep(50);
  }
  stream.emitTextEnd();

  // Emit tool call
  stream.emitToolCallStart("search_database", { query: context.userQuery });
  const results = await searchDatabase(context.userQuery);
  stream.emitToolCallEnd("search_database", results);
  stream.emitStateUpdate({ status: "analyzing", progress: 50 });

  // Stream analysis
  stream.emitTextStart();
  const analysis = await generateAnalysis(results);
  for await (const chunk of analysis) {
    stream.emitTextDelta(chunk);
  }
  stream.emitTextEnd();

  // Custom state for UI rendering
  stream.emitStateUpdate({
    status: "complete",
    progress: 100,
    charts: [{ type: "bar", data: results.chartData }],
    suggestions: ["Run deeper analysis", "Export to CSV", "Schedule report"],
  });

  stream.end();
});

AG-UI React Client

import { useAgent, AgentProvider } from "@ag-ui/react";

function App() {
  return (
    
      
    
  );
}

function AgentChat() {
  const { messages, state, sendMessage, isStreaming, toolCalls } = useAgent();

  return (
    
      {/* Agent state visualization */}
      {state.status === "thinking" && (
        
          🤔 Agent is thinking... ({state.progress}%)
          
        
      )}

      {/* Tool calls (show what agent is doing) */}
      {toolCalls.map((tc) => (
        
          🔧 {tc.name}: {tc.status === "running" ? "Working..." : "Done"}
          {tc.result && {JSON.stringify(tc.result, null, 2)}}
        
      ))}

      {/* Messages */}
      {messages.map((msg) => (
        
          {msg.content}
        
      ))}

      {/* Dynamic UI from agent state */}
      {state.charts?.map((chart, i) => (
        
      ))}

      {state.suggestions && (
        
          {state.suggestions.map((s) => (
             sendMessage(s)} className="px-3 py-1 bg-blue-100 rounded">
              {s}
            
          ))}
        
      )}

      {/* Input */}
       { e.preventDefault(); sendMessage(input); }}>
        
      
    
  );
}

Installation

npm install @ag-ui/react @ag-ui/server

Best Practices

  1. State streaming — Emit state updates for progress, status, UI components; users see agent's thought process
  2. Tool call transparency — Show tool calls in real-time; builds trust, helps debugging
  3. Suggestions — Emit suggestion buttons after responses; guide users to next actions
  4. Custom UI — Use state updates to render charts, tables, forms; richer than plain text
  5. Human-in-the-loop — Emit confirmation requests before destructive actions; users approve or reject
  6. Progress tracking — Emit progress percentages for long tasks; prevent user anxiety
  7. Framework agnostic — AG-UI protocol works with any agent backend (LangGraph, CrewAI, custom)
  8. CopilotKit integration — AG-UI powers CopilotKit; use CopilotKit for higher-level React components

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.