Agent skill

Assistant UI Tools

by compozy in compozy/compozy

Guide for tool registration and tool UI in assistant-ui. An agent skill from compozy/compozy.

MITAuto-check passedAgent Workflows

Install Assistant UI Tools

skills CLI
$ npx skills add compozy/compozy --skill assistant-ui-tools -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install compozy/compozy assistant-ui-tools --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/compozy/compozy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/assistant-ui/assistant-ui-tools .claude/skills/assistant-ui-tools && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
assistant-ui-tools
GitHub stars
2.8k
Token cost
~868 tokens
SKILL.md length
81 words
Files
4 (incl. references)
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

Guide for tool registration and tool UI in assistant-ui. An agent skill from compozy/compozy.

  • Implementing LLM tools
  • SKILL.md covers References, Tool Types, Backend Tool with UI and Frontend-Only Tool, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tool call rendering

What it does

Assistant UI Tools is an agent skill from compozy/compozy. Guide for tool registration and tool UI in assistant-ui. Use when implementing LLM tools, tool call rendering, or human-in-the-loop patterns.

Its SKILL.md is about 870 tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/human-in-loop.md`, `references/make-tool.md` and `references/tool-ui.md`).

It sits in Agent Workflows, covering Human-in-the-loop approvals. The repository describes itself as: An operating system for AI agents. Plug in the agent CLIs you already use (Claude Code, Codex, Gemini CLI, Cursor) and they become a team: they split the work, hand tasks to each… The licence is MIT.

When your agent uses it

  • Implementing LLM tools
  • Tool call rendering
  • Human-in-the-loop patterns

Example prompts

  • “/assistant-ui-tools”

What it can do on your machine

Read from SKILL.md and the folder at commit eec2ed1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • assistant-ui.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Assistant UI Tools loads about 868 tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 40 tokens; SKILL.md has 81 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~868
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from compozy/compozy at commit eec2ed1, republished under its MIT licence (© compozy). 81 words, ~868 tokens.

Download SKILL.mdSave it as .claude/skills/assistant-ui-tools/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
assistant-ui-tools
description
Guide for tool registration and tool UI in assistant-ui. Use when implementing LLM tools, tool call rendering, or human-in-the-loop patterns.
version
0.0.1
license
MIT

assistant-ui Tools

Always consult assistant-ui.com/llms.txt for latest API.

Tools let LLMs trigger actions with custom UI rendering.

References

Tool Types

Where does the tool execute?
├─ Backend (LLM calls API) → AI SDK tool()
│  └─ Want custom UI? → makeAssistantToolUI
└─ Frontend (browser-only) → makeAssistantTool
   └─ Want custom UI? → makeAssistantToolUI

Backend Tool with UI

ts
// Backend (app/api/chat/route.ts)
import { tool, stepCountIs } from "ai";
import { z } from "zod";

const tools = {
  get_weather: tool({
    description: "Get weather for a city",
    inputSchema: z.object({ city: z.string() }),
    execute: async ({ city }) => ({ temp: 22, city }),
  }),
};

const result = streamText({
  model: openai("gpt-4o"),
  messages,
  tools,
  stopWhen: stepCountIs(5),
});
tsx
// Frontend
import { makeAssistantToolUI } from "@assistant-ui/react";

const WeatherToolUI = makeAssistantToolUI({
  toolName: "get_weather",
  render: ({ args, result, status }) => {
    if (status === "running") return <div>Loading weather...</div>;
    return <div>{result?.city}: {result?.temp}°C</div>;
  },
});

// Register in app
<AssistantRuntimeProvider runtime={runtime}>
  <WeatherToolUI />
  <Thread />
</AssistantRuntimeProvider>

Frontend-Only Tool

tsx
import { makeAssistantTool } from "@assistant-ui/react";
import { z } from "zod";

const CopyTool = makeAssistantTool({
  toolName: "copy_to_clipboard",
  parameters: z.object({ text: z.string() }),
  execute: async ({ text }) => {
    await navigator.clipboard.writeText(text);
    return { success: true };
  },
});

<AssistantRuntimeProvider runtime={runtime}>
  <CopyTool />
  <Thread />
</AssistantRuntimeProvider>

API Reference

tsx
// makeAssistantToolUI props
interface ToolUIProps {
  toolCallId: string;
  toolName: string;
  args: Record<string, unknown>;
  argsText: string;
  result?: unknown;
  status: "running" | "complete" | "incomplete" | "requires-action";
  submitResult: (result: unknown) => void;  // For interactive tools
}

Human-in-the-Loop

tsx
const DeleteToolUI = makeAssistantToolUI({
  toolName: "delete_file",
  render: ({ args, status, submitResult }) => {
    if (status === "requires-action") {
      return (
        <div>
          <p>Delete {args.path}?</p>
          <button onClick={() => submitResult({ confirmed: true })}>Confirm</button>
          <button onClick={() => submitResult({ confirmed: false })}>Cancel</button>
        </div>
      );
    }
    return <div>File deleted</div>;
  },
});

Common Gotchas

Tool UI not rendering

  • toolName must match exactly (case-sensitive)
  • Register UI inside AssistantRuntimeProvider

Tool not being called

  • Check tool description is clear
  • Use stopWhen: stepCountIs(n) to allow multi-step

Result not showing

  • Tool must return a value
  • Check status === "complete" before accessing result

© compozy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in .agents/skills/assistant-ui/assistant-ui-tools of compozy/compozy.

  • SKILL.md
  • references/human-in-loop.md
  • references/make-tool.md
  • references/tool-ui.md

Open the folder on GitHubat commit eec2ed1

Compare with similar skills

Assistant UI Tools next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Assistant UI Tools compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Assistant UI Tools this skillcompozy/compozy2.8k—~868Automated safety check: PassMIT
Show Me Your Work Decision Logcursor/plugins10k9 repos~1.6kAutomated safety check: PassNone
Darwin Skill Optimizeralchaincyf/darwin-skill6.2k1 repos~4.7kAutomated safety check: PassMIT
Loop Constraints Enforcercobusgreyling/loop-engineering11k1 repos~475Automated safety check: NotesMIT
Ask User QuestionMemTensor/MemOS12k—~1kAutomated safety check: PassApache-2.0
Agentmemory Forgetrohitg00/agentmemory29k—~612Automated safety check: PassApache-2.0

Similar skills

  • Official

    Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.

    10k GitHub starsUsed in 9 repos~1.6k tokens
    Agent WorkflowsAuto-check passed
  • Darwin Skill Optimizer

    alchaincyf/darwin-skill

    Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.

    6.2k GitHub starsUsed in 1 repo~4.7k tokens
    Agent WorkflowsAuto-check passed
  • Loop Constraints Enforcer

    cobusgreyling/loop-engineering

    Loads a project's loop-constraints.md before any other action and blocks pushes, edits or merges that violate the rules it defines.

    11k GitHub starsUsed in 1 repo~475 tokens
    Agent WorkflowsAuto-check: notes
  • Ask User Question

    MemTensor/MemOS

    Shows a question as a modal in the interface to clarify a task, collect a preference or get approval, since the user cannot see terminal output.

    12k GitHub stars~1k tokensUpdated 9 days ago
    Agent WorkflowsAuto-check passed
  • Agentmemory Forget

    rohitg00/agentmemory

    Deletes chosen memories from agentmemory only after showing the matches and getting an explicit yes, for privacy requests and cleanup of outdated notes.

    29k GitHub stars~612 tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Pushes an agent to keep verifying and changing approach after repeated failures, using a diagnosis line, evidence-based completion and confirmation before risky edits.

    20k GitHub stars~502 tokensUpdated 29 days ago
    Agent WorkflowsAuto-check passed

More from compozy/compozy

All 47 skills in this repo
  • Eng Real Scenario QA

    compozy/compozy

    Dogfoods Compozy through an autonomous startup scenario with live providers, cross-surface observation, and strict evidence audit.

    2.8k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Eng Test Conventions

    compozy/compozy

    Go test-shape discipline for Compozy. An agent skill from compozy/compozy.

    2.8k GitHub stars~467 tokensUpdated today
    Auto-check passed
  • Assistant UI

    compozy/compozy

    Guide for assistant-ui library - AI chat UI components. An agent skill from compozy/compozy.

    2.8k GitHub stars~958 tokensUpdated today
    Auto-check passed
  • Guide for assistant-ui UI primitives - ThreadPrimitive, ComposerPrimitive, MessagePrimitive.

    2.8k GitHub stars~999 tokensUpdated today
    Auto-check passed
  • Assistant UI Runtime

    compozy/compozy

    Guide for assistant-ui runtime system and state management. An agent skill from compozy/compozy.

    2.8k GitHub stars~856 tokensUpdated today
    Auto-check passed
  • Assistant UI Streaming

    compozy/compozy

    Guide for assistant-stream package and streaming protocols. An agent skill from compozy/compozy.

    2.8k GitHub stars~813 tokensUpdated today
    Auto-check passed

Categories

Questions about Assistant UI Tools

What does Assistant UI Tools do?

Guide for tool registration and tool UI in assistant-ui. An agent skill from compozy/compozy. Assistant UI Tools is an agent skill from compozy/compozy. Guide for tool registration and tool UI in assistant-ui.

When should I use Assistant UI Tools?

Assistant UI Tools fits situations like: implementing LLM tools; tool call rendering; human-in-the-loop patterns.

How do I install Assistant UI Tools in Claude Code?

Run `npx skills add compozy/compozy --skill assistant-ui-tools -a claude-code`. Or copy the skill folder (.agents/skills/assistant-ui/assistant-ui-tools in compozy/compozy) into .claude/skills/assistant-ui-tools in your project. Claude Code loads it when a task matches its description.

How do I install Assistant UI Tools in Codex?

Run `npx skills add compozy/compozy --skill assistant-ui-tools -a codex`. Or copy the skill folder (.agents/skills/assistant-ui/assistant-ui-tools in compozy/compozy) into .agents/skills/assistant-ui-tools in your project. Codex loads it when a task matches its description.

Can I use Assistant UI Tools in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add compozy/compozy --skill assistant-ui-tools -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/assistant-ui-tools, .gemini/skills/assistant-ui-tools, .github/skills/assistant-ui-tools and .opencode/skills/assistant-ui-tools in your project.

What does Assistant UI Tools need to run?

SKILL.md names no scripts, command-line tools or credentials: Assistant UI Tools is instructions for the agent only.

Does Assistant UI Tools access the network?

SKILL.md names 1 domain. As links in the text: assistant-ui.com. This is read from the text; nothing was executed.

Is Assistant UI Tools safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Assistant UI Tools use?

Assistant UI Tools is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Assistant UI Tools use?

About 868 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.1k tokens, read only when the agent opens those files.

What are the alternatives to Assistant UI Tools?

Skills that share tags, products or a category with Assistant UI Tools: Show Me Your Work Decision Log (cursor/plugins, 10k stars), Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars), Loop Constraints Enforcer (cobusgreyling/loop-engineering, 11k stars) and Ask User Question (MemTensor/MemOS, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Assistant UI Tools?

compozy (a GitHub organization) maintains it in compozy/compozy, which has 2,792 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 8, 2026.

Source: compozy/compozy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.