feat(skills): add include_list_skills to skip the discovery turn - #7093
feat(skills): add include_list_skills to skip the discovery turn#7093thomaslprr wants to merge 2 commits into
Conversation
Expose a public flag so the L1 catalog can be injected into the system instruction without mutating SkillToolset._tools. Fixes google#7092
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
|
Hi @thomaslprr, thanks for the PR! We like the idea of skipping the discovery turn, but we reshaped it slightly to use an enum (discovery_mode=SkillDiscoveryMode.EAGER vs LAZY) since omitting list_skills has the major side effect of injecting the catalog into the system prompt. We kept your core logic and all your tests -- would this approach work for you? |
Hi @wukath, yes, that works for me - Would you like me to update this PR to the enum API, or will you land the reshaped version on your side? I already have the changes ready locally if you'd like me to push them. |
Link to Issue or Description of Change
1. Link to an existing issue (if applicable):
Problem:
There is no public way to inject the L1 skill catalog into the system instruction. Hiding
list_skillsrequired mutating_tools.Solution:
Add
SkillToolset(include_list_skills=False)to hidelist_skillsand inject<available_skills>XML so the model can callload_skilldirectly.Testing Plan
Unit Tests:
Manual End-to-End (E2E) Tests:
include_list_skills=Falsesees<available_skills>in the system instruction and nolist_skillstool.SkillToolset(...)still exposeslist_skills.search_skillsremains available wheninclude_list_skills=False.Checklist