Tool YAML creation

I read some discussion on this and it seemed like it can be done but I am just seeking clarification. I would like to have a tools.yaml file that has all the tools defined like agents and tasks are. Then import them or use the @tool decorator to call them in the main file. so something like this : # Supabase Tools Configuration
tools:

  • name: supabase_query
    description: Query data from a Supabase table with filtering, ordering, and pagination options.
    function: query_supabase
    parameters:
    • name: table
      type: str
      description: The name of the table to query
      required: true
    • name: select
      type: str
      description: Columns to select (comma-separated or * for all)
      default: “*”
    • name: filter
      type: str
      description: JSON string of filter criteria (e.g., ‘{“column”:“value”}’)
      required: false
    • name: order
      type: str
      description: Column to order by (prefix with - for descending)
      required: false
    • name: limit
      type: int
      description: Maximum number of rows to return
      required: false
    • name: offset
      type: int
      description: Number of rows to skip
      required: false

works?

Not out of the box, Aaron. It’s something you’d have to implement yourself, and honestly, it might not be worth the hassle. Basically, tools are just callables, and there are two official ways to define them, according to the CrewAI documentation.

Natively, you can define Agents and Tasks in YAML, and here in this thread I showed a simple way to define LLMs in YAML too. You’d probably have to wrestle with some unnecessary complexity to get tools working from a YAML file.