Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/assistant-ui/tool-ui/claude-mdgit clone --depth 1 https://github.com/assistant-ui/tool-uiWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00887 | $0.00887 |
| Opus 5 | $0.00443 | $0.00443 |
| Sonnet 5 | $0.00177 | $0.00177 |
| Haiku 4.5 | $0.00089 | $0.00089 |
Grade A, and why
tool-ui CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tool UI
Copy/paste component library (shadcn/ui model) for AI assistant interfaces. Users copy component directories into projects and modify them. Source code is the product—readability over cleverness.
Commands
pnpm dev # Dev server (Turbopack)
pnpm build # Production build
pnpm check # Parallel: typecheck + oxlint + eslint + format check
pnpm lint:fix # Fix lint errors (run before committing)
pnpm typecheck # TypeScript checking (tsgo)
pnpm test # Run tests (Vitest)
Tooling
- Formatter: Oxfmt (config:
apps/www/.oxfmtrc.jsonc) — Tailwind class sorting + import sorting - Linter: Oxlint (
apps/www/.oxlintrc.json) handles standard rules; ESLint (apps/www/eslint.config.ts) retained only forno-restricted-syntax,no-restricted-imports, customtool-ui/*rules, and React Compiler hooks - Typecheck: tsgo (
@typescript/native-preview) — native TypeScript compiler - Parallel checks:
pnpm checkruns typecheck + all linters + format in parallel vianpm-run-all2
Stack
- Package manager: pnpm (required)
- Dependencies: Only shadcn/ui prerequisites (Tailwind, Radix, Lucide)—users shouldn't need new deps
Architecture
Component Structure
Each component lives in apps/www/components/tool-ui/{name}/. Reference: apps/www/components/tool-ui/approval-card/
Key files:
index.tsx— Barrel exports{name}.tsx— Main componentschema.ts— Zod schema + SerializableX types_adapter.tsx— shadcn re-exports
The shared/ directory contains utilities all components need.
Documentation Site
Interconnected registries:
- Component metadata:
apps/www/lib/docs/component-registry.ts - Presets (example data):
apps/www/lib/presets/{component}.ts - Preview rendering:
apps/www/lib/docs/preview-config.tsx - Doc pages:
apps/www/app/docs/{component}/content.mdx - Gallery:
apps/www/app/docs/gallery/page.tsx
Key Patterns
Component API
- Tailwind for layout: No
maxWidth/paddingprops—users customize viaclassName - Standard widths: Cards use
min-w-80 max-w-md, compact components usemax-w-sm - Flat props: Avoid nested config objects
- Semantic action IDs: Use
id: "confirm"/id: "cancel"for local and decision actions - Receipt state: Use
choiceprop to render confirmed state (e.g.,<OptionList choice="option-a" />)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 88 lines · 887 tokens per session scan A 661aad540b3a
tool-ui CLAUDE.md is an instructions file published in the GitHub repository assistant-ui/tool-ui (773 stars, last pushed 3mo ago), licensed MIT. It adds 887 tokens to every session, about $0.0044 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
uview-plus AGENTS.md
AGENTS.md instructions for ijry/uview-plus, covering agents, 提交规范, 发布规范 and uview-plus说明.
dile-components AGENTS.md
Instructions for Polydile/dile-components, covering development guidelines for dile components, repository overview, packages, documentation site and demos.
next.js AGENTS.md
Instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
recharts AGENTS.md
Instructions for recharts/recharts: This is Recharts repository. Recharts is a React-based charting library. The goal is to provide a simple, declarative, and composable way to build charts. We value consistency, usability, and performance. Accessibility is important.
gradio AGENTS.md
AGENTS.md instructions for gradio-app/gradio, covering agents.md, repository structure, pull request rules, code style and agentic contribution policy.
ui AGENTS.md
AGENTS.md instructions for nuxt/ui, covering agents.md, project overview, project structure, commands and cli for scaffolding.