Assign and manage high-level skill packages that define what this agent can do — from individual apps to pre-built suites.
Skills are packages of capabilities you assign to an agent. Think of them like apps on a phone — each skill unlocks specific functionality. For example, a "Gmail" skill gives the agent the ability to read, send, and manage emails. A "Web Browser" skill lets it visit websites.
Suites are bundles of related skills. The "Google Workspace" suite, for instance, includes Gmail, Calendar, Drive, Sheets, Docs, and Contacts all in one click. You can start with a suite and then remove individual skills you don't need.
The current skills are shown as colored badges on the agent's detail page. Click "Edit Skills" to add or remove them.
Skills are stored as an array of string IDs in config.skills on the agent. The edit UI fetches two endpoints on mount:
GET /skills/by-category — Returns { categories: { "category-name": [{ id, name, icon, description }, ...] } }GET /skills/suites — Returns { suites: [{ id, name, icon, skills: string[] }, ...] }On save, the selected skill IDs are sent via hot-update (POST /agents/:id/hot-update) if the agent is running, or config patch (PATCH /agents/:id/config) if stopped. The payload is { updates: { skills: [...] }, updatedBy: "dashboard" }.
Skills and tools are related but different:
| Aspect | Skills | Tools |
|---|---|---|
| Level | High-level packages | Individual functions |
| Granularity | One skill = many tools | One tool = one function |
| Config key | config.skills | Per-category toggles via bridge |
| UI location | Skills tab | Tools tab |
| Example | "google-calendar" | calendar_list_events, calendar_create_event |
Skills determine the agent's role at a macro level. Tools provide fine-grained control over individual functions. Assign skills first, then use the Tools tab for detailed adjustments.
Suites are pre-built bundles of related skills. They appear at the top of the edit view as clickable cards with an icon, name, and skill count (e.g., "6 apps").
Suite toggle behavior:
Visual states:
Each skill has:
google-gmail, web-browser)In view mode, skill IDs are displayed as badges with auto-formatting: hyphens become spaces and words are capitalized (e.g., google-gmail → "Google Gmail").
In edit mode, skills are grouped by category (e.g., "communication," "productivity," "development"). Category headers appear as uppercase labels. Categories are fetched from /skills/by-category and displayed in the order returned by the server.
When searching, categories with no matching skills are hidden entirely.
The search box filters skills by matching against both the skill name and description (case-insensitive). This is useful when you know what you need but not which category it's in. The search applies only to individual skills, not suites.
Skill changes can be applied to running agents without restarting them. The dashboard checks the agent's state (running, active, or degraded) and uses the hot-update endpoint if active. If the agent is stopped, the standard config patch is used instead.
Suites are designed for common roles. Pick the one closest to your agent's purpose, save it, then go back in and remove individual skills you don't need. This is faster and ensures you don't miss related capabilities.
A customer support agent should have email and messaging skills but probably not code execution or file system access. Assign skills that match the agent's intended purpose — this improves both security and the quality of the agent's behavior.
With dozens of available skills, scrolling through categories can be slow. Use the search box to jump directly to what you need.
Role templates (in the Permissions tab) may set skills automatically. After applying a template, visit the Skills tab to verify and adjust the assigned skills.
Skills and tools work together. If you add a skill but the underlying tool category is disabled in the Tools tab, the skill may not function fully. Check both tabs when debugging capability issues.
The skill catalog is fetched from /skills/by-category. If the engine is unreachable or returns empty data, no skills appear. Check the browser console for network errors and verify the engine is running.
Skills define availability but the agent's LLM prompt must be aware of them. If you've added skills but the agent ignores them, check that the agent's session was restarted (or hot-updated) after the change. Also verify the corresponding tool categories are enabled in the Tools tab.
This happens when some skills in the suite were added individually or removed after applying the suite. Click the suite card to fill in the missing skills, or click again to remove all of them.
If hot-update fails (e.g., agent crashed mid-update), try stopping the agent, saving skills, then restarting. The config patch endpoint is more reliable for stopped agents.
In view mode, skill IDs are auto-formatted (hyphens → spaces, title case). If you see raw IDs, this is expected — the view mode doesn't fetch full metadata, just formats the stored ID strings.
When an agent belongs to a client organization, skill availability may be scoped to that organization: