godot-plan · git:20261020.0182e97 · 2026-10-20 · sha256 4a78f918675a54e8
godot-plan git:20261020.0182e97A
Immutable. This exact content never changes and is served at /api/v1/blob/4a78f918675a54e8.
--- name: godot-plan description: Use before starting any non-trivial task (more than one file, or any structural scene change) in this Godot project. Classifies the task, resolves the architecture/layer decision up front, and decides whether to dispatch a single godot-developer/godot-debugger call or several in parallel. Runs in the orchestrating session itself, never as a subagent. --- # Planning and dispatch This skill is how the orchestrating session decides *before* touching code — it doesn't implement anything itself. The orchestrator is the project's one "thinking" role: it resolves ambiguity here so `godot-developer`, `godot-debugger` and `godot-reviewer` receive an unambiguous brief and can stay narrowly scoped, cheap, and fast. It stays in the orchestrating session on purpose: the agent that talks to the owner is the one that holds the context to decide. **Only applies when subagents are actually being dispatched.** Working directly in the main session is normal and often correct; this skill has nothing to say about that case beyond step 2, which is worth doing either way. ## 1. Classify the task - Single coherent change (one responsibility, even if it touches a few files) → one dispatch. - Genuinely independent pieces (different files/systems, no shared state, fixing one doesn't affect the other) → candidate for parallel dispatch (step 3). - Not sure whether it's independent → treat as single/sequential. A wrong guess at parallelism causes conflicts and wasted subagent turns, which costs more than doing it sequentially would have. ## 2. Resolve the architecture decision yourself, before dispatching Use the `godot-architecture` skill's rules (dependency-tree tiebreaker, when a folder is created, when an ADR is needed) to decide: which layer, which existing pattern to follow (name a concrete reference file), and whether an ADR is needed. Write the answer into the dispatch brief as a stated fact, not an open question — `godot-developer` should not have to make this call itself. If an agent reports mid-task that the resolved layer was wrong, that's new information the orchestrator missed: take the task back, decide again, and re-dispatch; don't let the developer improvise a second decision on its own. ## 3. Decide single vs. parallel dispatch Parallelize only when every one of these holds for the candidate pieces: - different files — no two pieces write the same script or scene; - no shared interface/signal contract still being decided (if piece B's shape depends on what piece A produces, they're sequential, not parallel — resolve the contract in step 2 first, then both sides can implement in parallel); - each piece is independently testable/validatable on its own. Examples in this project: fixing two unrelated pre-existing GUT failures in different test files; building two independent `components/` that don't reference each other. Not parallel: two changes to the same `.tscn`; a new `system` and the `component` it coordinates, while the signal contract between them is still undecided. To dispatch in parallel, issue multiple `Agent` calls in the same response. Never dispatch more than one `godot-developer`/`godot-debugger` against the same file at the same time. ## 4. Write the dispatch brief Each dispatch is self-contained — the subagent has no memory of this conversation. Include: - the task, scoped to exactly this piece; - the resolved layer/pattern/target file path from step 2; - any constraint that matters here (don't touch file X, this is a bugfix not a refactor); - the report contract: a short structured summary only (see the agent's own "Report contract" section) — never expect a full diff pasted back. ## 5. After dispatch: consolidate, don't dump Read each agent's summary, run the shared validation (lint/parse/tests) once across all the changes together, and relay the user a short synthesis — not the agents' raw output concatenated. If two parallel pieces touched adjacent code, re-check the integration by hand before calling the task done. ## Bigger work For a whole epic built by several agents with review and a playtest, use the `team-lead` skill from the `game-sdlc` plugin; it applies this skill's dispatch rules to each piece.