Skip to content

Commit b96a747

Browse files
Add world model diagnostic skill and activation recipe
1 parent 500076e commit b96a747

9 files changed

Lines changed: 709 additions & 0 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ Standalone capabilities that make your Open Brain smarter.
9292
| [Daily Digest](recipes/daily-digest/) | Automated daily summary of recent thoughts delivered via email or Slack | OB1 Team |
9393
| [Bring Your Own Context](recipes/bring-your-own-context/) | Portable context workflow that packages extraction prompts, profile generation, and remote MCP deployment into one entrypoint | [@jonathanedwards](https://github.com/jonathanedwards) |
9494
| [Work Operating Model Activation](recipes/work-operating-model-activation/) | Conversation-first workflow that turns tacit work patterns into structured Open Brain records and agent-ready operating files | [@jonathanedwards](https://github.com/jonathanedwards) |
95+
| [World Model Diagnostic Activation](recipes/world-model-diagnostic-activation/) | Ship-now activation path for a 20-minute world-model readiness diagnostic that compounds through core Open Brain capture | [@jonathanedwards](https://github.com/jonathanedwards) |
9596
| [Research-to-Decision Workflow](recipes/research-to-decision-workflow/) | Composition recipe that chains canonical skills into operator and investor research, synthesis, meeting, and memo workflows | [@NateBJones](https://github.com/NateBJones) |
9697

9798
### [`/skills`](skills/) — Agent Skills
@@ -109,6 +110,7 @@ Plain-text skill packs you can drop into Claude Code, Codex, or other AI clients
109110
| [Panning for Gold Skill Pack](skills/panning-for-gold/) | Turns brain dumps and transcripts into evaluated idea inventories | [@jaredirish](https://github.com/jaredirish) |
110111
| [Aiception Skill Pack (formerly Claudeception)](skills/claudeception/) | Extracts reusable lessons from work sessions into new skills | [@jaredirish](https://github.com/jaredirish) |
111112
| [Work Operating Model Skill Pack](skills/work-operating-model/) | Runs a five-layer elicitation interview and saves the approved operating model into Open Brain | [@jonathanedwards](https://github.com/jonathanedwards) |
113+
| [World Model Readiness Diagnostic](skills/world-model-diagnostic/) | Runs a 20-minute world-model diagnostic that maps paradigm fit, audits the boundary layer, and labels findings by confidence | [@jonathanedwards](https://github.com/jonathanedwards) |
112114

113115
### [`/dashboards`](dashboards/) — Frontend Templates
114116

recipes/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Step-by-step builds that add a new capability to your Open Brain. Follow the ins
1111
| [ChatGPT Conversation Import](chatgpt-conversation-import/) | Ingest your ChatGPT data export |
1212
| [Daily Digest](daily-digest/) | Automated summary of recent thoughts via email or Slack |
1313
| [Work Operating Model Activation](work-operating-model-activation/) | Interview-driven workflow that stores how you actually work and generates agent-ready operating files |
14+
| [World Model Diagnostic Activation](world-model-diagnostic-activation/) | Lightweight activation path for a 20-minute world-model diagnostic that uses the base OB1 connector and a direct-paste fallback |
1415
| [Research-to-Decision Workflow](research-to-decision-workflow/) | Compose canonical skills into operator and investor paths for analysis, synthesis, meetings, and decision documents |
1516

1617
## Contributing
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
# World Model Diagnostic Activation
2+
3+
> Ship-now OB1 activation path for the World Model Readiness Diagnostic. V1 keeps the behavior lightweight by reusing the base Open Brain connector instead of adding a new MCP server or schema.
4+
5+
## What It Does
6+
7+
This recipe is the fastest credible way to ship the diagnostic promised in the
8+
"World Model" post without turning it into a heavier product build.
9+
10+
V1 deliberately does three things only:
11+
12+
1. runs the full 20-minute diagnostic through the paired [World Model Readiness Diagnostic skill](../../skills/world-model-diagnostic/)
13+
2. uses the existing core Open Brain `search_thoughts` and `capture_thought` tools when they are available
14+
3. persists three durable artifacts into the user's brain:
15+
- intake summary
16+
- boundary audit
17+
- final assessment
18+
19+
The same prompt also works in plain Claude or ChatGPT. Without OB1 connected, the
20+
workflow still runs, but it does not persist.
21+
22+
## Why V1 Looks Like This
23+
24+
The cleanest ship for tomorrow is **no new MCP tool surface in v1**.
25+
26+
That is the right call for this diagnostic because:
27+
28+
- the hard part is the conversation flow, not CRUD
29+
- the user needs copy-paste portability into Claude and ChatGPT
30+
- the assessment has to model uncertainty honestly, which lives best in the skill behavior
31+
- OB1 already has the durable memory primitives we need
32+
33+
So v1 is:
34+
35+
- skill-owned interview behavior
36+
- client-driven conversation state
37+
- base OB1 search/capture for compounding memory
38+
39+
The upgrade path is already drafted in [`schema-v2-draft.sql`](./schema-v2-draft.sql).
40+
41+
## Prerequisites
42+
43+
- Working Open Brain setup with `search_thoughts` and `capture_thought` available ([guide](../../docs/01-getting-started.md))
44+
- AI client that supports reusable skills/prompts, or a plain Claude/ChatGPT chat for direct paste
45+
- Canonical [World Model Readiness Diagnostic skill](../../skills/world-model-diagnostic/)
46+
47+
## Steps
48+
49+
### 1. Install the skill dependency
50+
51+
Follow the installation steps in the [World Model Readiness Diagnostic skill](../../skills/world-model-diagnostic/).
52+
53+
This recipe does not replace the skill. The skill owns:
54+
55+
- the intake questions
56+
- the paradigm mapping logic
57+
- the boundary audit
58+
- the fact-vs-inference output contract
59+
- the persistence behavior when OB1 tools exist
60+
61+
### 2. Keep your core Open Brain connector enabled
62+
63+
V1 depends on the base connector you already use for Open Brain.
64+
65+
The client should be able to see:
66+
67+
- `search_thoughts`
68+
- `capture_thought`
69+
70+
If those tools are missing, the diagnostic still works, but it becomes a
71+
non-persistent chat workflow.
72+
73+
### 3. Run the diagnostic
74+
75+
Use this exact prompt:
76+
77+
```text
78+
Use the World Model Diagnostic. Interview me for about 20 minutes to assess whether my company is ready for a world model. Ask about company size, industry, business model, the top 3-5 data sources ranked by fidelity, where decisions and editorial judgment currently live, which management layers have already been removed, how outcomes get recorded, and whether data capture happens as a byproduct of work or as separate documentation. Then map me to the right paradigm (vector database, structured ontology, or signal-fidelity), audit my top information flows by labeling each as "act on this" or "interpret this first," identify my biggest simulated-judgment exposures, and give me a first/second/third build sequence. Do not give me a readiness score. Label every conclusion as Firm finding, Inference, or Open question. If Open Brain search/capture tools are available, use them to check for prior context and persist the intake, boundary audit, and final assessment.
79+
```
80+
81+
### 4. Review what gets saved into OB1
82+
83+
When the base connector is available, the skill should persist three thoughts:
84+
85+
1. `[world-model-diagnostic/intake]`
86+
2. `[world-model-diagnostic/boundary-audit]`
87+
3. `[world-model-diagnostic/assessment]`
88+
89+
This is intentional. The diagnostic should compound, but it should not spray
90+
dozens of tiny fragments into the brain.
91+
92+
### 5. Re-run later and compare
93+
94+
The recommended cadence is:
95+
96+
- first run before any world-model build
97+
- second run after the boundary layer exists
98+
- later runs after outcome encoding or a paradigm shift
99+
100+
The diagnostic should compare against prior saved context when `search_thoughts`
101+
is available and call out what changed.
102+
103+
## Direct-Paste Fallback
104+
105+
If the reader does **not** have OB1 connected yet, the same prompt still works in
106+
Claude or ChatGPT. The only thing they lose is persistence.
107+
108+
That means the post promise stays true:
109+
110+
- works in Claude
111+
- works in ChatGPT
112+
- compounds in OB1 when the brain connector exists
113+
114+
## V2 Upgrade Path
115+
116+
V1 stores durable output in core thoughts on purpose. If this graduates into a
117+
structured diagnostic product, use the draft in [`schema-v2-draft.sql`](./schema-v2-draft.sql).
118+
119+
The intended Option B shape is:
120+
121+
- `world_model_assessments`
122+
- `world_model_boundary_flows`
123+
124+
Recommended tool surface for that future version:
125+
126+
1. `start_world_model_assessment`
127+
2. `save_world_model_boundary_flow`
128+
3. `finalize_world_model_assessment`
129+
4. `get_world_model_assessment_history`
130+
131+
That keeps the conversation in the client while giving structured storage and
132+
rerun history without forcing a single monolithic tool call.
133+
134+
## Expected Outcome
135+
136+
When this recipe is working correctly:
137+
138+
- the reader can paste one prompt into Claude or ChatGPT and run the full diagnostic
139+
- the same workflow compounds into Open Brain when the base connector is present
140+
- the output clearly distinguishes facts from interpretation
141+
- the reader gets a paradigm fit, boundary-layer read, top exposures, and a first/second/third build sequence
142+
- the repo already contains a schema-ready path for a structured v2
143+
144+
## Troubleshooting
145+
146+
**Issue: The client can run the interview but nothing is persisted**
147+
Solution: Re-enable the base Open Brain connector and verify the client can actually see `search_thoughts` and `capture_thought`.
148+
149+
**Issue: The diagnostic returns polished confidence instead of labeled uncertainty**
150+
Solution: Restore the skill rules. V1 should never collapse into a readiness dashboard or unlabeled inference.
151+
152+
**Issue: The assessment feels too abstract**
153+
Solution: Force the top 5-10 flow audit. The boundary labels are the core of the workflow, not an optional extra.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"name": "World Model Diagnostic Activation",
3+
"description": "Lightweight activation path for running the World Model Readiness Diagnostic inside OB1 using the base search/capture connector, with a direct-paste fallback for Claude and ChatGPT.",
4+
"category": "recipes",
5+
"author": {
6+
"name": "Jonathan Edwards",
7+
"github": "jonathanedwards"
8+
},
9+
"version": "1.0.0",
10+
"requires": {
11+
"open_brain": "required",
12+
"services": [
13+
"Supabase"
14+
],
15+
"tools": [
16+
"AI client with reusable skills/prompts or plain chat"
17+
]
18+
},
19+
"requires_skills": [
20+
"world-model-diagnostic"
21+
],
22+
"tags": [
23+
"workflow",
24+
"world-model",
25+
"diagnostic",
26+
"boundary-layer",
27+
"activation"
28+
],
29+
"difficulty": "intermediate",
30+
"estimated_time": "15 minutes",
31+
"created": "2026-04-18",
32+
"updated": "2026-04-18"
33+
}
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
-- Draft only.
2+
-- This is the schema-ready Option B path for the World Model Diagnostic.
3+
-- V1 ships without new tables and persists into core Open Brain thoughts instead.
4+
5+
create table if not exists public.world_model_assessments (
6+
id uuid primary key default gen_random_uuid(),
7+
user_id uuid references auth.users(id) on delete cascade not null,
8+
company_name text,
9+
company_size_band text,
10+
industry text,
11+
business_model text,
12+
company_case text not null,
13+
paradigm text not null check (
14+
paradigm in ('vector_database', 'structured_ontology', 'signal_fidelity')
15+
),
16+
boundary_layer_status text not null check (
17+
boundary_layer_status in ('missing', 'emerging', 'explicit', 'architectural')
18+
),
19+
highest_fidelity_signal text,
20+
signal_fidelity_summary text,
21+
recommended_sequence jsonb not null default '[]'::jsonb,
22+
simulated_judgment_exposures jsonb not null default '[]'::jsonb,
23+
principle_readout jsonb not null default '{}'::jsonb,
24+
confidence_summary jsonb not null default '{}'::jsonb,
25+
open_questions jsonb not null default '[]'::jsonb,
26+
captured_thought_ids jsonb not null default '[]'::jsonb,
27+
notes text,
28+
created_at timestamptz not null default now(),
29+
updated_at timestamptz not null default now()
30+
);
31+
32+
create index if not exists idx_world_model_assessments_user_created
33+
on public.world_model_assessments (user_id, created_at desc);
34+
35+
create index if not exists idx_world_model_assessments_user_paradigm
36+
on public.world_model_assessments (user_id, paradigm);
37+
38+
create table if not exists public.world_model_boundary_flows (
39+
id uuid primary key default gen_random_uuid(),
40+
user_id uuid references auth.users(id) on delete cascade not null,
41+
assessment_id uuid references public.world_model_assessments(id) on delete cascade not null,
42+
flow_name text not null,
43+
source text,
44+
consumer text,
45+
current_human_editor text,
46+
boundary_label text not null check (
47+
boundary_label in ('act_on_this', 'interpret_this_first')
48+
),
49+
exposure_level text not null check (
50+
exposure_level in ('low', 'medium', 'high')
51+
),
52+
failure_mode text,
53+
notes text,
54+
created_at timestamptz not null default now()
55+
);
56+
57+
create index if not exists idx_world_model_boundary_flows_assessment_created
58+
on public.world_model_boundary_flows (assessment_id, created_at desc);
59+
60+
create index if not exists idx_world_model_boundary_flows_user_exposure
61+
on public.world_model_boundary_flows (user_id, exposure_level);
62+
63+
create or replace function public.world_model_set_updated_at()
64+
returns trigger as $$
65+
begin
66+
new.updated_at = now();
67+
return new;
68+
end;
69+
$$ language plpgsql;
70+
71+
drop trigger if exists trg_world_model_assessments_updated_at on public.world_model_assessments;
72+
73+
create trigger trg_world_model_assessments_updated_at
74+
before update on public.world_model_assessments
75+
for each row
76+
execute function public.world_model_set_updated_at();
77+
78+
alter table public.world_model_assessments enable row level security;
79+
alter table public.world_model_boundary_flows enable row level security;
80+
81+
do $$
82+
begin
83+
if not exists (
84+
select 1
85+
from pg_policies
86+
where schemaname = 'public'
87+
and tablename = 'world_model_assessments'
88+
and policyname = 'world_model_assessments_user_policy'
89+
) then
90+
create policy world_model_assessments_user_policy
91+
on public.world_model_assessments
92+
for all
93+
using (auth.uid() = user_id)
94+
with check (auth.uid() = user_id);
95+
end if;
96+
end
97+
$$;
98+
99+
do $$
100+
begin
101+
if not exists (
102+
select 1
103+
from pg_policies
104+
where schemaname = 'public'
105+
and tablename = 'world_model_boundary_flows'
106+
and policyname = 'world_model_boundary_flows_user_policy'
107+
) then
108+
create policy world_model_boundary_flows_user_policy
109+
on public.world_model_boundary_flows
110+
for all
111+
using (auth.uid() = user_id)
112+
with check (auth.uid() = user_id);
113+
end if;
114+
end
115+
$$;
116+
117+
grant select, insert, update, delete on table public.world_model_assessments to service_role;
118+
grant select, insert, update, delete on table public.world_model_boundary_flows to service_role;

skills/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Reusable AI client skills and prompt packs for Open Brain workflows. These are t
1414
| [Panning for Gold Skill Pack](panning-for-gold/) | Turns brain dumps and transcripts into evaluated idea inventories | [@jaredirish](https://github.com/jaredirish) |
1515
| [Aiception Skill Pack (formerly Claudeception)](claudeception/) | Extracts reusable lessons from work sessions into new skills | [@jaredirish](https://github.com/jaredirish) |
1616
| [Work Operating Model Skill Pack](work-operating-model/) | Runs a five-layer work elicitation interview and turns the approved result into structured Open Brain records plus exports | [@jonathanedwards](https://github.com/jonathanedwards) |
17+
| [World Model Readiness Diagnostic](world-model-diagnostic/) | Runs a 20-minute diagnostic that maps company fit, audits the boundary layer, flags simulated-judgment exposure, and returns a labeled build sequence | [@jonathanedwards](https://github.com/jonathanedwards) |
1718

1819
## How Skills Differ From Recipes
1920

0 commit comments

Comments
 (0)