adk-frontend
Guidelines for building frontend applications that integrate with Botpress ADK bots - covering authentication, type generation, client setup, and calling bot actions
Security Assessment
About adk-frontend
adk-frontend is a documentation/guidance skill that provides production-tested patterns for building frontend applications that integrate directly with Botpress ADK bots. It solves the friction of connecting a web UI to an ADK bot by treating the bot's actions as API endpoints and its tables as a database, so frontend and bot share the same business logic, validation schemas, and generated TypeScript types instead of maintaining a duplicate REST layer.
The skill is organized as a SKILL.md plus a set of reference documents covering authentication (cookie-based Personal Access Token storage with an OAuth login flow and route protection), client setup (initializing @botpress/client, a Zustand store pattern for caching client instances, and the Zai client), type generation (triple-slash references and ADK-generated .adk type files for compile-time safety), and calling actions (client.callAction usage, error handling, optimistic updates, and React Query mutations). Additional references cover project setup with Vite and React, a recommended tech stack, a service-layer pattern, TanStack Query data fetching, Zustand-versus-Query state management, and polling strategies for real-time updates. It answers concrete developer questions such as whether to use cookies or localStorage, how to keep types in sync, and how to chain action calls.
It targets frontend and full-stack developers building admin dashboards, bot management UIs, and real-time collaboration tools on top of Botpress ADK bots. The content is read-only advisory material — patterns, code snippets, and architectural diagrams — rather than executable tooling, so it is a reference guide the assistant consults when answering ADK frontend integration questions.
FAQ
What is an ADK-integrated frontend?
A web app that calls the bot's actions as API endpoints (via client.callAction) and queries the bot's tables as a database (via client.findTableRows), so frontend and bot share business logic, Zod validation schemas, and auto-generated TypeScript types instead of a separate REST API.
What authentication approach does it recommend?
Cookie-based storage of Personal Access Tokens (rather than localStorage), an AuthContext via React Context, an OAuth callback flow through cli-login, and route protection with TanStack Router.
How does type safety work across bot and frontend?
ADK generates TypeScript types from the bot when you run `adk dev`, exposed through triple-slash references and .adk type files, giving compile-time errors if the bot API changes and IntelliSense for action inputs and outputs without manual type maintenance.
What is the recommended tech stack?
The @botpress/client TypeScript client, Vite + React scaffolding, Zustand for client-instance state management, and React Query / TanStack Query for mutations, cache management, and optimistic updates.
When is this pattern not a good fit?
The overview notes it suits admin dashboards, bot management UIs, and real-time collaboration tools; it is less ideal for high-traffic public scenarios where a dedicated API layer may be preferable.
All Files
12 filesInstall adk-frontend
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
botpress/skills