What is “agentic”?
An agentic experience uses AI to act on your behalf, not just to advise you. Four things define it:- Context: the system understands what’s relevant.
- Reasoning: it makes thoughtful, adaptive decisions.
- Conversation: it explains what it’s doing.
- Action: it takes meaningful steps for you, not just suggestions you have to act on yourself.
Overview
AI Kit is part of Anvil2. It extends the Anvil2 ecosystem with design guidance and building blocks for agentic experiences, including chat, generative UI, panels, action surfaces, and agent-mediated flows. Carto provides the visual layer for AI Kit through its typography, iconography, semantic tokens, component tokens, and component styling. Core Anvil2 continues to support standard product surfaces, while AI Kit applies Carto to agentic surfaces within AgentOS.When do I use AI Kit?
Use AI Kit when building an agentic surface within AgentOS. Do not apply the Carto theme to an entire screen solely because it contains an AI-powered feature. When an agentic element appears within a core Anvil2 surface, use the defined integration patterns for that element instead of applying AI Kit components or the Carto theme to the surrounding product UI.How does AI Kit relate to Anvil2?
AI Kit belongs to the Anvil2 design system and specializes it for agentic product experiences. Use core Anvil2 components and guidance for standard product UI. Use AI Kit when a surface requires agentic interaction patterns, AI-specific components, or the Carto visual treatment. The Carto theme gives agentic surfaces a distinct visual identity while keeping their implementation within the Anvil2 ecosystem.Beyond the Carto theme, AI Kit uses agent-friendly APIs to improve
consistency. Its components favor prop-driven interfaces over compositions of
subcomponents, limit reliance on open-ended
children props, and use a
tighter token system to keep web and mobile libraries aligned automatically.
Over time, these API improvements will be incorporated into the core Anvil2
library.How is this different from Atlas v1?
Atlas v1 was the previous iteration of ServiceTitan’s agentic chat experience. It was built withext-atlas, Anvil2’s extended Atlas component library, and focused on chat-based interactions.
Atlas today uses AI Kit and the Carto theme to support agentic experiences beyond chat. ext-atlas supports existing Atlas v1 integrations and is deprecated for new Atlas experiences.
How do I start?
Design assets
- Get familiar with what’s covered above: when to use AI Kit, how it relates to Anvil2, and how Carto styles agentic surfaces.
- Explore the component libraries in Figma:
- Explore the AI Kit component Storybook.
- Have questions on agentic patterns? Ask in #support-agentic-design. Have questions about components or implementation? Ask in #ask-designsystem. Since the system and its conventions are still forming, a quick check-in helps you avoid rework as things solidify.
Engineering assets
Use@servicetitan/carto-react-kit to implement AI Kit experiences on the web. It provides chat shells, prompts, artifacts, supporting primitives, and the Carto theme through a consistent React API.
Peer requirements: react@>=18 <20, react-dom@>=18 <20.
Storybook
AI Kit component Storybook
Explore API documentation and interactive component examples.
AI Kit API documentation will move to this site soon.
Install
Styles
Import the CSS bundle once at your application entry point so vanilla-extract styles load:Theme
Wrap your AI Kit tree inCartoTheme so Carto design tokens inherit to every descendant, including components rendered inside MFE shadow roots:
document.body, so token context stays intact.
Fonts
AgentOS pairs Sofia Pro for headers with Inter for body copy. This differs from the existing setup in Web, which pairs Sofia Pro with Nunito Sans. Prefetch Inter in your document<head> for the fastest first paint. The kit also injects this link at module load as a safety net.
Quick start
Icons
AI Kit uses Lucide icons (lucide-react) along with a small number of custom Carto SVGs. Import icons from the kit subpath, not directly from lucide-react:
Internationalization
CartoIntlProvider is optional. Without it, components render English. Mount it inside CartoTheme to switch locale or override strings without colliding with your app’s react-intl context:
Resources
AI Kit overview
Learn what AI Kit covers and how its documentation is organized.
Terminology
Explore core terms used across AI experiences and ServiceTitan.
Visual Foundations
Explore the visual foundations of AI Kit and the Carto theme.
Components
Browse reusable AI Kit building blocks.
AI UX
Read guidance for agentic product experiences.