From google-ecosystem
Generates structured, Claude-executable implementation plans using Gemini AI reasoning. Includes CLAUDE.md context and optional file globs for multi-file tasks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/google-ecosystem:gemini-planThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate structured implementation plans using Gemini CLI. Plans are formatted for Claude to execute, with clear task breakdowns, file modifications, and sequence ordering.
Generate structured implementation plans using Gemini CLI. Plans are formatted for Claude to execute, with clear task breakdowns, file modifications, and sequence ordering.
/google-ecosystem:gemini-plan <task-description> [options]
$ARGUMENTS (required): Description of what you want to implement--context <glob> (optional): File patterns to include as context (e.g., src/**/*.ts)--output <path> (optional): Output path for plan (default: docs/ai-artifacts/plans/)--pro (optional): Use Gemini Pro for complex planning (default: Flash)/google-ecosystem:gemini-plan "Add user authentication with JWT"/google-ecosystem:gemini-plan "Refactor database layer to use repository pattern" --context "src/db/**"/google-ecosystem:gemini-plan "Implement dark mode toggle" --output ./plans//google-ecosystem:gemini-plan "Migrate from REST to GraphQL" --proUse this command when:
Gemini's different reasoning approach often provides:
task_description="$ARGUMENTS"
context_pattern=""
output_dir="docs/ai-artifacts/plans"
model="gemini-2.5-flash"
# Parse optional flags
while [[ $# -gt 0 ]]; do
case $1 in
--context)
context_pattern="$2"
shift 2
;;
--output)
output_dir="$2"
shift 2
;;
--pro)
model="gemini-2.5-pro"
shift
;;
*)
shift
;;
esac
done
# Read CLAUDE.md for project conventions
claude_context=""
if [ -f "CLAUDE.md" ]; then
claude_context=$(cat CLAUDE.md)
fi
# Gather specified context files
file_context=""
if [ -n "$context_pattern" ]; then
file_context=$(find . -path "$context_pattern" -type f | xargs cat 2>/dev/null | head -c 500000)
fi
prompt="PLANNING MODE: Generate an implementation plan for Claude Code to execute.
## Task
$task_description
## Project Context (from CLAUDE.md)
$claude_context
## Relevant Code Context
$file_context
## Instructions
Generate a detailed implementation plan with the following structure:
### 1. Summary
Brief description of the approach (2-3 sentences)
### 2. Prerequisites
- Dependencies to install
- Configuration changes needed
- Files to read/understand first
### 3. Implementation Tasks
Numbered list of specific, actionable tasks:
1. [FILE: path/to/file.ts] Description of change
2. [FILE: path/to/another.ts] Description of change
...
### 4. File Modifications
Table format:
| File | Action | Description |
| --- | --- | --- |
| path/to/file.ts | CREATE/MODIFY/DELETE | What changes |
### 5. Sequence Order
Which tasks depend on others, what order to execute
### 6. Testing Strategy
How to verify the implementation works
### 7. Potential Risks
- Risk 1: Mitigation
- Risk 2: Mitigation
### 8. Recommendations for Claude
Specific guidance for Claude when executing this plan
Format the output as structured markdown that another AI agent can parse and execute."
result=$(echo "$prompt" | gemini "$(cat)" --output-format json -m "$model")
response=$(echo "$result" | jq -r '.response // "Planning failed"')
total_tokens=$(echo "$result" | jq '.stats.models | to_entries | map(.value.tokens.total) | add // 0')
model_used=$(echo "$result" | jq -r '.stats.models | keys[0] // "unknown"')
Create structured markdown plan:
---
generated-by: gemini-cli
model: {model_used}
timestamp: {ISO8601}
tokens: {total_tokens}
task: "{task_description}"
---
# Implementation Plan
## Machine-Readable Summary
```json
{
"type": "plan",
"task": "{task_description}",
"tokens_used": {total_tokens},
"model": "{model_used}",
"files_to_modify": [
"path/to/file1.ts",
"path/to/file2.ts"
],
"estimated_complexity": "low|medium|high"
}
```
{response}
---
*Generated by Gemini CLI via `/gemini-plan` command*
*Review and validate before execution*
mkdir -p "$output_dir"
timestamp=$(date -u +"%Y-%m-%dT%H-%M-%SZ")
# Create slug from task description
slug=$(echo "$task_description" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | head -c 50)
output_file="$output_dir/plan-${slug}-${timestamp}.md"
echo "$plan" > "$output_file"
echo "Plan saved to: $output_file"
Plans include YAML frontmatter for machine parsing:
After generating a plan:
docs/ai-artifacts/plans/Good plans should have:
--pro flag)docs/ai-artifacts/plans/ (git-tracked)npx claudepluginhub melodic-software/claude-code-plugins --plugin google-ecosystemPrompts Claude to produce a numbered step-by-step implementation plan before writing code. Use for complex tasks touching multiple files or with unclear requirements.
Reviews Claude's implementation plans using Gemini for feedback on gaps, risks, optimality, alternatives, and completeness with project context.
Replicates Claude Code plan mode in read-only fashion: explores codebase, designs changes, gets user approval, then writes plan to .claude/plans/<slug>.md without executing. Triggers on 'plan only' phrases.