Skip to content

feat: Implement SkillToolset.#733

Merged
foxfrikses merged 3 commits intogoogle:mainfrom
foxfrikses:skills-core-toolset
Apr 17, 2026
Merged

feat: Implement SkillToolset.#733
foxfrikses merged 3 commits intogoogle:mainfrom
foxfrikses:skills-core-toolset

Conversation

@foxfrikses
Copy link
Copy Markdown
Contributor

SkillToolset encapsulates the Agent Skills feature. This toolset ensures agent is equipped with all the tools needed to use skills and is provided with proper instructions.

What skill toolset enable agent to do:

  • List available skills.
  • Read instructions of the skills (by skill name).
  • Read specific resources of the skills (by resource path).

Current implementation is very basic, e.g.:

  • There is no script execution support yet.
  • Skill activation is history-based: skill instructions and resources are provided to the llm as function call results in conversation history.
  • Every resource should be specifically mentioned in the SKILL.md file: the agent is unable to list resources available for the skills.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the SkillToolset and associated tools (list_skills, load_skill, load_skill_resource) to enable agents to interact with specialized skills defined in structured directories. It includes example skills for grocery pricing and weather information. Key feedback includes correcting the Role in system instructions to avoid misinterpretation by the model, addressing code duplication in XML generation, and optimizing token usage by reconsidering the injection of all available skills into every request. Additionally, a memory limit is suggested for resource loading to prevent potential OOM issues.

Comment thread tool/skilltoolset/toolset.go Outdated
Comment thread tool/skilltoolset/toolset.go Outdated
Comment thread tool/skilltoolset/toolset.go
Comment thread tool/skilltoolset/internal/skilltool/load_skill_resource.go Outdated
SkillToolset encapsulates the Agent Skills feature.
This toolset ensures agent is equipped with all the tools needed to use
skills and is provided with proper instructions.

What skill toolset enable agent to do:
- List available skills.
- Read instructions of the skills (by skill name).
- Read specific resources of the skills (by resource path).

Current implementation is very basic, e.g.:
- There is no script execution support yet.
- Skill activation is history-based: skill instructions and resources
  are provided to the llm as function call results in conversation history.
- Every resource should be specifically mentioned in the SKILL.md
  file: the agent is unable to list resources available for the skills.
@foxfrikses foxfrikses force-pushed the skills-core-toolset branch from abee7c0 to 176dda4 Compare April 16, 2026 12:39
Reuse skilltoolset.SkillsToXML in skilltoolset.
Reuse utils.AppendInstructions in skilltoolset.
Enforce maximum resource size to prevent OOM.
dpasiukevich
dpasiukevich previously approved these changes Apr 17, 2026
Comment thread examples/skills/skills/grocery-prices/assets/prices_pl.json
Comment thread tool/skilltoolset/toolset.go Outdated
@foxfrikses foxfrikses merged commit a68fb11 into google:main Apr 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants