planning-in-background
// Orchestrates multiple AI agents (Claude, Codex, Gemini) for parallel planning in the background with auto-save. Agents continue running even when session hits context limits. Use for "백그라운드 기획", "bg plan", "병렬 기획", "멀티 AI 기획", "기획해줘", "N명이 기획", "계획", "플래닝", "plan", "설계" requests.
Background Planner
Multi-LLM parallel planning with context-safe auto-save.
Quick Start
# 1. Parse topic and perspectives
# 2. Create: .context/plans/
# 3. Determine round: R01, R02, ...
# 4. Run agents in background → {round}-{agent}.md
# 5. Guide user to merge when ready
Output Convention
.context/plans/
├── R01-claude.md # Round 1: Claude's plan
├── R01-codex.md # Round 1: Codex's plan
├── R01-gemini.md # Round 1: Gemini's plan
├── R01-merged.md # Round 1: merged plan
├── R02-claude.md # Round 2: refined after feedback
└── R02-merged.md
Round number increments each planning iteration:
mkdir -p .context/plans
ROUND=$(printf "R%02d" $(( $(ls .context/plans/R*-*.md 2>/dev/null | sed 's/.*\/R\([0-9]*\)-.*/\1/' | sort -rn | head -1 | sed 's/^0*//') + 1 )))
Provider Selection
| Provider | Best For | Command |
|---|---|---|
| Claude | Complex analysis, architecture, deep codebase reading | Task({ run_in_background: true }) |
| Codex | Technical specs, code design | nohup codex exec --full-auto -o {output.md} "prompt" > log 2>&1 & |
| Gemini | Creative ideas, UX design, long docs | nohup gemini -p "prompt" -o text > {output.md} 2>/dev/null & |
| Ollama | Sensitive data, local | ollama run llama3.2 |
Gemini v0.26+: Use
-p "prompt"for non-interactive,-o textfor clean output,--yolofor auto-approve file writes. Redirect stdout to file:> output.md. Do NOT use-s(that's--sandbox, not silent). Codex v0.101+ (model: gpt-5.3-codex): Usecodex exec --full-autofor non-interactive. Use-o file.mdto save last message. Usenohup ... > log 2>&1 &for background. Sandbox isworkspace-writeby default (reads anywhere, writes only to workspace + /tmp). Use--add-dir <path>for additional writable directories. Codex DOES write files in nohup mode — check the workspace for actual file outputs, not just the log.
Workflow
Step 1: Setup
mkdir -p .context/plans
ROUND=$(printf "R%02d" $(( $(ls .context/plans/R*-*.md 2>/dev/null | sed 's/.*\/R\([0-9]*\)-.*/\1/' | sort -rn | head -1 | sed 's/^0*//') + 1 )))
Step 2: Run Agents
Claude:
Task({
subagent_type: "general-purpose",
prompt: `기획 주제: ${topic}
관점: ${perspective}
결과 저장: .context/plans/${ROUND}-claude.md`,
run_in_background: true
})
Codex:
nohup codex exec --full-auto \
--add-dir .context/plans \
-o .context/plans/${ROUND}-codex.md \
"Plan ${topic} from technical perspective. Save to .context/plans/${ROUND}-codex.md" \
> .context/plans/${ROUND}-codex.log 2>&1 &
Gemini:
nohup gemini -p "Plan ${topic} creatively. Output a well-structured markdown plan." \
-o text > .context/plans/${ROUND}-gemini.md 2>/dev/null &
Note: Gemini
-pruns non-interactively.-o textgives clean text output. Redirect stdout>to save to file. Use--yoloif the prompt requires file system access.
Step 3: Guide User (NO POLLING)
## Planning Agents Running (${ROUND})
| Agent | Output |
|--------|--------|
| Claude | .context/plans/${ROUND}-claude.md |
| Codex | .context/plans/${ROUND}-codex.md |
| Gemini | .context/plans/${ROUND}-gemini.md |
Check results:
- `ls .context/plans/${ROUND}-*.md`
When ready, ask me to "머지해줘" or "결과 확인"
Step 4: Merge (on request)
Read all ${ROUND}-*.md plan files and create .context/plans/${ROUND}-merged.md:
- Compare perspectives
- Highlight agreements/conflicts
- Synthesize final recommendation
Best Practices
DO:
- Use 2-4 agents for diverse perspectives
- Let each agent save directly to file
- Wait for user to request merge
DON'T:
- Poll for completion (token waste)
- Run 5+ agents (diminishing returns)
- Merge before all agents complete