Skip to content

Lenses

Where a framework changes the structure of an answer, a lens changes the perspective it’s reasoned from. Same question, deliberately different angle of attack.

IDLensThe angle
first-principlesFirst principlesBreak the problem down to root assumptions and rebuild
outsiderOutsiderAn external point of view, immune to your in-group’s groupthink
contrarianContrarianArgue the opposite of the obvious answer
expansionistExpansionistWhat if you went bigger — more ambitious, more scope?
executorExecutorOperational focus — what it takes to actually ship this in the real world
alienAlienA completely novel angle, unconstrained by convention
momMomThe home-and-family perspective
dadDadThe practical-economics perspective

Set the lens for a domain and it sticks. The single most powerful move:

lens = all

When the lens is set to all, the council multiplies: every panelist answers through every lens. Four panelists × eight lenses is up to 32 distinct reasoning passes on one question, then the chair synthesizes across all of them.

first-principles contrarian executor … (8 lenses)
claude ● ● ●
codex ● ● ●
agy ● ● ●
ollama ● ● ●
chair synthesizes one verdict
FrameworkLens
ChangesHow the answer is structuredWhich perspective it comes from
ExamplesBLUF, SCQA, OODAfirst-principles, contrarian, mom
Multiplies the council?NoYes, when set to all

They’re orthogonal — combine freely.

Lenses live in src/lens.ts, with the same shape as frameworks (id, label, blurb, instruction). See Extending Prevail.