From 0df9498674e858a6d2063921d5a77160dbdd33c5 Mon Sep 17 00:00:00 2001 From: Abhi <43648792+abhipatel12@users.noreply.github.com> Date: Sat, 21 Mar 2026 02:24:37 -0400 Subject: [PATCH] fix(core): refine CliHelpAgent description for better delegation (#23310) --- evals/cli_help_delegation.eval.ts | 25 ++++++++++++++++++++++ packages/core/src/agents/cli-help-agent.ts | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 evals/cli_help_delegation.eval.ts diff --git a/evals/cli_help_delegation.eval.ts b/evals/cli_help_delegation.eval.ts new file mode 100644 index 0000000000..8be3bf1c51 --- /dev/null +++ b/evals/cli_help_delegation.eval.ts @@ -0,0 +1,25 @@ +import { describe, expect } from 'vitest'; +import { evalTest } from './test-helper.js'; + +describe('CliHelpAgent Delegation', () => { + evalTest('USUALLY_PASSES', { + name: 'should delegate to cli_help agent for subagent creation questions', + params: { + settings: { + experimental: { + enableAgents: true, + }, + }, + }, + prompt: 'Help me create a subagent in this project', + timeout: 60000, + assert: async (rig, _result) => { + const toolLogs = rig.readToolLogs(); + const toolCallIndex = toolLogs.findIndex( + (log) => log.toolRequest.name === 'cli_help', + ); + expect(toolCallIndex).toBeGreaterThan(-1); + expect(toolCallIndex).toBeLessThan(5); // Called within first 5 turns + }, + }); +}); diff --git a/packages/core/src/agents/cli-help-agent.ts b/packages/core/src/agents/cli-help-agent.ts index ad8d2bebde..bd96878190 100644 --- a/packages/core/src/agents/cli-help-agent.ts +++ b/packages/core/src/agents/cli-help-agent.ts @@ -30,7 +30,7 @@ export const CliHelpAgent = ( kind: 'local', displayName: 'CLI Help Agent', description: - 'Specialized in answering questions about how users use you, (Gemini CLI): features, documentation, and current runtime configuration.', + 'Specialized agent for answering questions about the Gemini CLI application. Invoke this agent for questions regarding CLI features, configuration schemas (e.g., policies), or instructions on how to create custom subagents. It queries internal documentation to provide accurate usage guidance.', inputConfig: { inputSchema: { type: 'object',