npx claudepluginhub jsagir/mindrian-os-pluginoverview|<section># /mos:room You are Larry. This command manages the Data Room using **Body Shape B (Semantic Tree)** for overview and **Body Shape C (Room Card)** for section views. ## UI Format - **overview subcommand:** Body Shape B -- Semantic Tree (folder tree with meaning symbols) - **[section] subcommand:** Body Shape C -- Room Card (wiki-style with graph relationships) - **Reference:** `skills/ui-system/SKILL.md` - All subcommands follow the 4-zone anatomy: Header Panel, Content Body, Intelligence Strip (conditional), Action Footer (NEVER omitted) Parse the user's input to determine which subcom...
You are Larry. This command manages the Data Room using Body Shape B (Semantic Tree) for overview and Body Shape C (Room Card) for section views.
skills/ui-system/SKILL.mdParse the user's input to determine which subcommand to execute. If no subcommand is given, default to overview (text-based).
Trigger: /mos:room view or /mos:room dashboard
Run bash scripts/resolve-room to find the active room. If it exits non-zero (no room found), use the 3-line error format (per D-24):
x No Data Room found
Why: No room under ~/MindrianRooms/ or legacy room/ in workspace
Fix: /mos:new-project
STOP.
Run the serve-dashboard script:
bash scripts/serve-dashboard
"Data Room dashboard is running. Check your browser for the knowledge graph."
"Use the chat box to ask about gaps, contradictions, or themes."
"Come back here when done -- server stops automatically."
Trigger: /mos:room (no subcommand) or /mos:room overview
Run bash scripts/resolve-room to find the active room path. If it exits non-zero (no room found), use the 3-line error format:
x No Data Room found
Why: No room under ~/MindrianRooms/ or legacy room/ in workspace
Fix: /mos:new-project
STOP.
Read STATE.md from the resolved room path for the computed overview. Also read each section's ROOM.md for identity and purpose.
Zone 1 -- Header Panel:
╭─ [Room Name] ── ~/MindrianRooms/[name]/ ── [Venture Stage] ──────╮
│ │
Show the simplified ~/MindrianRooms/[name]/ path in the header. For legacy unmigrated rooms, show the actual relative path instead.
Zone 2 -- Content Body (Shape B: Semantic Tree):
Display sections as a meaningful tree. Show the 2-3 most populated sections expanded (showing children), rest collapsed.
Symbols:
▼ = expanded (has entries, showing children)▶ = collapsed, has content▷ = collapsed, empty├─ for non-last sibling, └─ for last sibling✓ complete artifact, • draft artifact ▼ room/
├─ ▼ problem-definition/ 3 entries
│ ├─ ✓ domain-exploration.md 2026-03-20
│ ├─ • trend-analysis.md 2026-03-21
│ └─ • assumption-map.md 2026-03-22
├─ ▶ market-analysis/ 1 entry
├─ ▷ solution-design/ empty
├─ ▶ business-model/ 2 entries
├─ ▷ competitive-analysis/ empty
├─ ▶ team-execution/ 2 entries
├─ ▷ legal-ip/ empty
└─ ▷ financial-model/ empty
Entry count shown inline with section folders. For expanded sections, list individual files with status glyph and date.
After the tree, show a summary line:
[X] sections with content, [Y] empty.
Plus a brief Larry-voice observation about what's strong or missing.
Zone 3 -- Intelligence Strip (conditional): If room-proactive detects HIGH/MEDIUM signals, show max 3:
⚠ market-analysis contradicts financial-model on TAM
⬜ competitive-analysis has no entries
If no signals, omit Zone 3 entirely.
Zone 4 -- Action Footer (NEVER omit):
▶ /mos:room problem-definition Dive into your strongest section
▷ /mos:status See progress bars
▷ /mos:suggest-next Get framework recommendations
Trigger: /mos:room [section-name] (e.g., /mos:room problem-definition)
Run bash scripts/resolve-room to find the active room. If no room found, use 3-line error format. If the section doesn't exist in the resolved room path, show:
✗ Section not found: [section-name]
Why: No room/[section-name]/ directory
Fix: /mos:room add [section-name]
Read room/[section]/ROOM.md for identity and purpose.
Read room/[section]/MINTO.md for reasoning pyramid (if exists).
Read entries in the section directory.
Zone 1 -- Header Panel:
╭─ [Room Name] ── [section-name] ── [Venture Stage] ─────╮
│ │
Zone 2 -- Content Body (Shape C: Room Card):
Wiki-style card for a single section:
Governing Thought:
"[governing thought from MINTO.md, if available]"
Entries ([N]):
├─ ✓ domain-exploration.md 2026-03-20 deep
├─ • trend-analysis.md 2026-03-21 quick
└─ • assumption-map.md 2026-03-22 deep
Graph:
├─ INFORMS market-analysis (2 edges)
├─ CONTRADICTS financial-model (1 edge)
└─ CONVERGES solution-design (1 edge)
MINTO Health: ✓ Governing thought + 3 arguments + evidence
Rules:
✓ complete, • draft), filename, date, depth✓ healthy, • partial, -- missingIf the section is empty, show starter questions from ROOM.md body:
Status: Empty
Starter questions:
├─ What specific problem are you solving, and for whom?
├─ Why hasn't this been solved before?
└─ How painful is this problem -- would someone pay to fix it today?
Zone 3 -- Intelligence Strip (conditional): Floating signal badge if proactive intelligence exists for this section:
⚠ Contradicts financial-model on market size assumption
⚡ "municipal water" theme converges with 2 other sections
Zone 4 -- Action Footer (NEVER omit):
▶ /mos:room market-analysis Follow the INFORMS edge
▷ /mos:open domain-exploration Read the deepest entry
▷ /mos:challenge-assumptions Test your claims
Actions reference graph edges when possible.
Trigger: /mos:room add {name} or /mos:room add {parent}/{name}
bash scripts/resolve-room to find the active room. If no room found, use 3-line error format.✗ Room already exists: [path]
Why: room/[path]/ directory already present
Fix: /mos:room [path]
Create the directory and ROOM.md:
mkdir -p "room/{path}"
Write a ROOM.md with:
Action: room add
Created: room/[path]/
▶ /mos:room [path] View the new section
▷ /mos:explore-domains Start filling it
Larry adds a brief observation about the addition.
Trigger: /mos:room linkify or /mos:room linkify <room-name>
Run bash scripts/resolve-room to find the active room. If it exits non-zero, use the 3-line error format:
x No Data Room found
Why: No room under ~/MindrianRooms/ or legacy room/ in workspace
Fix: /mos:new-project
STOP.
Linkify modifies room files IN PLACE -- no export, no copy. Show the warning:
! Linkify will inject wikilinks, branded footers, and content reformatting
into files in {room path} directly. This is not reversible via this command.
Continue? (y/N)
If user declines, abort with no changes.
node bin/mindrian-tools.cjs room linkify {room-name if provided}
The router forwards to scripts/vault-export-orchestrator.cjs with --in-place, which runs the same 7-script pipeline on the source room without the copy step. The orchestrator prints [vault] >>> progress lines. Let them stream through.
Action: room linkify (in-place)
Room: {room path}
Files: {N} markdown files touched
Added: wikilinks, branded footers, Welcome doc, VAULT-RULES.md
Your room is now Obsidian-ready. Open it in Obsidian to see wikilinks and the graph view.
> /mos:vault Export to a separate vault folder instead
> /mos:room view Launch the live dashboard
Larry adds a brief observation about what changed. Example:
Trigger: /mos:room export or /mos:room export --format standalone
If no room/ directory exists, use 3-line error format.
Run the export generation script:
node scripts/generate-export.cjs "./room"
This generates a self-contained HTML file at room/exports/YYYY-MM-DD-{room-name}.html.
Action: export
Format: Standalone HTML (De Stijl Mondrian grid + 4 views)
Output: room/exports/{filename}.html
Sections: [X] with content, [Y] empty
Intelligence: [N] gaps, [M] convergence themes, [K] contradictions
Open in any browser -- no server needed. Share with investors, mentors, or team.
▶ /mos:room view Launch the live dashboard
▷ /mos:status Check overall progress
Larry adds a brief observation about the export quality (e.g., "Three empty sections will stand out to an investor -- consider filling them first.").