how
How
Explore the codebase to answer "how does X work?" questions. Produce architectural explanations at the level of a senior engineer onboarding onto a subsystem, enough to build a working mental model, not so much that it reads like annotated source code.
Every spawn is an item in the task tool's batch shape, and every child is read-only by its brief. Explorers use agent: scout. Every explainer uses agent: reviewer. A task item never names a model. Each agent's model comes from task.agentModelOverrides and modelRoles in ~/.omp/agent/config.yml, which /skill:setup-pstack (skill://setup-pstack) writes. Set an item's effort for the job only when the task schema shows an effort field (task.enableEffort). Otherwise omit it.
Each dispatch is one task call. context holds the question and the subsystem scope every child shares. tasks[] holds one item per child with name (unique, CamelCase), agent, task (the filled prompt template), and solutionSpace. Children never call task, never ask the user, and return their result to you. Read each full result at agent://<id>.
1. Assess complexity
If the scope is ambiguous, state your interpretation and explore. The user can redirect.
- Simple (a single module, a small utility, a narrow question such as "how does function X work"): no explorers. Spawn one explainer that explores and explains in one pass, built from
skill://how/references/explainer-prompt.mdwithout the explorer-findings section. Go to step 4. - Complex (a subsystem spanning multiple files or services, a cross-cutting feature, a full architectural overview): go to step 2.
When in doubt, take the simple path.