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.
Three layers
Section titled “Three layers”flowchart LR Cap[Capabilities: Skill / MCP] --> Role[Role: persona, capabilities, permission, approval policy] Role --> Trig[Trigger: user / event / schedule] Trig --> Run[Session or TeamRun]| Layer | Contents |
|---|---|
| Capabilities | Skill packages/presets, MCP connections; may belong to an owner and be shared into a tenant |
| Roles | persona, capabilities[], permissions, approval_policy, optional model and runtime agent |
| Triggers | user / event / schedule; prompt_template; target is exactly one of target_role_id or target_team_id |
The chain
Section titled “The chain”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: