gemini-extension-development
Gemini Extension Development
Documentation Delegation
Documentation Source: For authoritative extension syntax and current features, query
gemini-cli-docsskill. This skill provides development guidance;gemini-cli-docsprovides 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) asgoogle-generativeaiis deprecated.- MCP Servers: Embedded tools.
- Commands:
*.tomlfiles defining custom slash commands. - Tool Restrictions:
excludeToolsconfiguration.
Development Workflow
- Create:
gemini extensions create my-extension - Link:
cd my-extension && gemini extensions link .(Enables hot-reloading) - Test: Run
geminiand 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 createsyntax
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