Capability System
The Capability System defines what agents can do, mapping skills and components to granular permissions that enable governance and maturity-based access control.
Overview
Capabilities bridge the gap between agent skills and governance, providing fine-grained control over what actions agents can perform based on their maturity level and training.
Core Concepts
What are Capabilities?
Capabilities are specific actions or permissions that agents can perform. Examples include:
- Data Operations: Query databases, generate reports, create visualizations
- Code Execution: Run scripts, access terminal, execute commands
- Integrations: Make API calls, handle webhooks, connect to external services
- Communication: Send emails, post messages, trigger notifications
Capability Types
| Type | Purpose | Examples |
|---|---|---|
| Tool | Access to specific features | Chart rendering, code editor, data visualization |
| Action | Specific operations | API calls, data queries, webhook triggers |
| Permission | Sensitive operations | Shell access, database writes, system configuration |
Functional Domains
Capabilities are organized by domain:
| Domain | Focus | Example Capabilities |
|---|---|---|
| Data Analysis | Analytics and reporting | Data visualization, chart generation, dashboard creation |
| Code Execution | Running code and scripts | Code execution, command line, file operations |
| Integrations | External service connections | API calls, webhooks, data connectors |
| Communication | Messaging and notifications | Email, Slack, SMS, in-app notifications |
| Automation | Workflow and scheduling | Triggers, scheduled tasks, automation rules |
How Capabilities Work
Capability Assignment
When an agent is created, it receives capabilities based on:
- Installed Skills: Each skill provides specific capabilities
- Canvas Components: UI components grant related capabilities
- Agent Maturity: Higher maturity levels unlock more capabilities
Governance Enforcement
Before an agent performs an action, the system checks:
- Capability Existence: Does the agent have this capability?
- Maturity Check: Is the agent's maturity level sufficient?
- Rate Limits: Has the agent exceeded usage quotas?
- Tenant Permissions: Is the capability allowed for this tenant?
Capability Inference
The system automatically discovers capabilities from:
- Component Analysis: Examines what canvas components do
- Skill Metadata: Extracts capability information from skill definitions
- Usage Patterns: Learns from actual agent behavior
Usage Patterns
Granting Capabilities
Capabilities are typically granted automatically when:
- Installing a skill: The skill's capabilities are added to the agent
- Adding canvas components: Component capabilities are inferred
- Promoting maturity: Higher maturity unlocks additional capabilities
Checking Permissions
Before executing actions, agents verify they have the required capability:
Agent wants to execute code
↓
Check: Does agent have "code_execution" capability?
↓
Check: Is agent maturity ≥ "supervised"?
↓
Check: Is code execution within rate limits?
↓
Execute or Deny
Capability Profiling
Track agent capabilities by:
- Domain Coverage: Which functional domains the agent operates in
- Proficiency Level: How skilled the agent is with each capability
- Usage Frequency: How often capabilities are used
- Success Rate: Success vs. failure ratios
Maturity and Capabilities
Different maturity levels have different capability access:
| Maturity | Capability Access | Governance |
|---|---|---|
| Student | Read-only capabilities | Observation only |
| Intern | Basic capabilities with approval | Requires approval for actions |
| Supervised | Most capabilities | Live monitoring, can queue if unavailable |
| Autonomous | All capabilities | Self-directed, can supervise others |
Capability Marketplace
Share and discover capabilities across tenants:
- Capability Templates: Pre-defined capability sets for common use cases
- Best Practices: Learn how others structure capabilities
- Cross-Tenant Sharing: Reuse capability definitions (with governance)
API Overview
Capability Management
- List all available capabilities
- Get details about specific capabilities
- Create custom capabilities
- Update capability definitions
Agent Capabilities
- View agent's assigned capabilities
- Add capabilities to agents
- Remove capabilities from agents
- Check if agent can perform specific action
Capability Matrix
- View capability matrix across all agents
- Get agent capability profile
- Check domain proficiency
- Analyze capability usage patterns
Capability Feedback
- Submit feedback on capability execution
- View capability success rates
- Identify capabilities needing improvement
Best Practices
- Start Small: Grant minimal capabilities, expand as agent proves competence
- Domain Alignment: Group related capabilities under appropriate domains
- Monitor Usage: Track which capabilities are used most/least
- Regular Reviews: Periodically audit and update capability assignments
- Progressive Expansion: Add capabilities as agents demonstrate success
Common Scenarios
Creating a Data Analyst Agent
Required Capabilities:
- data_visualization (tool)
- chart_rendering (tool)
- data_query (action)
- report_generation (action)
Required Maturity: Intern or higher
Domain: Data Analysis
Creating an Integration Specialist
Required Capabilities:
- api_call (action)
- webhook_handler (action)
- data_connector (tool)
- authentication_management (permission)
Required Maturity: Supervised or higher
Domain: Integrations
See Also
- Specialist Domains - Domain-based expertise
- Agent Maturity Levels - Maturity system details
- Entity System - Dynamic data structures