Capability Verbs
Modal verbs that express different levels of agent capabilities.
Overview
Capability verbs are modal verbs used in agent definitions to express different levels of capability, obligation, permission, and prohibition.
Keywords
can- Ability/capabilitymust- Strong obligationshould- Recommendationmay- Permissionwill- Intention/commitmentshall- Formal requirementcannot- Prohibition/inability
can - Ability/Capability
Indicates the agent is able to perform an action.
Usage
agent OrderProcessor {
can fetch order
can validate items
can process payment
}
✨ Edit in StudioWith Conditions
agent SmartProcessor {
can process order when validated
can send notification if successful
}
✨ Edit in StudioUse Cases
- Standard capabilities
- Optional actions
- Conditional operations
must - Strong Obligation
Indicates the agent is required to perform an action.
Usage
agent ComplianceAgent {
must validate input
must log transaction
must verify signature
}
✨ Edit in StudioWith Conditions
agent SecurityAgent {
must authenticate when accessing_secure_data
must encrypt when storing_sensitive_info
must audit_log when making_changes
}
✨ Edit in StudioUse Cases
- Critical operations
- Compliance requirements
- Security checks
- Mandatory logging
should - Recommendation
Indicates the agent ought to perform an action (best practice).
Usage
agent BestPracticeAgent {
should validate input
should cache results
should retry when failed
}
✨ Edit in StudioUse Cases
- Best practices
- Recommended but not critical actions
- Optimization suggestions
may - Permission
Indicates the agent is permitted to perform an action.
Usage
agent PermissionedAgent {
may access premium_features when subscribed
may export data if authorized
may modify settings
}
✨ Edit in StudioUse Cases
- Permission-based actions
- Optional features
- Conditional access
will - Intention/Commitment
Indicates the agent intends to or will perform an action.
Usage
agent PromiseAgent {
will send confirmation
will update status
will notify subscribers
}
✨ Edit in StudioUse Cases
- Future commitments
- Guaranteed actions
- Promise of execution
shall - Formal Requirement
Indicates a formal requirement (similar to must, more formal).
Usage
agent FormalAgent {
shall comply with regulations
shall maintain audit trail
shall verify credentials
}
✨ Edit in StudioUse Cases
- Formal requirements
- Regulatory compliance
- Contract obligations
cannot - Prohibition/Inability
Indicates explicit prohibition or inability.
Usage
agent RestrictedAgent {
cannot delete user_data
cannot proceed if unauthorized
cannot modify when locked
}
✨ Edit in StudioUse Cases
- Explicit prohibitions
- Security restrictions
- Business rule violations
Comparison Table
| Verb | Strength | Meaning | Use Case |
|---|---|---|---|
can | Neutral | Able to perform | Standard capability |
must | Strong | Required to perform | Critical operation |
should | Weak | Ought to perform | Best practice |
may | Permissive | Permitted to perform | Optional with permission |
will | Commitment | Intends to perform | Future guarantee |
shall | Formal | Formally required | Compliance |
cannot | Prohibitive | Not able/allowed | Restriction |
Real-World Examples
Payment Processing
agent PaymentProcessor {
# Required operations
must validate card_details
must encrypt payment_info
must log transaction
# Standard capabilities
can process payment when validated
can retry payment if declined
# Best practices
should notify customer when complete
should cache validation results
# Permissions
may issue refund if authorized
# Commitments
will send receipt
will update order status
# Prohibitions
cannot store raw_card_numbers
cannot proceed if fraud_detected
}
✨ Edit in StudioContent Moderation
agent ContentModerator {
# Required checks
must scan for prohibited_content
must flag suspicious_activity
must log moderation_actions
# Capabilities
can auto_approve when clearly_safe
can auto_reject when clearly_violates
# Best practices
should escalate when uncertain
should provide feedback to users
# Commitments
will review flagged_content
will notify users of decisions
# Formal requirements
shall comply with content_policy
shall maintain moderation_records
# Prohibitions
cannot publish without_review
cannot delete without_logging
}
✨ Edit in StudioData Management
agent DataManager {
# Critical operations
must validate data_integrity
must backup before_modifications
must verify permissions
# Standard operations
can read data when authorized
can write data if validated
can transform data
# Recommendations
should cache frequently_accessed_data
should compress large_datasets
should clean old_data
# Optional features
may export to external_systems if configured
may archive old_records
# Guarantees
will maintain consistency
will log all operations
# Restrictions
cannot delete without_confirmation
cannot expose sensitive_data
cannot bypass audit_logging
}
✨ Edit in StudioCombining Verbs
Agents can use multiple verbs to express complex behavior:
agent ComplexAgent {
# Phase 1: Validation (required)
must validate input
cannot proceed if invalid
# Phase 2: Processing (capability)
can process data when validated
should optimize processing
# Phase 3: Persistence (requirement)
must save results
must log completion
# Phase 4: Notification (commitment)
will notify success
should send summary_email
# Permissions
may trigger downstream_process if configured
}
✨ Edit in StudioBest Practices
Choose the Right Verb
-
Use
mustfor:- Security requirements
- Compliance needs
- Critical business logic
-
Use
canfor:- Standard operations
- Conditional actions
- Feature capabilities
-
Use
shouldfor:- Best practices
- Optimizations
- Recommendations
-
Use
cannotfor:- Security restrictions
- Business rules
- Error prevention
Verb Hierarchy
From strongest to weakest obligation:
must / shall (required)
↓
will (committed)
↓
should (recommended)
↓
can (able)
↓
may (permitted)
↓
cannot (prohibited)
Example Pattern
agent WellDesignedAgent {
# 1. Required validations
must validate input
cannot proceed if invalid
# 2. Core processing
can process data
should optimize processing
# 3. Required outputs
must save results
will notify completion
# 4. Optional enhancements
may export results if requested
}
✨ Edit in StudioConditional Usage
All verbs can be combined with conditions:
when Conditions
agent ConditionalAgent {
can process when ready
must validate when receiving_input
should cache when frequently_accessed
cannot modify when locked
}
✨ Edit in Studioif Conditions
agent LogicalAgent {
can approve if criteria_met
must reject if policy_violated
should warn if threshold_exceeded
may proceed if authorized
}
✨ Edit in StudioIntegration Examples
With Workflows
workflow OrderFlow {
state pending -> processing
state processing -> completed
}
agent OrderAgent {
must validate when pending
can process when validated
will update_status to completed
cannot cancel when completed
}
✨ Edit in StudioWith Roles
role AdminRole {
permission system {
manage
}
}
agent SystemAdmin: AdminRole {
can configure system
must backup before_changes
should test configuration
cannot expose credentials
}
✨ Edit in StudioSummary
Capability verbs provide precise control over agent behavior:
- Obligations:
must,shall- Required actions - Capabilities:
can- What agent can do - Recommendations:
should- Best practices - Permissions:
may- Optional with permission - Commitments:
will- Guaranteed actions - Prohibitions:
cannot- Explicit restrictions
Choose verbs carefully to clearly express your intent and requirements.
Related Keywords
agent- Agents use capability verbs- Control Flow - Conditional execution
visitor- Visitors also usecan
Next Steps
- Learn about Agents that use these verbs
- Explore Control Flow for conditions
- See Complete Examples with capability verbs