# Creative Imagery + MJ Prompt Audit

**Date:** 2026-04-27
**Session:** S83-H98
**Author:** CC (Mirror Mirror voice, direct to Brady)
**Read time:** ~7 minutes
**Action required at end:** Run 1 MJ prompt + 1 napkin prompt within 48 hours.

---

## TL;DR

You have **2,788 R2 assets, 18 named MJ prompts already drafted, 3 napkin docs already drafted — and 0 of the napkin diagrams generated, 18 of 20 Stripe products without images, and 5 Mirror Mirror pages with placeholder heroes.**

The asset library isn't the problem. **The problem is unfinished prompts and unrun diagrams.** Brady runs MJ + napkin; CC stages the rest.

---

## 1. Current state inventory

| Layer | Count | Note |
|---|---|---|
| **R2 assets total** | 2,788 | Per `~/docs/ecosystem/asset_catalog_2026-04-16.md` |
| → R2-only (no local backup) | 808 | Risk if bucket fails — separate concern from creative debt |
| → Local-only | 1,967 | Never made it to R2 — auto-ingest pipeline candidate |
| → Both R2+local | 13 | The discipline you should aim for going forward |
| **Brand assets on R2** | ~115 | Heroes, OG cards, product images |
| **Stripe products with image** | 2 of 20 | 18 show generic Stripe placeholder |
| **MM pages with hero** | 0 of 5 | `/webinar/`, `/consult/`, `/education/`, `/case-studies/`, `/automation-build/` |
| **Solshine product render** | 0 | Flagship 2026 product. No bottle, no botanical, no lifestyle |
| **Brady LinkedIn social card** | 0 | Distribution sprint asset |

---

## 2. Top-5 creative debt items (priority order)

### #1 — Mirror Mirror /webinar/ hero
- **Why now:** Top-of-funnel page. Every webinar registration starts here. 5 weekly views × 0 imagery = months of dead conversion lift.
- **Asset:** 16:9 hero, navy + gold palette (Mirror Mirror voice: "competent, direct, operational").
- **Constraint:** Mirror Mirror permits AI-photoreal because it sells *infrastructure competence*. Lean technical-elegant: dashboards, monitor stacks, over-shoulder POV.
- **CC handles after Brady runs MJ:** R2 upload + `build_ds_webinar.py` hero metadata + Stripe product image.

### #2 — Solshine bottle (3-variant set)
- **Why now:** Flagship product. Stripe product page is blank. Every prospective buyer sees placeholder.
- **Asset:** 3 × 1:1 square. (a) clinical bottle on neutral background, (b) macro botanical (nettle + horsetail + alfalfa), (c) lifestyle pour at golden hour.
- **Constraint:** WHG voice "grounded mysticism, seasonal" — botanical realism, not wellness-influencer style. Avoid: aspirational lifestyle clichés.
- **CC handles:** R2 upload + Stripe product image + `build_wh_solshine.py` hero metadata.

### #3 — Top-5 Stripe product images
- **Why now:** Stripe checkout pages with images convert 10-20% better. 18 of 20 products are blank. Compound effect.
- **Targets in priority:** MM Strategy Session $150, MM DS Course $297, GH Scout Report $300, RC Venus Deep Dive $95, RC RoseCard Activation $10.
- **Constraint:** Each in its own brand voice (MM = navy/gold technical; GH = blue-collar earth tones; RC = warm illustrative — NOT photoreal).
- **CC handles:** Stripe metadata API upload + offer_id linkage.

### #4 — Brady LinkedIn social cards
- **Why now:** Direct ROI doc P0 distribution sprint feed. Brady can't post 3x/week if every post needs custom imagery.
- **Asset:** 1200×627 LinkedIn cards, 4 variants — "Operator," "Builder," "Designer," "Distillery" (the three doors + a bonus Brady angle).
- **Constraint:** Brady voice "direct, opinionated, traded desk for dirt" — single subject per card, generous white space, brand color as accent only.
- **CC handles:** R2 upload + ready-to-post bundle in `~/docs/ecosystem/distribution/`.

### #5 — ShareCraft May 2 hero (TIME-SENSITIVE, 5 days)
- **Why now:** Event is May 2. Promo email + page hero ship before then.
- **Asset:** Event hero — Strip Mall craft-gathering scene.
- **Constraint:** RoseCourt forbids AI photoreal (Real First. Audio First. directive). **Solution:** documentary-illustrative style — 35mm film aesthetic, painterly, hand-drawn vibe. NOT realistic faces. OR photograph the actual venue if Brady has time.
- **CC handles:** R2 + page hero metadata + email blast asset.

**Lower priority (S99+):** LongHouse civic site hero, civic library case-brief illustrations, Brady Hugins primary site hero, Penny Knights character cards (already in S83-H26d brief).

---

## 3. Brand voice + kill-phrase constraints (every prompt must respect)

### Kill phrases (auto-flagged in CLAUDE.md)
"vibrant community", "transformative experience", "don't miss out", "journey" (as metaphor), "tribe", "magic happens"

