composabl_core.agent.skill.skill

The fundamental block an agent is composed out of is named a Skill. These skills can have a different purpose (type) and can be used in various ways to create a complex agent (=implementation). Within the Composabl SDK, we provide the following types of skills:

Skill Types

SkillType Description
Skill A normal skill, reflecting a user its experience (e.g., Pick Up, Place, ...)
Selector A selector that defines which skill to take in which situation
Coordinated A skill that coaches skills to work together for a common strategy
Group A skill that groups multiple skills together and pipes the output from one to the other

Implementation Techniques

These skills can be implemented in different ways that can be seen as "Directors" performing certain actions:

Implementation Technique Description
Controller A skill that is programmed to determine which action to take based on the observation space
Teacher A skill that uses a Teacher to learn which action to take based on the observation space
Coach A skill that uses a Coach to learn how skills can work together based on the observation space
class Skill:
Attributes:
  • id (str): A unique identifier for the skill.
  • name (str): The name of the skill.
  • config (SkillOptions): The configuration of the skill.
  • impl_cls (Union[SkillTeacher, SkillController]): The implementation class of the skill.
  • impl_cls_module (Union[None, object]): The module of the implementation class.
  • is_initialized (bool): Whether the skill is initialized.