Skip to main content

Capability

A capability is a marketing bullet point. It has no code semantics — it does not gate features, drive pricing, or imply any runtime contract. Pure UI.

Schema (agent_capabilities)

ColumnTypeNotes
idUUIDPK
agentIdUUIDFK → agents
icontextLucide icon slug (e.g. shield-check)
titletextShort heading
descriptiontextOne-sentence body
sortOrderintRender order, ascending

The frontend renders capabilities in a grid on the detail page. The icon is looked up via the LucideDynamicIcon component — any Lucide icon name lowercased + kebab-cased works.

Endpoints

VerbPathGuard
GET/agents/:agentId/capabilitiespublic
POST/agents/:agentId/capabilitiesplatform_admin
PATCH/agents/:agentId/capabilities/:idplatform_admin
DELETE/agents/:agentId/capabilities/:idplatform_admin

DTO

type CapabilityDto = {
id: string;
icon: string;
title: string;
description: string;
sortOrder: number;
};

Bulk replace (via agent update)

POST /agents/:id with a capabilities[] array replaces the full set in one transaction. Useful for editing in the admin UI.

Not to be confused with

  • Steps — the "how it works" section. Capabilities are what the agent does, steps are how the user uses it.
  • Metric definitions — the meterable units. A capability like "Voice replies" might be backed by a metric voice (boolean), but the capability bullet itself is pure copy.