# CrewAI Specialist Implementation Guide ## Name Sensitivity A lot of the required functionality to implement specialists has been automated. This automation is based on naming conventions. So ... names of variables, attributes, ... needs to be precise, or you'll get problems. ## Base Class: CrewAIBaseSpecialistExecutor Inherit your SpecialistExecutor class from the base class CrewAIBaseSpecialistExecutor ### Conventions - tasks are referenced by using the lower case name of the configured task - agents idem dito ### Specialise the __init__ method - Define the crews you want to use in your specialist implementation - Do other initialisations you require - Call super ### Type and Typeversion properties - Adapt the type and type_version properties to define the correct specialist. This refers to the actual specialist configuration! ### Implement _config_task_agents This method links the tasks to the agents that will perform LLM interactions. You can call the method _add_task_agent to link both. ### Implement _config_pydantic_outputs This method links the tasks to their pydantic outputs, and their name in the state class.