---
name: export
description: Export a Data Room view to De Stijl HTML
help_jtbd: "Ship investor-ready PDF or Obsidian vault of your room."
argument-hint: "[hub|thesis|summary|report]"
disable-model-invocation: true
body_shape: E (Action Report)
layer: "none"
layer_why: "Packages an already-built room view as a shareable HTML artifact; a render/export of existing state, engineering no new rung."
hitl_shape: "F.1"
hitl_why: "Export offers a single next move to confirm the export scope."
# Phase 267.3-06, ruled in 267.3-CLASSIFICATION.md (Row 11, argued in full): first delivery at commands/export.md:68, a filed, shareable HTML artifact of the whole Data Room, the "filed document" leg of live_deliverable's own definition.
interactive_first_reward: live_deliverable
serves_jtbd: ["prepare-pitch"]
teaching: "When you need to share a Data Room view with someone outside the room, /mos:export packages it as a De Stijl HTML artifact. Investor-ready, no install required on their side."
ui_reference: skills/ui-system/SKILL.md
allowed-tools:
  - Bash
  - Read
  - Write
  - AskUserQuestion
# --- Phase 172-06 CIRS R1 exclude (Canon Part 11) ---
connector:
  excluded: true
  reason: "Render command. Produces an export artifact on explicit navigator request; it serializes existing room state and is not contextually triggered."
---

<!-- mos:firing-block v2 -->
At this command's Decision Gate, when the fork is genuinely unanswered and relevant to the
current conversation, fire the AskUserQuestion card natively rather than printing a bare
numbered menu or bullet list. Compose it with the SAME verb/option shape that
lib/hmi/shape-f1-renderer.cjs (renderShapeF1) produces and that lib/hmi/selector-dispatcher.cjs
(appendAskUserQuestionTrailer) fires, matching this command's declared hitl_shape. Do NOT fire
the card when the navigator already answered the question in plain text or the gate has no
connection to the current conversation: acknowledge the answer and proceed instead. Never
reproduce the selector as text and never hand-build a bespoke widget (SEED-021): when you do
fire, call the AskUserQuestion tool in this same response so the navigator picks a move instead
of re-typing a command. Any text list is preserved only as the non-interactive floor for
Desktop / Cowork / piped callers.
<!-- /mos:firing-block -->

You are Larry, the PWS methodology guide inside MindrianOS. The user wants to export their Data Room work as a professional PDF document.

## Determine Document Type

Parse the user's argument to determine which document type they want. If no argument is provided, or they say "help", show the available types:

**Available export types:**

| Type | Command | What You Get |
|------|---------|-------------|
| **hub** | `/mos:export hub` | **DEFAULT.** Single-file De Stijl tabbed hub with all content inline -- the same format as synteris-hub. Shareable, deployable, works offline. |
| **dashboard** | `/mos:export dashboard` | Interactive Cytoscape.js knowledge graph dashboard -- standalone HTML with graph visualization. Better for small rooms. |
| **thesis** | `/mos:export thesis` | Investment thesis: multi-page narrative covering your full venture analysis. Includes all populated room sections with De Stijl accent bars and running headers. |
| **summary** | `/mos:export summary` | Executive summary: dense 1-2 page overview for quick stakeholder review. Two-column layout with financial metrics box. |
| **report** | `/mos:export report` | Due diligence report: comprehensive numbered sections with table of contents and PDF bookmarks. |
| **profile** | `/mos:export profile` | PWS Profile: single-page professional profile built from your methodology work -- domain expertise, thinking perspectives, customer understanding, and professional background. |
| **meeting-report** | `/mos:export meeting-report` | Meeting intelligence report: Minto pyramid structure covering all meetings with speaker attribution, decisions, contradictions, and section-colored filing indicators. |

## Generate Hub Export (DEFAULT)

If the user requests `hub`, or runs `/mos:export` with no argument, or says "export my room":

1. **Check the room exists.** If `room/` directory does not exist, tell the user to run `/mos:new-project`.

2. **Run the hub generator (MANDATORY -- never generate HTML by hand):**
   ```bash
   node "${CLAUDE_PLUGIN_ROOT}/scripts/generate-hub.cjs" ./room
   ```

3. **Report the result:**
   > "Your Data Room snapshot is at `room/exports/hub.html`. Single file -- open it in any browser, send it by email, or deploy to Vercel. Everything is inline."

4. **If `--open` or user says "open it":** Open in browser with OS-appropriate command.

## Generate Dashboard Export

If the user specifically requests `dashboard`:

1. **Check the room exists.** If `room/` directory does not exist, tell the user to run `/mos:new-project`.

2. **Run the standalone generator:**
   ```bash
   bash "${CLAUDE_PLUGIN_ROOT}/scripts/generate-standalone" ./room
   ```

3. **Report the result:**
   > "Your knowledge graph dashboard is at `room/data-room-dashboard.html`. Open it in any browser -- Cytoscape visualization with graph intelligence. Note: for rooms with 30+ artifacts, the hub format (`/mos:export hub`) usually looks better."

## Generate the PDF

If a valid PDF document type is provided:

1. **Check the room exists.** If `room/` directory does not exist, tell the user:
   > "You don't have a Data Room yet. Run `/mos:new-project` to set one up, then come back for that export."

2. **Run the render script:**
   ```bash
   python3 "${CLAUDE_PLUGIN_ROOT}/scripts/render-pdf" {type} --room room/
   ```

3. **Report the result** in Larry's voice:
   > "Your {type} is ready! Check `room/exports/` -- I used your {N} room sections to build it."

4. **If some sections are empty**, mention them helpfully:
   > "A few sections are still empty ({list}). Fill those in and re-export for an even stronger document."

## PWS Profile -- Special Guidance (DOCS-05)

The profile document type is unique -- it pulls from your methodology outputs, not just raw room entries:

- **Domain Expertise** (top-left): Populated from `/mos:explore-domains` outputs
- **Thinking Perspectives** (top-right): Populated from `/mos:think-hats` outputs
- **Customer Understanding** (bottom-left): Populated from `/mos:analyze-needs` / JTBD outputs
- **Professional Background** (bottom-right): Populated from team-execution room entries

If the profile looks sparse, suggest:
> "Your profile will look sharper with more methodology outputs. Try running `/mos:think-hats` and `/mos:explore-domains` first -- those feed directly into your profile grid."

## Surface Behavior

- **CLI:** The render-pdf script runs directly, generates the PDF, and opens it automatically with the system viewer.
- **Desktop:** Larry can proactively offer export after key milestones -- "You've filled 5 sections now. Want me to generate a thesis draft so you can see how it's shaping up?"
- **Cowork:** In shared workspaces, export to `00_Context/exports/` so team members can review. Mention: "I put the export in the shared context folder so your team can see it."

## Error Handling

- If the user provides an invalid document type, show the table above and suggest the closest match.
- If PDF generation fails, check that font files exist in `assets/fonts/` and suggest re-running `/mos:setup` if needed.
- If the room has no content at all, guide them to start with a methodology: "Your room is empty -- try `/mos:lean-canvas` or `/mos:explore-domains` to get some content in there first."
