Capability Matching

Find tools by intent or capability, not just name.

category: Tool Discovery
arcade.dev/patterns

Context

Large tool ecosystems where naming isn't intuitive.

Problem

Agents may not know the exact tool name for a task.

Solution

Support intent-based discovery:
- Semantic search: Find tools by description
- Capability tags: "can_send_email", "can_read_calendar"
- Action mapping: "send email" → send_email tool

Examples

Python
@tool
def find_tool_by_intent(intent: str) -> list[ToolMatch]:
    """Find tools that can accomplish an intent.
    
    Args:
        intent: Natural language description like
               "send a message to a user" or
               "get calendar events for today"
    
    Returns ranked list of matching tools.
    """
    return semantic_search(intent, all_tools)

Considerations

  • Use embeddings for semantic matching
  • Return multiple options with confidence scores
  • Include usage examples in results

Related Patterns

More in Tool Discovery