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.
Built-in lenses
Section titled “Built-in lenses”| ID | Lens | The angle |
|---|---|---|
first-principles | First principles | Break the problem down to root assumptions and rebuild |
outsider | Outsider | An external point of view, immune to your in-group’s groupthink |
contrarian | Contrarian | Argue the opposite of the obvious answer |
expansionist | Expansionist | What if you went bigger — more ambitious, more scope? |
executor | Executor | Operational focus — what it takes to actually ship this in the real world |
alien | Alien | A completely novel angle, unconstrained by convention |
mom | Mom | The home-and-family perspective |
dad | Dad | The practical-economics perspective |
Using one
Section titled “Using one”Set the lens for a domain and it sticks. The single most powerful move:
lens = allWhen 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 verdictFrameworks vs lenses
Section titled “Frameworks vs lenses”| Framework | Lens | |
|---|---|---|
| Changes | How the answer is structured | Which perspective it comes from |
| Examples | BLUF, SCQA, OODA | first-principles, contrarian, mom |
| Multiplies the council? | No | Yes, when set to all |
They’re orthogonal — combine freely.
Adding your own
Section titled “Adding your own”Lenses live in src/lens.ts, with the same shape as frameworks (id, label, blurb, instruction). See Extending Prevail.