fix(cli): show helpful guidance when no skills are available (#23785)

This commit is contained in:
nirali
2026-03-26 03:36:44 +05:30
committed by GitHub
parent 7b710a2790
commit 8595b07f6d
3 changed files with 15 additions and 4 deletions

View File

@@ -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', () => {
<SkillsList skills={[]} showDescriptions={true} />,
);
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();
});

View File

@@ -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<SkillsListProps> = ({
)}
{skills.length === 0 && (
<Text color={theme.text.primary}> No skills available</Text>
<Box flexDirection="column">
<Text color={theme.text.primary}>No skills available.</Text>
<Box flexDirection="row">
<Text color={theme.text.primary}>Learn how to add skills: </Text>
<Text color={theme.text.link}>{SKILLS_DOCS_URL}</Text>
</Box>
</Box>
)}
</Box>
);

View File

@@ -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';