Is your feature request related to a specific problem?
Google Cloud recently released support for SkillsRegistry as part of the Gemini Enterprise Agent Platform. SkillsRegistry provides a secure, private and managed repository for agent skills. Notably, SkillsRegistry supports skills retrieval based on query and key word search, which gives agents the ability to dynamically discover skills at runtime without having to be preconfigured on local filesystem upfront.
The use of Agent Platform's SkillsRegistry has already been introduced into the Python ADK project (extending the SkillsToolset) and would be a great feature addition to GoLang ADK.
Proposed Solution
Key proposed contributions/changes are briefly outlined below:
Source Interface Extension
Extending the Source interface with Search method to facilitate dynamic skill retrieval when used with Agent Platform's SkillsRegistry remote registry source.
type Source interface {
...
// Search returns skills discovered through semantic or keyword search query.
Search(ctx context.Context, query string) ([]*Frontmatter, error)
}
SkillToolset Extension
Extending the existing SkillToolset with a new SearchSkills tool used to give agents the ability to dynamically discover skills.
// SearchSkills creates a tool.Tool to search for skills.
func SearchSkills(source skill.Source) (tool.Tool, error) {
return functiontool.New(
functiontool.Config{
Name: "search_skills",
Description: "Searches for relevant skills in the registry based on a semantic or keyword query.",
},
func(ctx tool.Context, args SearchSkillArgs) (*SearchSkillsResult, error) {
return searchSkills(ctx, args, source)
},
)
}
VertexAI Registry SkillsToolset source.
When configuring a SkillToolset in ADK Go, one has to provide an appropriate source (which each satisty the Source interface).
Currently supported sources are
FileSystemSource - Used for handling skills made available in the local file system.
MergedSource: - Used to combine multiple skill sources.
Propose to introduce a new VertexAI Registry source implementation which integrates with corresponding aiplatform SkillsRegistry APIs.
Impact on your work
Provides agents with powerful real-time access to skills via discovery. Given the current prevelance of the use of skills for powering agentic workflows, this is feature is expected to be beneficial and impactful to the greater ADK Go community.
Willingness to contribute
I have developed an implementation based on the above core changes and will be submitting a PR shortly.
Is your feature request related to a specific problem?
Google Cloud recently released support for SkillsRegistry as part of the Gemini Enterprise Agent Platform. SkillsRegistry provides a secure, private and managed repository for agent skills. Notably, SkillsRegistry supports skills retrieval based on query and key word search, which gives agents the ability to dynamically discover skills at runtime without having to be preconfigured on local filesystem upfront.
The use of Agent Platform's SkillsRegistry has already been introduced into the Python ADK project (extending the
SkillsToolset) and would be a great feature addition to GoLang ADK.Proposed Solution
Key proposed contributions/changes are briefly outlined below:
Source Interface Extension
Extending the
Sourceinterface withSearchmethod to facilitate dynamic skill retrieval when used with Agent Platform's SkillsRegistry remote registry source.SkillToolset Extension
Extending the existing
SkillToolsetwith a newSearchSkillstool used to give agents the ability to dynamically discover skills.VertexAI Registry SkillsToolset source.
When configuring a
SkillToolsetin ADK Go, one has to provide an appropriate source (which each satisty theSourceinterface).Currently supported sources are
FileSystemSource- Used for handling skills made available in the local file system.MergedSource: - Used to combine multiple skill sources.Propose to introduce a new
VertexAI Registrysource implementation which integrates with corresponding aiplatform SkillsRegistry APIs.Impact on your work
Provides agents with powerful real-time access to skills via discovery. Given the current prevelance of the use of skills for powering agentic workflows, this is feature is expected to be beneficial and impactful to the greater ADK Go community.
Willingness to contribute
I have developed an implementation based on the above core changes and will be submitting a PR shortly.