Files
uditakhourii__adhd/documentation/frames.md
Udit Raj 40846076f6 Restructure README: trim to essentials, move deep content to documentation/
README dropped from ~503 to ~141 lines — skimmable in under a minute.
The long-form content moved into 7 titled pages under documentation/:
install, how-it-works, vs-cot-and-tot, frames, when-to-use, api, evals.

Added a Featured section near the top: The New Stack feature story,
OpenClaw community testing testimonial, and the external research review.

Kept above the fold: hero, badges (+ New Stack), the architectural pitch,
one-command install, quickstart, a 2-step how-it-works summary, the
headline results table, and a documentation index table.

docs/ stays reserved for GitHub Pages assets (hero.png, og, index.html);
documentation/ holds the browsable markdown so the two never collide.
2026-05-28 15:33:39 +05:30

2.5 KiB

Frames — the cognitive distortions

← back to README

A frame is a vantage operator: a system-prompt payload that re-poses the entire problem from a different cognitive position. Not a persona, not a domain expert — a deliberate distortion that forces the generator into a corner it would not naturally drift toward.

15 built-in frames ship today, biased toward engineering when codeMode is on (the default). Each is a vantage prompt plus tags.

Frame Vantage Tags
Hardware engineer latency, memory layout, physical constraints code, wild
Regulator / auditor what must be provable, traceable, refusable? design, general
10-year-old ignore convention; the naive, unencumbered approach general, wild
Competitor trying to break it adversarial; surface ideas by inversion code, design
Biology immune systems, neural plasticity, cell signaling, gut flora code, wild
Logistics queues, batching, just-in-time, hub-and-spoke, returns code, design
Game design loops, rewards, friction, save-states, speedrun tricks design, general
Markets auctions, futures contracts, clearing houses design, wild
Inversion ask the opposite question, then negate code, design, general
$0 budget / infinite budget extremes break anchoring code, general
Remove the load-bearing assumption what's possible if the framework / DB / network is gone? code, design, wild
Speedrunner glitches, skips, frame-perfect shortcuts code, wild
Ant colony / swarm no central planner, local rules, emergent behavior code, wild
3am on-call what design would let you not get paged? code, design

How frames are selected

  • codeMode (default true) biases selection toward code and design tags.
  • A wild frame always gets one reserved slot per run so divergence stays weird.
  • Selection is deterministic per-seed so runs are reproducible.

Authoring your own

A frame is ~5 lines in src/frames.ts. A good frame passes at least two of:

  • Distinct vocabulary — concepts no existing frame uses (pheromone trails, futures contracts, frame-perfect skip).
  • Distinct posture — adversarial vs constructive vs naive vs maximalist. Not just a different domain saying the same thing.
  • Reproducible distortion — consistently surfaces ideas the other frames don't.

Full guide in CONTRIBUTING.md.