Generates step-by-step implementation plan via context retrieval, prompt enhancement, and parallel Codex/Gemini analysis. Saves to .claude/plan/ files; no code changes.
From everything-claude-codenpx claudepluginhub usernametron/claude-code-arsenal/multi-planGenerates step-by-step implementation plan via context retrieval, prompt enhancement, and parallel Codex/Gemini analysis. Saves to .claude/plan/ files; no code changes.
/multi-planGenerates step-by-step implementation plan via context retrieval, prompt enhancement, and parallel dual-model (Codex/Gemini) analysis. Writes plans to .claude/plan/.
/multi-planGenerates step-by-step implementation plan with pseudo-code via parallel Codex/Gemini analysis after context retrieval and prompt enhancement.
/multi-plan[Requires codeagent-wrapper] Multi-model collaborative planning — Context retrieval + Codex/Gemini dual-model analysis → step-by-step implementation plan.
/multi-planMulti-model collaborative planning — context retrieval and dual-model analysis to generate step-by-step implementation plans
/multi-planMulti-model collaborative planning with context retrieval, dual-model analysis, and step-by-step plan generation
Multi-model collaborative planning - Context retrieval + Dual-model analysis → Generate step-by-step implementation plan.
$ARGUMENTS
run_in_background: true (including single model calls, to avoid blocking main thread).claude/plan/* plan files, but NEVER modify production codeCall Syntax (parallel: use run_in_background: true):
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
ROLE_FILE: <role prompt path>
<TASK>
Requirement: <enhanced requirement>
Context: <retrieved project context>
</TASK>
OUTPUT: Step-by-step implementation plan with pseudo-code. DO NOT modify any files.
EOF",
run_in_background: true,
timeout: 3600000,
description: "Brief description"
})
Model Parameter Notes:
{{GEMINI_MODEL_FLAG}}: When using --backend gemini, replace with --gemini-model gemini-3-pro-preview (note trailing space); use empty string for codexRole Prompts:
| Phase | Codex | Gemini |
|---|---|---|
| Analysis | ~/.claude/.ccg/prompts/codex/analyzer.md | ~/.claude/.ccg/prompts/gemini/analyzer.md |
| Planning | ~/.claude/.ccg/prompts/codex/architect.md | ~/.claude/.ccg/prompts/gemini/architect.md |
Session Reuse: Each call returns SESSION_ID: xxx (typically output by wrapper), MUST save for subsequent /ccg:execute use.
Wait for Background Tasks (max timeout 600000ms = 10 minutes):
TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
IMPORTANT:
timeout: 600000, otherwise default 30 seconds will cause premature timeoutTaskOutput, NEVER kill the processAskUserQuestion to ask user whether to continue waiting or kill taskPlanning Task: $ARGUMENTS
[Mode: Research]
If ace-tool MCP is available, call mcp__ace-tool__enhance_prompt tool:
mcp__ace-tool__enhance_prompt({
prompt: "$ARGUMENTS",
conversation_history: "<last 5-10 conversation turns>",
project_root_path: "$PWD"
})
Wait for enhanced prompt, replace original $ARGUMENTS with enhanced result for all subsequent phases.
If ace-tool MCP is NOT available: Skip this step and use the original $ARGUMENTS as-is for all subsequent phases.
If ace-tool MCP is available, call mcp__ace-tool__search_context tool:
mcp__ace-tool__search_context({
query: "<semantic query based on enhanced requirement>",
project_root_path: "$PWD"
})
If ace-tool MCP is NOT available, use Claude Code built-in tools as fallback:
Glob("**/*.ts"), Glob("src/**/*.py"))Grep("className|functionName"))Task with subagent_type: "Explore" to search across the codebase[Mode: Analysis]
Parallel call Codex and Gemini (run_in_background: true):
Distribute original requirement (without preset opinions) to both models:
Codex Backend Analysis:
~/.claude/.ccg/prompts/codex/analyzer.mdGemini Frontend Analysis:
~/.claude/.ccg/prompts/gemini/analyzer.mdWait for both models' complete results with TaskOutput. Save SESSION_ID (CODEX_SESSION and GEMINI_SESSION).
Integrate perspectives and iterate for optimization:
To reduce risk of omissions in Claude's synthesized plan, can parallel have both models output "plan drafts" (still NOT allowed to modify files):
Codex Plan Draft (Backend authority):
~/.claude/.ccg/prompts/codex/architect.mdGemini Plan Draft (Frontend authority):
~/.claude/.ccg/prompts/gemini/architect.mdWait for both models' complete results with TaskOutput, record key differences in their suggestions.
Synthesize both analyses, generate Step-by-step Implementation Plan:
## Implementation Plan: <Task Name>
### Task Type
- [ ] Frontend (→ Gemini)
- [ ] Backend (→ Codex)
- [ ] Fullstack (→ Parallel)
### Technical Solution
<Optimal solution synthesized from Codex + Gemini analysis>
### Implementation Steps
1. <Step 1> - Expected deliverable
2. <Step 2> - Expected deliverable
...
### Key Files
| File | Operation | Description |
|------|-----------|-------------|
| path/to/file.ts:L10-L50 | Modify | Description |
### Risks and Mitigation
| Risk | Mitigation |
|------|------------|
### SESSION_ID (for /ccg:execute use)
- CODEX_SESSION: <session_id>
- GEMINI_SESSION: <session_id>
/ccg:plan responsibilities end here, MUST execute the following actions:
.claude/plan/<feature-name>.md (extract feature name from requirement, e.g., user-auth, payment-module)Plan generated and saved to .claude/plan/actual-feature-name.md
Please review the plan above. You can:
/ccg:execute .claude/plan/actual-feature-name.md
NOTE: The actual-feature-name.md above MUST be replaced with the actual saved filename!
ABSOLUTELY FORBIDDEN:
/ccg:execute's responsibility)/ccg:execute or any implementation actionsAfter planning completes, save plan to:
.claude/plan/<feature-name>.md.claude/plan/<feature-name>-v2.md, .claude/plan/<feature-name>-v3.md...Plan file write should complete before presenting plan to user.
If user requests plan modifications:
.claude/plan/<feature-name>.md fileAfter user approves, manually execute:
/ccg:execute .claude/plan/<feature-name>.md
CODEX_SESSION / GEMINI_SESSION at end (for /ccg:execute resume <SESSION_ID> use)