class_docstr: Manages Custom added Skills and tracks used skills for the query
class_docstr_tok: ["Manages","Custom","added","Skills","and","tracks","used","skills","for","the","query"]
docstr: Add skills to the list of skills. If a skill with the same name
       already exists, raise an error.
  
  Args:
      *skills: Variable number of skill objects to add.
docstr_tok: ["Add","skills","to","the","list","of","skills",".","If","a","skill","with","the","same","name","already","exists",",","raise","an","error",".","Args",":","*","skills",":","Variable","number","of","skill","objects","to","add","."]
code: def add_skills(self, *skills: Skill):
      """
      Add skills to the list of skills. If a skill with the same name
           already exists, raise an error.
  
      Args:
          *skills: Variable number of skill objects to add.
      """
      for skill in skills:
          if any(
              existing_skill.name == skill.name
              for existing_skill in self._skills
          ):
              raise ValueError(
                  f"Skill with name '{skill.name}' already exists."
              )
  
      self._skills.extend(skills)
  
file_path: pandas-ai/pandasai/helpers/skills_manager.py
imports: from typing import List, Optional
  from pandasai.skills import Skill
label_desc: Use image node_id 2 for calling the SkillsManager obj's underlying member method code with example usage: obj.add_skills() without return types