### Real First. Audio First. directive (CLAUDE.md HARD RULE)
- AI-generated photorealistic imagery is **NEVER** published as RoseCourt brand content.
- For RoseCourt assets: prefer documentary illustration, painterly, 35mm aesthetic, OR real photography.
- Other brands (MM, GH, WHG, SS, LH) permit photoreal AI but must hit voice tone.

### Per-brand voice constraints (codified in `shared/brands.py`)

| Brand | Tone | Visual translation |
|---|---|---|
| RoseCourt | warm, inviting, grounded | Documentary illustrative, painterly, no AI photoreal portraits |
| Grove House | direct, blue-collar, earned | Concrete props (soil reports, well caps, shovel), earth tones |
| Witch Haven Grove | grounded mysticism, seasonal | Botanical realism, hand labels, deep purple + ochre palette |
| Mirror Mirror | competent, direct, operational | Dashboards, monitor stacks, navy + gold, technical-elegant |
| Small Stage | theatrical, expressive, respectful | Stage lighting, performer silhouette, audio waveforms |
| LongHouse | research-grade, efficient | Civic illustration, archival-document feel, cool blue palette |
| Brady Hugins | direct, opinionated, specific | Single subject, white space, brand-color accents |

---

## 4. Status of prior MJ prompt docs

| Doc | Status | Use? |
|---|---|---|
| `brand_asset_upgrade_roadmap_2026-04-26.md` | 18 prompts drafted | YES — H98 prompts extend, don't duplicate |
| `midjourney-prompts-2026-02-05.md` | 13 MM lesson headers | Stale — superseded by roadmap (Feb-pre-roadmap) |
| `smallstage-midjourney-prompts.md` | SS character/audio | Reference for Phase 2 SmallStage rollout |
| `longhouse-midjourney-prompts.md` | LH civic | Reference for S99+ LH hero |
| `bradyhugins-midjourney-prompts.md` | Brady site | Stale — H98 prompt #7 supersedes |
| Penny Knights MJ brief (S83-H26d) | Drafted | Run when Penny Knights site ships |
| DS Webinar MJ brief (S83-H55-B) | Drafted | Run when DS course material ships |
| 4 MJ briefs (S83-H79-E) — WHG/Penny/CC:U/per-brand OG | Drafted | WHG portion supersedes by H98 #2 (Solshine) |

**Conclusion:** Prior MJ work isn't wasted — it just hasn't been *run*. The H98 prompt batch (`midjourney_prompts_h98_2026-04-27.md`) is the **execution-ready** subset that closes the highest-impact gaps.

---

## 5. Napkin.ai gap

| Doc | Status | Diagram generated? |
|---|---|---|
| `napkin_ai_assessment_2026-04-26.md` | Researched | n/a (decision doc) |
| `napkin_first_test_ds_architecture_2026-04-26.md` | Drafted | ❌ Not generated |
| `napkin_prompt_2_mm_funnel_2026-04-26.md` | Drafted | ❌ Not generated |

**The blocker:** every prior napkin prompt was framed as an *internal* diagram (system architecture, funnel structure). Useful for slides, not directly publishable to LinkedIn.

**The fix (S83-H98-D):** 4 new napkin prompts each designed as a **standalone LinkedIn content asset** — diagram + caption ready to post. Reframes napkin from "internal slide tool" to "distribution content engine."

---

## 6. What Brady should run first (1-hour Brady time)

**The 48-hour test:** Brady picks 1 MJ + 1 napkin from the H98 batches and ships them. If they land, the doc batch unblocks 90+ minutes of CC work (R2 upload, Stripe metadata, page metadata, post-it-on-LinkedIn).

If they don't ship within 48 hours, the docs decay (per ROI doc P0 finding: distribution is the bottleneck, not infrastructure).

**Recommended starter pair:**
1. **MJ Prompt #1 — MM /webinar/ hero** (~5 min Brady to run, 4 variants, pick best). This is the highest-traffic page in the ecosystem.
2. **Napkin Prompt #1 — "How I run 8 brands solo"** (~10 min Brady to run). Pairs with the first LinkedIn post of the distribution sprint (and the H92 webinar-topic recommendation).

After those two run:
- CC pulls best variant from MJ → uploads to R2 → updates `build_ds_webinar.py` hero → redeploys MM
- CC saves napkin output → drafts companion LinkedIn post in Brady voice → Brady reviews + posts

**The budget:** 20 minutes of Brady's time can unblock 3 hours of CC's compound work + 1 LinkedIn post that matches the highest-leverage recommendation in the ROI doc.

---

## References

- `~/docs/ecosystem/research/midjourney_prompts_h98_2026-04-27.md` — 8 ready-to-run MJ commands (companion to this doc)
- `~/docs/ecosystem/research/napkin_content_prompts_h98_2026-04-27.md` — 4 LinkedIn napkin prompts (companion)
- `~/docs/ecosystem/research/brand_asset_upgrade_roadmap_2026-04-26.md` — prior 18 prompts (extended, not replaced)
- `~/docs/ecosystem/research/ecosystem_roi_optimization_2026-04-27.md` — ROI doc that named these as P1/P0
- `~/builders/shared/brands.py` — palette + voice source of truth
- `~/CLAUDE.md` — kill phrases + Real First directive
