---
name: deck-illustrations
description: Generate styled illustrations for pitch decks using a team pipeline. Use when Assaf asks to create, update, or iterate on deck visuals/illustrations — including style matching, character generation, or slide artwork. Triggers on requests mentioning deck images, slide illustrations, visual style for presentations, or illustration generation for any project deck.
---

# Deck Illustrations Skill

Generate pitch deck illustrations through a coordinated team pipeline with style analysis, image generation, and quality review.

## Pipeline

```
User request → Kitt (frame brief) → Post to Discord task thread → Erica coordinates in-thread → Tatiana proposes/generates → Anton critiques → Erica collects → Kitt final review → User
```

## Coordination Method: Discord Group Chat (MANDATORY)

**All agent coordination happens in Discord task threads.** Sub-agents cannot spawn each other — use @mentions in threads instead.

### How It Works
1. Kitt frames the brief and posts it to the task's Discord thread
2. Kitt @mentions Erica in the thread to kick off coordination
3. Erica @mentions Tatiana with the creative brief
4. Tatiana does her work and posts results in the thread
5. Erica @mentions Anton to critique Tatiana's output
6. Anton posts his verdict in the thread
7. Erica collects the approved output and confirms in-thread
8. Kitt does final review and delivers to Assaf

**Why not sessions_spawn for coordination?** Sub-agents don't have access to sessions_spawn. Discord threads let all agents talk to each other directly.

**Kitt's spawning role:** Kitt can still use sessions_spawn for isolated tasks (e.g., "Tatiana, generate this specific image"). But coordination between agents MUST happen in Discord threads where everyone can see and respond.

## Workflow

### 1. Receive & Frame (Kitt)

Extract from user request:
- **Target slides** — which slides need illustrations (by number or name)
- **Style reference** — artist name, URL, and/or reference images
- **Deck context** — read `projects/<project>/deck-copy-trimmed.md` for slide content
- **Output specs** — resolution (default 2K), aspect ratio, background requirements

### 2. Kick Off in Discord Thread

Post the brief to the task's Discord thread and @mention Erica to coordinate.

### 3. Style Analysis (@Tatiana in thread)

Erica @mentions Tatiana with:
- All reference image paths
- Artist name/URL
- Request for: visual style breakdown, color palette, character design principles, prompt language for reproduction
- Project context (what the illustrations are for)

### 4. Generate Images (nano-banana-pro)

Tatiana uses the nano-banana-pro skill for generation. See `references/prompt-patterns.md` for proven prompt structures.

```bash
GEMINI_API_KEY="<key>" uv run {nano-banana-pro-dir}/scripts/generate_image.py \
  --prompt "<prompt>" \
  --filename "YYYY-MM-DD-<project>-<slide-name>.png" \
  --resolution 2K
```

- Generate all needed slides in parallel
- Use timestamps in filenames
- Always use `--resolution 2K` for deck quality

### 5. Review (@Anton in thread)

Erica @mentions Anton with:
- Generated image paths
- Reference image paths for comparison
- Style brief location
- Clear ask: APPROVED or NEEDS REVISION with specific notes

### 6. Final Critical Review (Kitt)

Before delivering to user, Kitt checks:
- Do characters have **personality**? (sunglasses, hair, hats, attitude — not blank faces)
- Does the **color palette** match the reference style?
- Is the **composition** right for a slide? (clean, readable at presentation scale)
- Does it serve the **slide's message**?

If any check fails → back to thread for iteration.

### 7. Deliver

- Post approved images to the task thread for Assaf
- Show approved images with brief context on what each is for

## Iteration

When user requests changes:
1. Note specific feedback
2. Adjust prompt (see `references/prompt-patterns.md` for modifier patterns)
3. Regenerate
4. Run back through Erica review (skip for minor tweaks user already approved direction on)

## Key Rules

- **Kitt never generates images directly** — delegate through the pipeline
- **Nothing ships without Anton review** — THREE rings: Erica coordinates → Anton critiques → Kitt final check. ALL THREE mandatory.
- **Anton reviews BEFORE the channel sees anything** — not after, not "we'll run it by him later"
- **Solid backgrounds work best** — gradients lose the toy/vinyl aesthetic
- **Character personality is critical** — oversized heads alone aren't enough; add sunglasses, hats, styled hair
- **Each task gets its own thread** (Discord) or clear message grouping (WhatsApp)
- **When rushing, slow down** — skipping review to recover from mistakes creates MORE mistakes

## References

- `references/prompt-patterns.md` — Proven prompt structures and modifiers for different styles
- `references/ozawa-style.md` — Colin Ozawa style brief (first style we nailed)
- `assets/` — Store approved style briefs and reference images for reuse
