ATOM Documentation

← Back to App

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

TypePurposeExamples
ToolAccess to specific featuresChart rendering, code editor, data visualization
ActionSpecific operationsAPI calls, data queries, webhook triggers
PermissionSensitive operationsShell access, database writes, system configuration

Functional Domains

Capabilities are organized by domain:

DomainFocusExample Capabilities
Data AnalysisAnalytics and reportingData visualization, chart generation, dashboard creation
Code ExecutionRunning code and scriptsCode execution, command line, file operations
IntegrationsExternal service connectionsAPI calls, webhooks, data connectors
CommunicationMessaging and notificationsEmail, Slack, SMS, in-app notifications
AutomationWorkflow and schedulingTriggers, scheduled tasks, automation rules

How Capabilities Work

Capability Assignment

When an agent is created, it receives capabilities based on:

  1. Installed Skills: Each skill provides specific capabilities
  2. Canvas Components: UI components grant related capabilities
  3. Agent Maturity: Higher maturity levels unlock more capabilities

Governance Enforcement

Before an agent performs an action, the system checks:

  1. Capability Existence: Does the agent have this capability?
  2. Maturity Check: Is the agent's maturity level sufficient?
  3. Rate Limits: Has the agent exceeded usage quotas?
  4. 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:

MaturityCapability AccessGovernance
StudentRead-only capabilitiesObservation only
InternBasic capabilities with approvalRequires approval for actions
SupervisedMost capabilitiesLive monitoring, can queue if unavailable
AutonomousAll capabilitiesSelf-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

  1. Start Small: Grant minimal capabilities, expand as agent proves competence
  2. Domain Alignment: Group related capabilities under appropriate domains
  3. Monitor Usage: Track which capabilities are used most/least
  4. Regular Reviews: Periodically audit and update capability assignments
  5. 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