Help us improve
Share bugs, ideas, or general feedback.
From claude-to-gemini
Convert a Claude Code plugin to a Gemini CLI extension
npx claudepluginhub orbruno/claude-to-gemini-ccpluginHow this command is triggered — by the user, by Claude, or both
Slash command
/claude-to-gemini:convert-to-gemini [plugin-path]This command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# Convert Claude Plugin to Gemini Extension Convert a Claude Code plugin directory to a Gemini CLI extension. ## Process ### Step 1: Identify Plugin Directory If no path argument provided, check if current directory is a Claude plugin by looking for `.claude-plugin/plugin.json`. If not found, prompt the user for the plugin path using AskUserQuestion. ### Step 2: Analyze Plugin Structure Read and analyze the Claude plugin: 1. **Read manifest**: `.claude-plugin/plugin.json` 2. **Find commands**: `commands/*.md` files 3. **Find skills**: `skills/*/SKILL.md` files 4. **Find agents**: `ag...
/create-pluginConverts an existing project into a structured Claude Code plugin by generating manifests, organizing components into directories, and creating documentation.
/claude-to-agentsConverts CLAUDE.md (and chained sub-files) into AGENTS.md for use by Codex, Gemini Code Assist, and other tools following the AGENTS.md convention. Supports symlink, copy, and inline-chain modes.
/create-pluginGuides end-to-end creation of a Claude Code plugin via phases: discovery, component planning, implementation, validation, and testing.
Share bugs, ideas, or general feedback.
Convert a Claude Code plugin directory to a Gemini CLI extension.
If no path argument provided, check if current directory is a Claude plugin by looking for .claude-plugin/plugin.json. If not found, prompt the user for the plugin path using AskUserQuestion.
Read and analyze the Claude plugin:
.claude-plugin/plugin.jsoncommands/*.md filesskills/*/SKILL.md filesagents/*.md fileshooks/hooks.json.mcp.jsonUse Glob tool to discover all component files.
Use AskUserQuestion to ask the user where to create the Gemini extension:
Question: "Where should I create the Gemini extension?"
Suggest these options:
../[plugin-name]-gemini/ (sibling directory)./.gemini-extension/ (inside plugin)Create the extension directory structure:
[output-path]/
├── gemini-extension.json
├── GEMINI.md
├── commands/
└── README.md
Transform plugin.json to gemini-extension.json:
{
"name": "[from plugin.json name]",
"version": "[from plugin.json version, or '1.0.0']"
}
Add mcpServers if .mcp.json exists. Transform path variables:
${CLAUDE_PLUGIN_ROOT} → ${extensionPath}Add excludeTools if hooks contain tool restrictions.
For each commands/*.md file:
commands/[name].toml:description = "[from frontmatter description]"
prompt = """
[body content, with modifications:]
- Remove tool usage instructions (e.g., "Use the Read tool to...")
- Replace file references with @{...} injection
- Replace bash commands with !{...} injection
- Add {{args}} where arguments are expected
"""
Consolidate all skills/*/SKILL.md files into a single GEMINI.md:
Format:
# [Extension Name] Context
## [Skill 1 Name]
[Content from skill 1]
## [Skill 2 Name]
[Content from skill 2]
Agents have no direct equivalent. For each agents/*.md:
commands/From hooks/hooks.json:
excludeTools arrayFrom .mcp.json:
mcpServers config to gemini-extension.json${CLAUDE_PLUGIN_ROOT} to ${extensionPath}settings array if sensitiveGenerate a comprehensive README.md documenting:
Display a summary to the user:
## Conversion Complete
**Source**: [claude-plugin-path]
**Output**: [gemini-extension-path]
### Components Converted
- Manifest: ✓
- Commands: X of Y converted
- Skills: X merged into GEMINI.md
- Agents: X converted (with limitations)
- Hooks: X restrictions converted
- MCP: ✓ (or N/A)
### Manual Review Required
- [List any items needing attention]
### Next Steps
1. Review generated files
2. Test with: gemini extensions link [path]
3. Verify commands work as expected
After conversion completes, the gemini-extension-validator agent will automatically validate the generated extension.
Load the claude-gemini-mapping skill for detailed conversion patterns and handle edge cases according to its guidance.