How to Build a Plugin Strategy for Gemini CLI
Build a Gemini CLI plugin strategy with SKILL.md capabilities: write the Skill, place it in .gemini/skills, preserve plugin identity, and measure it with Telvine.
This guide shows how to build a plugin strategy for Gemini CLI, Google's command-line agent. Gemini CLI loads agent Skills defined in a SKILL.md, so treat each Skill as a capability inside a plugin product that you version and measure.
Step 1 — Write the SKILL.md
---
name: test-writer
description: >
Use this skill when the user asks to "write tests", "add unit
tests", or "cover this with tests". Generates tests for a target
file following the repo's existing test style.
---
# Test writer
## Steps
1. Read the target file and an existing test for its style.
2. Generate tests covering the main paths and edge cases.
3. Run nothing destructive — output the test file for review.
The description (third person, with the phrases users say) determines when Gemini CLI reaches for the Skill.
Step 2 — Place it in the Gemini Skills directory
Put the Skill, as a folder containing SKILL.md and any supporting files, in either:
.gemini/skills/in your project (project-specific Skills), or~/.gemini/skills/in your home directory (Skills you reuse everywhere).
your-project/
└── .gemini/skills/
└── test-writer/
└── SKILL.md
Step 3 — Trigger and refine
Run Gemini CLI and describe the task. When it matches the Skill's description, the CLI loads the SKILL.md and follows it. If it doesn't fire, refine the description. Keep deterministic steps in bundled scripts/.
Step 4 — Measure it with Telvine
Telvine tracks installs, invocations, errors, and latency for your Gemini CLI Skills, compares versions with significance testing, and exports events to your stack — all through a closed envelope that never carries prompts or code. Wrap the SKILL.md once and you'll know whether each new version actually helps.
Write once, run in any harness
A Skill installed in Gemini CLI works the same way in Claude Code, Codex, Cursor, Windsurf, and GitHub Copilot — it's the same SKILL.md. Maintain one Skill and measure it in one place.
Frequently asked questions
Where do Gemini CLI Skills go?
In .gemini/skills/ for a project, or ~/.gemini/skills/ for Skills shared across projects.
Can I reuse a Claude Code Skill in Gemini CLI?
Yes — drop the same SKILL.md into the Gemini Skills directory; the format is shared.