How to Create Gemini Skills
A complete guide to creating custom Gemini skills that extend the CLI's capabilities with reusable prompts, tools, and workflows.
- 1
Understand the Skill Structure
A Gemini skill consists of a SKILL.md file that defines the skill's behavior, triggers, and instructions. Skills live in the .gemini/skills/ directory of your project or in ~/.gemini/skills/ for global access.
- 2
Create the Skills Directory
Create a .gemini/skills/ directory in your project root if it doesn't already exist. Each skill gets its own subdirectory with a descriptive name.
- 3
Write the SKILL.md File
Create a SKILL.md file inside your skill directory. Define the skill's purpose, triggers, and detailed instructions using markdown. Include examples of expected input and output.
- 4
Define Skill Triggers
Specify when your skill should activate using trigger patterns. These can be command-based (e.g., /my-skill) or context-based (activating when certain file types are open).
- 5
Test Your Skill Locally
Run 'gemini' in your project directory and invoke your skill using its trigger. Verify the output matches your expectations and iterate on the SKILL.md content.
- 6
Share Your Skill
Package your skill directory and share it with your team via version control, or publish it to the Gemini skill registry for community use.