Use case: ui-mockup / explanatory product composition.
Asset type: polished wide landscape README illustration for Spiritboard, high resolution, approximately 2400 by 1500 or wider, crisp legible interface text.

Primary request: show how Spiritboard gathers visibility across several agent sessions running in Ghostty and in the Claude desktop app. The attached image is the REAL Spiritboard dashboard screenshot with entirely SYNTHETIC demo data; use it as the visual reference for the left dashboard, retaining the recognizable design, UI hierarchy, purple colors, orbital mark, activity chart, session names, and expanded "Orders cursor pagination" row with "open in Ghostty". Make the dashboard look like the actual supplied UI, not a generic invented analytics dashboard.

Composition: straight-on, flat professional software product illustration, no perspective distortion, no physical laptop, no people. A dark ink/plum background like the screenshot. A very small elegant top caption "Your agents. One board." Beneath it, left ~60% is a large browser/app window labeled "Spiritboard" showing the supplied dashboard, prominent and legible. Right ~40% has TWO equally clear app windows stacked vertically with generous separation: Ghostty terminal above, Claude desktop below. Their combined height matches the board. Rounded native macOS window frames, red/yellow/green window controls, restrained shadows, understated and credible. Do not overlap important UI. The full canvas contains exactly these three main app windows.

Ghostty window: title "Ghostty". Four terminal split panes in a 2-by-2 grid, each with an unmistakable exact session name matching a visible board row. Dark terminal background, crisp cream monospace text and subtle colored status accents. Exact pane headings:
"Orders cursor pagination" with smaller "Codex" and terminal output "24 tests passed" and "Ready for review".
"WebSocket listener leak" with smaller "Claude Code" and terminal output "Checking reconnect cleanup..." and "3,800 / 5,000 reconnects".
"Flaky upload retry test" with smaller "opencode" and terminal output "Running retry test 100 times..." and "Checking timer cleanup".
"CLI JSON output" with smaller "Pi" and terminal output "7 of 9 commands return JSON" and "Fixing deploy-status snapshot".
Do not invent personal paths, usernames, accounts, API keys or real repository names. No shell text beyond these short synthetic snippets is necessary.

Claude desktop window: title "Claude". Show an understated realistic desktop chat interface in warm charcoal, small authentic Claude wordmark or simple "Claude" label, narrow minimal sidebar and main conversation. The selected conversation title is exactly "Invoice currency backfill", matching the board row. User bubble: "Backfill invoice_currency from ledger entries. Report unmatched accounts before writing." Assistant text: "Dry run checked 41k invoices. Please review the backfill before I apply it." A quiet input composer "Reply to Claude". This conversation is waiting for the user; use a small amber status treatment consistent with the corresponding board row. This is an illustrative Claude desktop session, not a request to inspect a real app.

Visual explanation: use only a few very thin subtle lines flowing FROM right-hand source app windows TOWARD the matching dashboard area on the left, with small arrowheads pointing toward the board. Tiny nearby text "Local activity". Do not draw arrows from the board to commands or imply the board executes, starts, controls or modifies agents. Optional tiny footer text, exactly "Synthetic sessions · illustrative workspace". Keep connectors behind windows or in the gap, never crossing text.

Constraints: match session titles across the board, terminal panes and Claude conversation exactly, spelling matters. Keep "spiritboard" branding and the dashboard's actual dark purple aesthetic. Keep the demo nature clear. Preserve recognizable dashboard chart, harness list, status rows and expanded session. You may reduce less important lower rows to make these five matching session names readable, but never rename them or replace dashboard with unrelated charts. Update the dashboard's top-right settings label from "Summaries off" to "AI settings" to match current product. No added marketing claims, no watermarks, no glowing sci-fi effects, no fake readable private data, no photoreal desktop screenshot claim. This is a synthetic explanatory composition using the real UI reference.

Follow-up edit prompt (built-in imagegen, generated composition as input):

Edit the attached Spiritboard workspace composition with ONE targeted factual correction. Keep the entire canvas EXACTLY the same dimensions, window positions and sizes, board contents, Ghostty text, arrows, fonts, color palette and overall composition unchanged.
Only edit the LOWER RIGHT Claude desktop mockup, to clearly represent Claude Desktop CODE sessions rather than ordinary chats. Change its centered native window title from "Claude" to "Claude · Code". Change the left sidebar heading from "Claude" to "Code sessions". Change the sidebar button from "+ New chat" to "+ New session". Change generic chat bubble sidebar icons to small folder/code-session icons. Keep the selected session title exactly "Invoice currency backfill", and keep its existing user request and assistant reply text unchanged. Add a small muted label "Code session" directly beneath or next to the selected main conversation title if it fits without moving other content. This is a Code session with the Claude agent waiting for review. Preserve every other element of the image, especially the dashboard's matching names and demo disclosure. No extra windows, no new objects, no real identifiers. Maintain the original 1586 x 992 canvas and exact geometry.
