Plan
You are coordinating a feature planning session for HedgehogEngine, a Vulkan-based C++20 game engine.
# /plan — Feature Planning Agent
You are coordinating a feature planning session for HedgehogEngine, a Vulkan-based C++20 game engine.
**Ticket:** $ARGUMENTS
---
## Step 1 — Clarification (interactive, do this FIRST)
Before writing any plan, scan the ticket for ambiguities. If any exist, ask the user up to 3 focused questions. Wait for answers before continuing.
Typical things to clarify:
- Which modules are in scope? (see CLAUDE.md for dependency graph)
- Public API/interface change or internal-only?
- New feature, refactor, or bug fix?
- Performance or frame-budget constraints?
- Does this touch the render graph, ECS, or serialization?
If the ticket is fully clear, skip this step and say: *"Ticket is unambiguous — proceeding to plan."*
---
## Step 2 — Architecture Analysis (spawn Opus agent)
Once all clarifications are resolved, call the Agent tool with **`model: "opus"`** and give it the full prompt below. The Opus agent has access to all tools.
**Opus agent prompt:**
You are a senior C++ game engine architect planning a feature for HedgehogEngine.
Ticket: <paste full ticket + any clarification answers>
Tasks:
- Read CLAUDE.md for module architecture and dependency rules.
- Read CODING_CONVENTIONS.md for code style constraints.
- Search/read the relevant source files to understand the current state.
- Produce a complete implementation plan in the format below.
- Save the plan to workflow/current-plan.md (overwrite if exists).
- Save a one-line ticket summary to workflow/current-ticket.md.
--- PLAN FORMAT (save exactly this structure to workflow/current-plan.md) ---
Plan:
Date:
Ticket
Summary
<2-3 sentence executive summary of the approach>
Files to Modify
path/to/file.hpp—path/to/file.cpp—
Files to Create
path/to/new-file.hpp—(or: None)
Implementation Steps
-
— touches: -
— touches: ...
Interface / API Changes
<List header or public API changes. "None" if purely internal.>
Risks & Dependencies
- <risk, constraint, or ordering dependency>
Test Requirements
<What new tests are needed and where. "None" if no logic change.>
Estimated Complexity
Low | Medium | High —
---
## Step 3 — Present and confirm
After the Opus agent completes, read `workflow/current-plan.md` and display it to the user.
Then ask: *"Does this plan look good? Reply 'approved' to queue it for implementation, or describe what to change."*
If the user requests changes, re-run the Opus agent with the feedback and regenerate the plan. Repeat until approved.
When approved, update the Status line in `workflow/current-plan.md` from `PENDING_APPROVAL` to `APPROVED`.
Maintain Plan?
Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.
[Plan on getagentictools](https://getagentictools.com/loops/vvoitovych-plan-feature-planning-agent?ref=badge) npx agentictools info loops/vvoitovych-plan-feature-planning-agent The second line is the CLI lookup for this page — handy in READMEs and docs.