Gemini Extension Development
Documentation Delegation
Documentation Source: For authoritative extension syntax and current features, query gemini-cli-docs skill. This skill provides development guidance; gemini-cli-docs provides official Gemini CLI documentation.
Overview
Expert skill for creating, testing, and distributing Gemini CLI Extensions. Extensions are the primary plugin mechanism for Gemini.
When to Use This Skill
Keywords: gemini extension, create extension, gemini extensions link, extension gallery, context files, extension commands, extension releasing, uninstall extension
Use this skill when:
-
Creating a new extension (gemini extensions create )
-
Linking a local extension for development (gemini extensions link )
-
Packaging MCP servers into extensions
-
Adding custom slash commands (.toml ) to extensions
-
Installing extensions from GitHub or local paths
-
Releasing extensions via Git or GitHub Releases
Extension Anatomy
An extension can contain:
-
extension.yaml : Manifest file.
-
GEMINI.md : Context "playbook" for the model.
-
package.json : Dependencies (if using Node.js/TypeScript). Note: Use the Unified Google Gen AI SDK (e.g., google-genai ) as google-generativeai is deprecated.
-
MCP Servers: Embedded tools.
-
Commands: *.toml files defining custom slash commands.
-
Tool Restrictions: excludeTools configuration.
Development Workflow
-
Create: gemini extensions create my-extension
-
Link: cd my-extension && gemini extensions link . (Enables hot-reloading)
-
Test: Run gemini and use the new capabilities.
-
Publish: Push to GitHub (installable via URL).
Keyword Registry (Delegates to gemini-cli-docs)
Topic Query Keywords
Creation create extension , extension template
Manifest extension.yaml schema , extension manifest
Commands extension slash commands , toml commands
Linking gemini extensions link , local extension dev
Releasing extension releasing git , github release extension
Management uninstall extension , update extension
Quick Decision Tree
What do you want to do?
-
Start a New Extension -> Query gemini-cli-docs : "create extension boilerplate"
-
Test Locally -> Query gemini-cli-docs : "link local extension"
-
Add a Command -> Query gemini-cli-docs : "define command in extension"
-
Bundle an MCP Server -> Query gemini-cli-docs : "extension mcp server"
-
Install an Extension -> Query gemini-cli-docs : "install extension from url"
-
Release an Extension -> Query gemini-cli-docs : "extension releasing git vs github"
Test Scenarios
Scenario 1: Create Extension
Query: "How do I create a new Gemini CLI extension?" Expected Behavior:
-
Skill activates on "create extension"
-
Delegates to gemini-cli-docs for template command Success Criteria: User receives gemini extensions create syntax
Scenario 2: Link for Development
Query: "How do I test my Gemini extension locally?" Expected Behavior:
-
Skill activates on "test extension" or "link extension"
-
Provides gemini extensions link . workflow Success Criteria: User receives local development workflow
Scenario 3: Release Extension
Query: "How do I publish my Gemini extension?" Expected Behavior:
-
Skill activates on "release extension" or "publish"
-
Delegates to docs for Git/GitHub release options Success Criteria: User receives release workflow options
References
Official Documentation: Query gemini-cli-docs for:
-
"extensions"
-
"extension development"
Version History
-
v1.1.0 (2025-12-01): Added Test Scenarios section
-
v1.0.0 (2025-11-25): Initial release