Skip to content

Council & Solo

Every altitude in APO has two modes. Council, when the question is contentious and you want more than one head on it. Solo, when the path is clear and you just need it sharpened. Knowing which one to reach for is half the skill.

Solo is a single skill doing one job well. /we:story is the workhorse: it sits with you in plan mode and produces a build-ready Story — a minimal ticket plus a detailed plan with context, acceptance criteria, a user journey, and the design decisions (including the alternatives you rejected and why). The same shape exists at every altitude: /we:vision, /we:saga, /we:epic each formulate one artifact at their level. /we:refine writes the same Story shape but with nobody in the room to ask — it’s what a worker dispatched by /we:orchestrate runs when a Story needs a plan and no human is available to answer a question; a genuine design fork stops it rather than have it guess.

Council convenes several agents, each carrying a distinct lens — Product Owner, Architect, Security, UX, and more. They deliberate in a shared conversation, address each other directly, and disagree out loud. The lead session synthesizes where they agree, where they pull against each other, and what it recommends. If you run weside, these are your own Companions; without an account, the plugin convenes eight generic role-lenses instead — Product Owner, Architect, Security, UX Researcher, Marketing, Legal, Scrum Master, and an Orchestrator that synthesizes.

When the work is obvious, go Solo and skip straight to refinement. Sometimes a decision is genuinely contested and no single perspective is enough — that is when you call a meeting instead of guessing alone.

Terminal window
/we:council # convene a council on a topic — role-lens deliberation + synthesis
/we:meet # a structured meeting at vision | saga | epic | story altitude

/we:meet wraps a Council at a specific altitude and decomposes the artifact into the next level down — a Vision meeting yields Sagas, an Epic meeting yields Stories. Council first, then Solo: a /we:meet story session surfaces the tensions, then hands the result to /we:story, which locks it into a build-ready plan. The deliberation feeds the refinement; the refinement feeds the build pipeline.

A dispatched /we:refine run cannot ask you anything — a genuine fork (one that changes user-visible behavior, or touches something the scope explicitly ruled out) stops it rather than have it pin behavior nobody chose. That plan then waits, marked as a fork, for you to decide before a worker builds on it.