google-gemini / google-gemini/gemini-cli

Gemini does not use skills and sub-agents enough

Open
#21,968 6 comments 2 reactions 0 assignees View on GitHub
🔒 maintainer only area/agent kind/bug priority/p2 status/bot-triaged status/need-retesting workstream-rollup
Dominant language
TypeScript
Stars
107k
Forks
14.6k
Avg merge
2d 3h
Merged PRs (30d)
45

Description

### What happened?

This is purely anecdotal, but IME Gemini does not use custom skills and sub-agents on its own, basically at all. It will if I instruct it to explicitly, but won't when it's doing something very related.

For example, I have "gradle" and "git" skills with descriptions like:
> Executes and manages Gradle builds authoritatively with high-performance background orchestration
and surgical failure analysis. This skill is the STRONGLY PREFERRED way
to run any Gradle task, providing superior reliability through managed background processes,
task-specific output capturing, and deep diagnostic integration. Use it for executing core
lifecycle tasks like 'build' or 'assemble', starting persistent development servers,
or performing complex build troubleshooting. Do NOT use for specialized test diagnostics
(use running_gradle_tests).

and
> Audits Git repository status, examines history, and implements non-interactive modifications. Processes surgical staging, descriptive commits, and multi-file diff analysis. Use for repository introspection and history-based truth verification. NEVER stages or commits without explicit user directives. Avoids interactive prompts via --no-pager.

that never ever get called when using the relevant tools.

I even have this in my `GEMINI.md` in the "priority rules" section:
> 4. **Agent & Tool Hierarchy:** Whenver considering how to approach a task or do anything, ALWAYS follow the hierarchy of preference: **Sub-Agents** > **Skills** > **Specialized MCP Tools** (NOT a Shell tool or similar) > **General/Builtin Tools** (e.g., `run_shell_command`, `grep_search`, `read_file`).
> 5. **Intentionality Protocol:** Before starting ANY task, you MUST stop and consider which agent, skill, or tool is most appropriate for the specific context. If your plan involves using the shell (even via a tool like `run_shell_command`), you MUST stop and reconsider if a more specialized tool or skill exists to handle the task more reliably.

### What did you expect to happen?

I expected Gemini to use related skills when working on tasks that match the skill description. Same for sub-agents.

### Client information

Client Information

Run `gemini` to enter the interactive CLI, then run the `/about` command.

```console
> /about
About Gemini CLI │
│ │
│ CLI Version 0.32.1 │
│ Git Commit 4443eee6b │
│ Model Auto (Gemini 3) │
│ Sandbox no sandbox │
│ OS win32 │
│ Auth Method Logged in with Google (me@rnett.dev) │
│ Tier Gemini Code Assist in Google One AI Pro │
│ IDE Client IntelliJ IDEA │

```

### Login information

_No response_

### Anything else we need to know?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.