Uh oh!
There was an error while loading. Please reload this page.
fix(tools): hide skill script tool when no scripts exist - #6300
Conversation
rohityan
commented
Jul 8, 2026
Hi @Oxygen56 , Thank you for your contribution! We appreciate you taking the time to submit this pull request. Your PR has been received by the team and is currently under review. We will provide feedback as soon as we have an update to share. |
rohityan
commented
Jul 8, 2026
Hi @wyf7107 , can you please review this. LGTM. |
Oxygen56
commented
Jul 28, 2026
Updated the BigQuery skill integration test to expect the three tools exposed when the skill has no scripts, matching this PR behavior. Verification:
|
saransh-translucent
commented
Aug 20, 2026
+1, we're hitting this in production with Scenario. Our on-disk skills (workbook editor, various document editors, a few querying skills) all ship SKILL.md and
So a Claude Sonnet 4.6 turn that (a) writes some inline Python for the sandbox, (b) confidently closes by calling Why the On the PR itself: the "register Downstream tracking: our issue AI-2276 and the current subclass in translucent-chat#288 if it's useful as a reference for what the workaround looks like in ADK 2.7. |
Link to Issue or Description of Change
1. Link to an existing issue (if applicable):
Problem:
SkillToolsetalways exposedrun_skill_script, even when the configured local skills had no scripts. That gives the model an unavailable action surface and can contribute to repeated failed script calls.Solution:
Only register
RunSkillScriptToolwhen at least one local skill exposes scripts. Registry-backed toolsets keep the previous behavior because remote skill contents are not known at initialization time.Testing Plan
Unit Tests:
Passed locally:
Manual End-to-End (E2E) Tests:
Not run. The change is covered by isolated unit tests for the tool list returned by
SkillToolset.Checklist
Additional context
This keeps the script execution tool out of the model-visible tool list when there is no local script to run, while preserving registry behavior for dynamically loaded remote skills.