From 8595b07f6da433f04f75fc2f8616c45b89e63899 Mon Sep 17 00:00:00 2001 From: nirali <124287834+Niralisj@users.noreply.github.com> Date: Thu, 26 Mar 2026 03:36:44 +0530 Subject: [PATCH] fix(cli): show helpful guidance when no skills are available (#23785) --- packages/cli/src/ui/components/views/SkillsList.test.tsx | 6 +++--- packages/cli/src/ui/components/views/SkillsList.tsx | 9 ++++++++- packages/cli/src/ui/constants.ts | 4 ++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/ui/components/views/SkillsList.test.tsx b/packages/cli/src/ui/components/views/SkillsList.test.tsx index e6c85cc94d..6724c4e9f9 100644 --- a/packages/cli/src/ui/components/views/SkillsList.test.tsx +++ b/packages/cli/src/ui/components/views/SkillsList.test.tsx @@ -8,6 +8,7 @@ import { render } from '../../../test-utils/render.js'; import { describe, it, expect } from 'vitest'; import { SkillsList } from './SkillsList.js'; import { type SkillDefinition } from '@google/gemini-cli-core'; +import { SKILLS_DOCS_URL } from '../../constants.js'; describe('SkillsList Component', () => { const mockSkills: SkillDefinition[] = [ @@ -74,9 +75,8 @@ describe('SkillsList Component', () => { , ); const output = lastFrame(); - - expect(output).toContain('No skills available'); - + expect(output).toContain('No skills available.'); + expect(output).toContain(`Learn how to add skills: ${SKILLS_DOCS_URL}`); unmount(); }); diff --git a/packages/cli/src/ui/components/views/SkillsList.tsx b/packages/cli/src/ui/components/views/SkillsList.tsx index 64e2d3efd7..d6b681a94e 100644 --- a/packages/cli/src/ui/components/views/SkillsList.tsx +++ b/packages/cli/src/ui/components/views/SkillsList.tsx @@ -8,6 +8,7 @@ import type React from 'react'; import { Box, Text } from 'ink'; import { theme } from '../../semantic-colors.js'; import { type SkillDefinition } from '../../types.js'; +import { SKILLS_DOCS_URL } from '../../constants.js'; interface SkillsListProps { skills: readonly SkillDefinition[]; @@ -86,7 +87,13 @@ export const SkillsList: React.FC = ({ )} {skills.length === 0 && ( - No skills available + + No skills available. + + Learn how to add skills: + {SKILLS_DOCS_URL} + + )} ); diff --git a/packages/cli/src/ui/constants.ts b/packages/cli/src/ui/constants.ts index db52be1105..943f180134 100644 --- a/packages/cli/src/ui/constants.ts +++ b/packages/cli/src/ui/constants.ts @@ -58,3 +58,7 @@ export const MIN_TERMINAL_WIDTH_FOR_FULL_LABEL = 100; /** Default context usage fraction at which to trigger compression */ export const DEFAULT_COMPRESSION_THRESHOLD = 0.5; + +/** Documentation URL for skills setup and configuration */ +export const SKILLS_DOCS_URL = + 'https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/skills.md';