Skip to content

Enhancement: Add available skills list to SkillsTool description #515

@MengJiapeng

Description

@MengJiapeng

Feature Request / Enhancement

Problem Description
The current SkillsTool in veadk/tools/skills_tools/skills_tool.py doesn't display available skills in its tool description. This makes it difficult for the LLM to know which skills are available to invoke.

Solution Implemented

  • Enhance the _generate_description() method to include the list of available skills
  • Display skills in <available_skills> format with <name> and <description> tags
  • This helps the LLM understand what skills are available and how to invoke them

Changes Made

--- a/veadk/tools/skills_tools/skills_tool.py
+++ b/veadk/tools/skills_tools/skills_tool.py
@@ -65,8 +65,18 @@ class SkillsTool(BaseTool):
             "- If not specified, scripts are located in the skill-name/scripts subdirectory\n"
             "</skills_instructions>\n\n"
         )
 
+        available_skills_description = "<available_skills>\n"
+        for skill_name, skill in self.skills.items():
+            available_skills_description += (
+                f"  <skill>\n"
+                f"    <name>{skill_name}</name>\n"
+                f"    <description>{skill.description}</description>\n"
+                f"  </skill>\n"
+            )
+        available_skills_description += "</available_skills>"
+
         return base_description
+        return base_description + available_skills_description

Expected Behavior
After this enhancement, when the LLM receives the tool description for skills_tool, it will see a complete list of available skills with their names and descriptions, making it easier to select and invoke the appropriate skill for the task at hand.

Additional Context
This is a follow-up to previous work on the skills feature, improving discoverability and usability for AI agents.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions