Skip to content

Three abstractions: capabilities, roles, and triggers

Product configuration assembles in three layers: reusable capabilities, job roles, and triggers that decide when work starts. Roles reference capability names and permission policy; triggers only deliver a template prompt into a target role or team—they do not reinvent the tool system.

flowchart LR
Cap[Capabilities: Skill / MCP] --> Role[Role: persona, capabilities, permission, approval policy]
Role --> Trig[Trigger: user / event / schedule]
Trig --> Run[Session or TeamRun]
LayerContents
CapabilitiesSkill packages/presets, MCP connections; may belong to an owner and be shared into a tenant
Rolespersona, capabilities[], permissions, approval_policy, optional model and runtime agent
Triggersuser / event / schedule; prompt_template; target is exactly one of target_role_id or target_team_id

Capabilities assemble into roles → a trigger points at a role or a team → fire creates a session (or collaborative run) and delivers the prompt. Human chat does not go through triggers, but still uses the same role and permission model.

Detail: trigger component chain.


Related reading: