Five-agent design-elevation pipeline for luxury HTML mockups. Audits a design-reference HTML file against brand canon, identifies polish gaps, generates a fix manifest, executes infrastructure changes via Senior Developer, and verifies the result. Use when refining a design mockup from "decent" to "production-grade luxury". Trigger phrases: "elevate this mockup", "luxury polish pass", "5-agent design pipeline", "/luxury-mockup-pipeline".
Scanned 9/11/2026
Install to Claude Code
npx -y skills add SkyyRoseLLC/DevSkyy --skill luxury-mockup-pipeline --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Luxury Mockup Pipeline?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/skyyrosellc-luxury-mockup-pipeline)More formats (shields.io, HTML) on the badges page.
---
name: luxury-mockup-pipeline
description: Five-agent design-elevation pipeline for luxury HTML mockups. Audits a design-reference HTML file against brand canon, identifies polish gaps, generates a fix manifest, executes infrastructure changes via Senior Developer, and verifies the result. Use when refining a design mockup from "decent" to "production-grade luxury". Trigger phrases: "elevate this mockup", "luxury polish pass", "5-agent design pipeline", "/luxury-mockup-pipeline".
---
# Luxury Mockup Pipeline
Composite pipeline that orchestrates **five specialist agents** to refine a standalone HTML design mockup from rough draft to luxury-grade production-ready artifact.
## Token-Aware Runtime Guard (always-on)
This skill runs alongside **`token-aware-behavior`** at all times. Apply these rules on every agent dispatch + every synthesis step:
| Budget state | Pipeline behavior |
|--------------|-------------------|
| `nominal` | Full agent briefs, full deliverables, all 5 agents parallel |
| `warn` | Brief budgets tightened (200 → 120 word return summaries); deliverable docs stay full |
| `compress` | Emit `[PHASE SUMMARY]` before Stage 2 synthesis; reference prior agent outputs by path, not by quoted content |
| `handoff` | Stop mid-stage at atomic boundary (after current agent finishes), emit RESUME PROMPT with manifest path + commit SHAs |
| `critical` | Final 3-line summary only; defer Stage 4 to fresh session |
**Never:** re-quote whole audit docs back to other agents (they get the path, they read it themselves). Never paste >40 lines of prior agent output into Stage 2 synthesis — extract findings, cite paths.
**Always:** when dispatching parallel agents in a single message, pre-allocate token budget: ~8k per agent × 5 = ~40k synthesis ceiling. If close to ceiling, dispatch in waves of 2 instead of 4 parallel.
Cross-reference: skill `userSettings:token-aware-behavior` defines the canonical budget thresholds (60/75/88/95). This pipeline inherits them.
## Live Documentation Access (mandatory for any external library / API call)
Every agent that touches an external library, framework, API, or web platform feature MUST use these sources in this order:
| Order | Source | Use case |
|-------|--------|----------|
| 1 | **Context7 MCP** (`mcp__claude_ai_Context7__resolve-library-id` → `mcp__claude_ai_Context7__query-docs`) | Library/framework API: React, Next.js, Tailwind, Liquid, Three.js, FastAPI, etc. Returns current docs — overrides training-data drift. |
| 2 | **Curl + grep** | Live HTML inspection, JSON-LD validation, OG/Twitter meta verification, API response shape testing. CRITICAL: **never use WebFetch for `<script>` blocks** — it strips them. |
| 3 | **WebFetch** | Markdown / prose documentation pages (MDN, blog posts, vendor docs), NOT for HTML pages with critical `<script>` content. |
| 4 | **GitHub search** (`gh search code` / `gh search repos`) | Find adaptable implementations before writing new code. Battle-tested patterns. |
### When to invoke each
- **Before recommending any CSS feature** (e.g., `animation-timeline`, `:has()`, `color-mix()`, `@scope`): Context7 query `css-features` library + cite browser support matrix from MDN-current.
- **Before recommending any JS API** (View Transitions, IntersectionObserver, Houdini, container queries): Context7 query for current stability + caniuse data.
- **Before claiming a vendor behavior** (Vercel, Cloudflare, WP.com, Stripe): Context7 their docs + curl the live API response.
- **Before citing JSON-LD / OG tags on a live site**: `curl -s "URL?cb=$(date +%s)" | grep -oE` (cache-bust, don't trust Batcache).
- **Before adopting a new pattern**: GitHub search for proven implementations — port battle-tested code over hand-rolling.
### Anti-pattern
```
WRONG: "I'll just use my training knowledge for view-transitions API"
RIGHT: Context7 resolve-library-id → query-docs → then write code with verified API shape
```
The cost of a Context7 round-trip is < 1k tokens. The cost of writing against stale API knowledge is 10k+ tokens of debugging.
## High-Performance Asset Patterns (mandatory invocation)
Every agent that recommends or generates assets MUST encourage the highest-performing pattern available:
### Image pipeline (in priority order)
| Source | When | Output |
|--------|------|--------|
| **Existing optimized asset** | Asset exists in `assets/images/<name>.{avif,webp,jpg}` with full variant set | Direct reference |
| **avifenc** (libavif) | Need AVIF variant from source PNG/JPG | `avifenc --min 25 --max 35 -s 4 source.png target.avif` |
| **cwebp** (libwebp) | Need WebP variant | `cwebp -q 82 -m 6 source.png -o target.webp` |
| **sharp** (npm) | Need batch responsive variants (480w/768w/1280w/1680w + retina) | `sharp().resize(width).avif({quality:80}).toFile()` |
| **squoosh-cli** | Need single-asset optimization with multiple format outputs | `squoosh-cli --avif '{"cqLevel":28}' --webp '{"quality":82}' source.png` |
| **rembg** (Python) | Need transparent monogram / logo (alpha extraction) | `rembg i source.png target.png` → re-encode to AVIF/WebP preserving alpha |
| **ImageMagick** (identify / convert) | Need dimensions, alpha inspection, format conversion | `identify -format "%w×%h %[channels]" source.avif` |
| **ffmpeg** | Need hero video loop optimization (silent, < 1MB) | `ffmpeg -i source.mp4 -vf scale=1280:-2 -an -c:v libx264 -crf 24 -preset slow -pix_fmt yuv420p -movflags +faststart out.mp4` |
### Asset hierarchy enforcement
1. **Above-fold (cover / hero LCP)**: AVIF source @ q80 + WebP @ q85 + JPG fallback @ q88. `fetchpriority="high"`. `<link rel="preload" as="image">` in `<head>`. Master source ≥ 2× rendered viewport width.
2. **Below-fold collection/product**: AVIF + WebP only (no fallback). `loading="lazy"`. `decoding="async"`. Aspect-ratio CSS.
3. **Logos / monograms**: SVG inline if < 4KB. Otherwise AVIF + WebP with alpha + PNG fallback.
4. **Background patterns / textures**: tileable PNG → AVIF lossless or WebP. Use CSS `background-image` with multiple `image-set()` sources.
### Verification commands (run BEFORE recommending in any audit)
```bash
identify -format "%w×%h %m %[channels] %B\n" <asset> # dims, format, channels, bytes
file <asset> # mime sanity check
ls -la <asset> # file size + existence
exiftool -ImageWidth -ImageHeight -ImageSize <asset> # full metadata
```
### CDN / serve-time optimization (when platform supports)
- **Vercel Image**: `next/image` with `fill` + `sizes` + `priority` for above-fold
- **Cloudflare Images**: `<img src="https://imagedelivery.net/<acct>/<id>/<variant>" />` with auto-format negotiation
- **Cloudinary**: `f_auto,q_auto,w_auto,dpr_auto` transformation chain
- **WordPress**: `wp_get_attachment_image()` with `loading="lazy"` + AVIF plugin (Performance Lab)
### Anti-pattern
```
WRONG: "Use a single 1920×1920 master for hero — it'll scale fine"
RIGHT: Generate 480w/768w/1280w/1680w variants in AVIF+WebP. Master must exceed largest render dim by 2×.
```
Mobile LCP suffers 0.8–1.2s when desktop-only masters serve mobile viewports. **Variant generation is non-negotiable** for any hero-class asset.
## Memory System (always-on, per-agent + shared)
The pipeline has a file-based memory system at `~/.claude/skills/luxury-mockup-pipeline/memory/`. It is the agents' persistent knowledge layer across dispatches.
**Layout:**
```
memory/
├── _shared/INDEX.md # facts useful to all 5 agents
├── _shared/<slug>.md # one fact per file (YAML frontmatter + body)
├── ux-architect/INDEX.md # UX-specific facts
├── ui-designer/INDEX.md # UI-specific facts
├── brand-guardian/INDEX.md # canon-specific facts
├── frontend-developer/INDEX.md # perf/asset-specific facts
└── senior-developer/INDEX.md # impl-specific facts
```
**Read protocol** (every dispatch):
1. Agent reads its own `<agent-slug>/INDEX.md` (one-liner index of discipline facts)
2. Agent reads `_shared/INDEX.md` (one-liner index of cross-agent facts)
3. For any entry that matches the current task, agent reads the full fact file
4. Agent treats memory as authoritative AT WRITE TIME — if fact references a file path or asset, verify it still exists before recommending action on it
**Write protocol** (after correction or pattern lock):
1. When founder corrects the agent, the orchestrator appends a memory entry
2. When the agent discovers a non-obvious pattern that worked, write a memory entry
3. One fact per file, YAML frontmatter (`name`, `description`, `tags`, `applies_to`, `last_verified`), body explains WHAT + WHY + HOW TO APPLY
4. Append to the INDEX as `- [Title](slug.md) — one-line hook` (under 150 chars)
**Cross-reference** (existing infrastructure):
- DevSkyy project memory: `/Users/theceo/.claude/projects/-Users-theceo-DevSkyy/memory/MEMORY.md`
- Claude-mem observation DB: `~/.claude-mem/claude-mem.db` (SQLite, project-scoped, ~15k observations)
- OpenWolf cerebrum: `/Users/theceo/DevSkyy/.wolf/cerebrum.md`
- Canon docs: `/Users/theceo/DevSkyy/docs/brand/` (read-only — never write from skill memory)
**Decay:** facts about repo state (file paths, asset dims, function names) carry `last_verified: YYYY-MM-DD`. If older than 30 days, re-verify on next read. Stale memory > no memory.
**Seed entries** (already in `_shared/`):
- `the-five.md` — The Five canonical brands lock
- `scope-policy.md` — full-site scope + primary_focus_surfaces discipline
- `saas-gate.md` — SaaS Product Delivery Standard
- `stop-and-show.md` — paid/production/irreversible action protocol
- `audit-verification.md` — multi-agent audit false-positive discipline
- `no-webfetch-for-scripts.md` — WebFetch strips script tags
Agents inherit ALL shared facts by default. Per-agent dirs hold corrections/patterns specific to that discipline.
## SaaS Product Delivery Standard (always-on quality contract)
Every agent in this pipeline operates as if they are their own **standalone SaaS product**. The output they ship is the product. There is no "internal-only draft" stage. Every deliverable — audit report, fix manifest, v2.html commit, asset generation, ROI upgrade — must clear the SaaS gate before it surfaces to the founder.
**The SaaS Gate (every deliverable passes ALL):**
| Gate | Requirement | Verification |
|------|-------------|--------------|
| **Mobile-first verified** | Layout tested at 320 / 375 / 414 / 768 / 1024 / 1440 viewport widths. No horizontal scroll. Touch targets ≥ 44×44 px. Font scale clamps. | Open in browser, throttle to 360px width, screenshot, confirm no overflow + no broken tap targets |
| **Images optimized before publish** | Every image referenced has: AVIF + WebP + fallback present, dimensions declared (no CLS), proper srcset coverage (480w/768w/1280w/1680w for hero-class), `loading` attribute correct (eager above-fold / lazy below), `decoding="async"`. Source dims ≥ render dims (no upscale blur). | Run `identify` on each asset, grep `<picture>` blocks for variant coverage, fail if any asset upscales |
| **Sales-presentation grade** | Output reads like a product page section, not raw notes. Every section has a one-line headline + 1–3 supporting lines + verification call. No placeholder text, no "TBD", no "see other doc" without quoted summary. | Read aloud at start of doc — first 200 words must close a sale on the recommendation |
| **Accessibility verified** | WCAG 2.2 AA min, `prefers-reduced-motion` honored, all interactive `focus-visible`, color contrast ≥ 4.5:1 body / 3:1 large text, heading hierarchy intact | Lighthouse a11y ≥ 100 OR axe DevTools 0 violations |
| **Performance verified** | LCP image preloaded + `fetchpriority="high"`, no blocking JS, critical CSS inlined, font preload, JS bundle < 200 KB compressed | Lighthouse perf ≥ 95 on mobile throttle |
| **Self-contained reading** | Founder can read the deliverable cold. Every term defined or linked. Every claim cited with file:line. No insider shorthand without translation. | New-reader test: would someone with no context understand it? |
| **Conversion-ready CTAs** | When the deliverable proposes work (a fix, an upgrade, a swap), it ends with: exact commit message, verification command, one-line "ship it" call to action | Grep deliverable for the 3-element CTA pattern |
**Agents that ship raw notes, half-baked drafts, or assets without optimization are out of contract.** The orchestrator (this skill) rejects sub-SaaS deliverables and re-dispatches with explicit notes.
### Mobile-first verification protocol
Before any agent declares a deliverable DONE:
1. **Viewport sweep**: confirm the artifact (or its target file, in refine mode) renders correctly at 320 / 375 / 414 / 768 / 1024 / 1440 widths. For HTML deliverables: open in headless browser at each width, screenshot, eye-check.
2. **Touch target audit**: every clickable element ≥ 44×44 px (Apple HIG) or ≥ 48×48 px (Material). Tap-zone overlap test.
3. **Type scale check**: heading + body sizes clamp via `clamp(min, vw-based, max)`. No fixed px in headings ≥ 24px.
4. **Image flexibility**: every `<img>` in `<picture>` has correct `sizes` attribute matching layout. Source variant matches viewport width served.
5. **Reflow test**: no horizontal scrollbar at any breakpoint. Aspect-ratio maintained or content reflows gracefully.
### Image optimization pre-publish gate
Before any agent references an asset in a deliverable, the asset MUST clear:
1. **Format priority**: AVIF source present (best compression) → WebP source present (Safari ≤ 15 fallback) → JPG/PNG fallback (legacy).
2. **Variant coverage**: hero-class assets have 480w/768w/1280w/1680w + 2x retina for above-fold LCP. Non-hero: minimum 480w/960w.
3. **Source resolution**: master source dimension ≥ 2× rendered dimension at largest viewport. No upscale blur.
4. **Alpha discipline**: if the asset needs transparency (logos, monograms), confirm alpha is preserved in AVIF + WebP (not just PNG). Run `identify -format "%[channels]"` to verify.
5. **File-size budget**: above-fold hero AVIF ≤ 400 KB, hero WebP ≤ 500 KB, below-fold images ≤ 200 KB at 1280w.
6. **CDN-ready filename**: content-hashed or versioned (e.g., `name.v2.avif`) for long-cache headers.
**If any asset fails these gates**, the agent flags it in their deliverable with a precise remediation command (`cwebp -q 80 ...` / `avifenc --min 25 ...` / `rembg ...`) and tier-routes the asset upgrade to Tier U or Tier 4 (deferred) — never to Tier 0–3 (would block the fix sprint).
## Agent Capability Charter (full-stack theme expertise)
The five agents in this pipeline are **end-to-end theme development experts**, not mockup tweakers. Each agent operates as if they could ship a complete production-ready theme on any of the platforms below, against any brand/criteria/vertical. The mockup-refinement loop is a subset of their competency.
**Platform coverage (agents pick the right stack for the job):**
| Platform | When to choose | Senior Developer artifact |
|----------|----------------|----------------------------|
| **WordPress / WooCommerce** | Live e-commerce + content site, founder owns CMS, SEO-critical | `wordpress-theme/<slug>/` (PHP 8.2 + theme.json + block patterns + WC overrides) |
| **Next.js** (App Router + RSC) | Headless commerce, marketing, dashboards, anything requiring React + edge | `frontend/` (Next 16 + React 19 + Server Components + Cache Components) |
| **Shopify** (Liquid + Hydrogen) | Native Shopify store, OS 2.0 themes, Storefront API headless | `shopify-theme/<slug>/` (Liquid + sections + blocks) or Hydrogen via Remix |
| **Astro** | Content-heavy marketing, blog, partial-hydration islands | `astro-theme/<slug>/` (`.astro` + content collections) |
| **Webflow → Code Export** | Founder-designed in Webflow, needs production export hardening | Cleaned Webflow export + tokens extracted |
| **Standalone HTML/CSS/JS** | Design refs, mockups, single-page landings, internal tools | `docs/brand/design-mockups/` (current pipeline default) |
| **Wix / Squarespace** | Founder-managed, agents author custom-code blocks + DNS guidance | Embedded code blocks + integration spec |
**Criteria coverage (agents apply the right system):**
| Criteria | Patterns the agents apply |
|----------|---------------------------|
| **Luxury / fashion** | Editorial typography, scene-takeover photography, ambient motion, restrained palette, magazine grid, lockup-image hero |
| **SaaS / B2B** | Above-fold value prop, gradient/blur backgrounds, social proof rail, pricing table, demo-CTA, dashboard preview |
| **E-commerce** | PLP/PDP/cart/checkout flows, holo product cards, sticky add-to-cart, size guide, reviews, recommendation slots |
| **Marketing / lead-gen** | Hero CTA → form, benefit grid, testimonial carousel, FAQ accordion, conversion optimization |
| **Editorial / publishing** | Long-form typography, reading progress, footnote system, related articles, newsletter capture |
| **Portfolio / agency** | Case-study spreads, scroll-driven storytelling, project filter, contact form |
**Deliverable depth (agents always produce the full set, not partial):**
- **Visual system**: tokens (color, type, spacing, motion, radius, shadow) — design-tokens.css / theme.json / tailwind.config.ts
- **Component library**: every reusable unit with BEM/utility classes + ARIA + keyboard nav
- **Page templates**: every canonical surface (home / collection / detail / cart / about / contact / 404 / search)
- **Animation system**: single source of truth for reveals, parallax, hovers — IntersectionObserver OR scroll-driven CSS
- **Performance budget**: LCP < 2.5s, CLS < 0.1, INP < 200ms, image sizes documented, font subset declared
- **Accessibility**: WCAG 2.2 AA minimum — `prefers-reduced-motion`, `prefers-contrast`, focus-visible, ARIA labels
- **SEO baseline**: title/meta/OG/JSON-LD per template, sitemap, robots
- **Deploy pipeline**: deploy script + verify gate + rollback path
- **Documentation**: README + tokens + component reference + handoff doc
When the founder asks "build me a theme" — **the pipeline scales to the full stack**, not just polish. The mockup-refinement flow is what runs when the artifact already exists; full theme creation runs the same 5-agent pipeline but each agent's audit becomes a build.
**Mode switching:**
- `mode=refine` (default) — agents audit + propose fixes against existing mockup. Senior Dev applies.
- `mode=build` — agents design + scaffold a complete theme from canon docs + spec. Senior Dev assembles the full artifact tree.
- `mode=migrate` — agents port an existing theme to a new platform (e.g., WP → Next.js). Senior Dev does the platform translation.
- `mode=harden` — agents take a working theme and bring it to production-grade (a11y, perf, SEO, security). Senior Dev ships the upgrades.
The skill orchestrator picks mode from user intent or explicit arg.
## High-ROI Upgrade Mandate (per agent — non-negotiable)
Every agent MUST propose **exactly 1 high-ROI premium upgrade** as part of their deliverable. The upgrade is in addition to (not in place of) their normal audit work. Mandates:
| Agent | Required Upgrade Category | Example |
|-------|---------------------------|---------|
| **UX Architect** | One signature **motion / interaction moment** — scroll-driven scene takeover, hero loop spec, parallax depth system, view-transitions choreography | "Scroll-snap section reveal with cinematic crossfade between Cover and Hero — 600ms cubic-bezier(0.65,0,0.35,1), `<section>` opacity + scale + clip-path" |
| **UI Designer** | One **luxury detail system** — custom cursor, ambient grain layer, type-rhythm escalator, magnetic hover, frame transition, micro-spacing token | "Magnetic cursor on `.spread__tile` — 24px attraction radius, `transform: translate3d()` follow with 80ms lag, GPU-accelerated, prefers-reduced-motion fallback" |
| **Brand Guardian** | One **canon-signature touch** — color pulse for brand accent, monogram emergence pattern, signature copy beat, brand-mark micro-interaction | "Rose-gold accent pulse on hover for any element bearing `--sr-accent` — 1.5s ease loop, opacity 0.4 → 1.0, locked to The Five reference brands' use of color-as-signature" |
| **Frontend Developer** | One **asset upgrade** that resolves a known degradation — transparent monogram (rembg pass), AVIF re-encode, color grading LUT applied to hero, missing srcset variant generation | "Generate transparent `sr-monogram-rose-gold.{avif,webp}` via rembg; outputs to `assets/images/branding/sr-monogram-rose-gold-transparent.*` — single asset, single PR, immediate visual impact" |
| **Senior Developer** | One **advanced CSS / web platform feature** beyond the manifest — CSS scroll-timeline / scroll-driven animations, view-transitions API, CSS Houdini paint worklet, container queries, `@scope`, `:has()` selector chains for state-driven design, color-mix() palette derivation | "CSS scroll-driven animation on `.hero__bg.parallax` via `animation-timeline: scroll()` — replaces JS rAF parallax with native CSS, deletes 22 lines of JS, runs at 120fps, falls back gracefully on Safari < 18" |
**Upgrade must be:**
- **High ROI** — small implementation cost, large perceived-luxury jump
- **Self-contained** — lands in a single commit, no cross-system refactor
- **Production-grade** — no proof-of-concept code, no placeholder values
- **Accessibility-respectful** — honors `prefers-reduced-motion`, `prefers-contrast`, keyboard nav
- **Browser-safe** — graceful fallback for browsers without the feature
- **Documented in deliverable** — under header `## ROI Upgrade Proposal` with: name, what it does, source inspiration, exact CSS/HTML/JS diff, ROI rationale (1 paragraph), fallback strategy
The synthesis step (Stage 2) **must roll all 5 upgrades into the fix manifest** as their own tier: **Tier U (Upgrades)** — applied AFTER Tier 3 polish, BEFORE final commit.
## When to invoke
- User has an HTML design-reference mockup (e.g., `docs/brand/design-mockups/*.html`) and asks for "elevation", "polish pass", "professional refinement", or "mix in live homepage polish".
- User explicitly invokes `/luxury-mockup-pipeline` or says "use the 5-agent pipeline".
- A design mockup has been hand-reviewed and the user calls out specific issues (sizing, canon misattribution, sloppy execution) that require coordinated multi-discipline fixes.
## When NOT to invoke
- Net-new mockup creation from scratch (use `frontend-design` skill + `brainstorming` + `writing-plans` instead — those build the artifact; this skill refines it).
- Single-issue fix (e.g., "fix this typo") — use direct Edit.
- Production WordPress theme work (use `wordpress-platform-pipeline` or direct theme template edits).
## The Five Agents
| Stage | Agent | Responsibility | Deliverable |
|-------|-------|----------------|-------------|
| 1a | **UX Architect** | Compare live production page vs new mockup. Identify polish layers (grain, vignette, parallax, particles, scroll-progress, etc.) worth mixing in. | `<docroot>/v2-polish-mix.md` |
| 1b | **UI Designer** | Audit mockup for visual fidelity issues. Image sizing, type rhythm, hover states, spacing, contrast. Produce specific component-level fixes with exact CSS diffs. | `<docroot>/v2-visual-fixes.md` |
| 1c | **Brand Guardian** | Enforce brand canon — verify every photo, lockup, color, and copy line against the canon docs. Flag P0/P1/P2 violations. | `<docroot>/v2-canon-audit.md` |
| 1d | **Frontend Developer** | Asset triage. Identify transparency / alpha-channel needs, oversized files, missing variants. Recommend asset swaps or generation steps. | `<docroot>/v2-asset-audit.md` |
| 2 | **Senior Developer** | Execute the consolidated fix manifest. Premium implementation specialist — applies the CSS/HTML/asset changes from the 4 audit reports atomically with TDD-style commits per fix-group. | Commits + final v2.html state |
## Process Flow
```dot
digraph luxury_pipeline {
rankdir=TB;
"Detect inputs:\nmockup path + canon docs + live target URL" [shape=box];
subgraph cluster_diagnostic {
label="Stage 1 — Parallel diagnostic (4 agents)";
"UX Architect: polish mix-in" [shape=box];
"UI Designer: visual audit" [shape=box];
"Brand Guardian: canon audit" [shape=box];
"Frontend Developer: asset audit" [shape=box];
}
"Synthesize fix manifest\nfrom 4 reports" [shape=box];
"User review of manifest" [shape=diamond];
"Senior Developer: execute" [shape=box];
"Final verify (single agent or inline)" [shape=box];
"Commit + report" [shape=doublecircle];
"Detect inputs:\nmockup path + canon docs + live target URL" -> "UX Architect: polish mix-in";
"Detect inputs:\nmockup path + canon docs + live target URL" -> "UI Designer: visual audit";
"Detect inputs:\nmockup path + canon docs + live target URL" -> "Brand Guardian: canon audit";
"Detect inputs:\nmockup path + canon docs + live target URL" -> "Frontend Developer: asset audit";
"UX Architect: polish mix-in" -> "Synthesize fix manifest\nfrom 4 reports";
"UI Designer: visual audit" -> "Synthesize fix manifest\nfrom 4 reports";
"Brand Guardian: canon audit" -> "Synthesize fix manifest\nfrom 4 reports";
"Frontend Developer: asset audit" -> "Synthesize fix manifest\nfrom 4 reports";
"Synthesize fix manifest\nfrom 4 reports" -> "User review of manifest";
"User review of manifest" -> "Senior Developer: execute" [label="approved"];
"User review of manifest" -> "Synthesize fix manifest\nfrom 4 reports" [label="refine"];
"Senior Developer: execute" -> "Final verify (single agent or inline)";
"Final verify (single agent or inline)" -> "Commit + report";
}
```
## Inputs (gather before invoking)
| Input | Source | Required |
|-------|--------|----------|
| Mockup HTML path | `docs/brand/design-mockups/<name>.html` | yes |
| Live homepage URL (for mix-in comparison) | Project context (e.g., `https://skyyrose.co/`) | yes |
| Source PHP template (for polish-layer extraction) | `wordpress-theme/<theme>/front-page.php` | yes if mixing from production |
| Canon docs path | `docs/brand/` (visual-references.md, collection-stories.md, asset-hierarchy.md) | yes |
| Memory canon files | `~/.claude/projects/<project>/memory/feedback_*` | yes (read-only) |
## Stage 1 — Parallel diagnostic
Dispatch **all 4 agents in a single message** (parallel tool calls). Each agent gets:
- **Structured brief**: a JSON file at `prompts/<agent-slug>.json` validating against `schemas/agent-brief.schema.json`. The agent reads this for: mission / scope (header→body→footer) / performance baseline / deliverables / ROI mandate / constraints / return format.
- **Layout reference**: `references/full-theme-skeleton.html` — canonical full-theme structure spanning every page / component / widget / layout slot, with always-on performance + a11y + SEO checklists. Agent reads this for: which surfaces exist, what high-performing defaults look like per slot.
- **Inline dispatch prompt**: brief pointer to the JSON + HTML files plus the verbatim founder feedback (for emphasis). Avoids restating the contract.
### Dispatch contract
The skill's prompt scaffolding lives at:
```
~/.claude/skills/luxury-mockup-pipeline/
├── SKILL.md # this file
├── schemas/
│ ├── agent-brief.schema.json # JSON Schema for prompt files
│ └── deliverable.schema.json # JSON Schema for outputs
├── references/
│ └── full-theme-skeleton.html # canonical layout contract — header / body / footer / every component+widget+layout slot
└── prompts/
├── ux-architect.json
├── ui-designer.json
├── brand-guardian.json
├── frontend-developer.json
└── senior-developer.json
```
Every dispatch follows this pattern:
> Read your structured brief at `<skill-root>/prompts/<agent-slug>.json` AND the layout reference at `<skill-root>/references/full-theme-skeleton.html`. The brief defines mission, scope (header→body→footer), performance baseline, deliverables, mandatory ROI upgrade, constraints. The HTML reference is the canonical layout contract — every page/component/widget/layout slot you must consider. Founder verbatim feedback: "<quote>". Produce your deliverable per the JSON brief's `deliverables[]` and `return_format`.
This pattern stays constant across `mode=refine` / `build` / `migrate` / `harden`. Only the JSON brief contents change per mode.
### Highest-performing features mandate (always on)
Every agent encourages and verifies the highest-performing default for every slot they touch. Defaults are encoded in `references/full-theme-skeleton.html`:
| Surface | Highest-performing default the agent must encourage |
|---------|-----------------------------------------------------|
| **Header** | Sticky w/ shadow-on-scroll, transparent over hero, inline SVG monogram, mega-menu (hover + focus), focus-trapped mobile drawer, search overlay (debounced instant results), cart drawer |
| **Hero / Cover** | `<picture>` w/ avif+webp+img, `fetchpriority="high"`, preload tag, aspect-ratio CSS (no CLS), `<source>` w/ proper `sizes` |
| **Page body** | Skip link first focusable, ARIA live regions, semantic landmarks, heading hierarchy h1→h2→h3, every interactive `focus-visible` |
| **Collection grid** | 4 evenly aligned tiles desktop / 2 tablet / 1 mobile, scene photo per tile (avif/webp/img), explicit dimensions, lazy below-fold |
| **Product card** | Wishlist + quick-view, `<picture>` responsive, price w/ visually-hidden label, hover-state for keyboard parity |
| **Newsletter** | Native form validation + ARIA-live status, autocomplete=email, error linkage |
| **Footer** | 4-col link grid + newsletter + payment icons + legal + founder signature + back-to-top |
| **Widgets** | Toast (ARIA polite), modal (focus-trap), cookie consent (GDPR opt-in), scroll progress (decorative aria-hidden), back-to-top (IO-driven appearance) |
| **Performance** | Critical CSS < 14KB inlined, fonts self-hosted woff2, JS deferred, gzip/brotli, content-hash filenames, HTTP/2+ |
| **A11Y** | WCAG 2.2 AA min, `prefers-reduced-motion` + `prefers-contrast` honored, keyboard nav complete |
| **SEO** | Unique title/desc/canonical/OG/Twitter, JSON-LD per page type, sitemap+robots, hreflang if multi-locale |
Agents that touch a surface MUST verify these defaults are present (refine mode) or generate them (build mode). They do not need to re-explain the defaults in their deliverable — only flag gaps.
**Stage 1a — UX Architect prompt template:**
> Compare the live `<live-url>` homepage against the new mockup at `<mockup-path>`. Identify polish layers from production worth porting into the standalone mockup. For each layer: source location (CSS file + line), visual effect, mix-in recommendation (YES/NO/OPTIONAL), implementation difficulty. **Plus: propose exactly 1 high-ROI motion / interaction upgrade per the Upgrade Mandate (see skill header) — append as `## ROI Upgrade Proposal` section in your deliverable.** Output: `<docroot>/v2-polish-mix.md`. Return: top 3 Tier 1 mix-ins + 1-line ROI upgrade name.
**Stage 1b — UI Designer prompt template:**
> Audit `<mockup-path>` for visual fidelity issues. Image sizing, type scale, hover states, spacing rhythm, contrast. For each issue: file:line, problem, root cause, exact CSS/HTML fix diff. **Plus: propose exactly 1 high-ROI luxury detail system per the Upgrade Mandate (cursor / grain / type rhythm / magnetic hover / frame transition) — append as `## ROI Upgrade Proposal` section.** Output: `<docroot>/v2-visual-fixes.md`. Return: top 5 fixes ranked by impact + 1-line ROI upgrade name.
**Stage 1c — Brand Guardian prompt template:**
> Audit `<mockup-path>` against `<canon-docs>`. Verify every photo asset, collection lockup, palette use, and copy line. Classify violations P0 (canon-breaking) / P1 (canon-adjacent inconsistency) / P2 (stylistic concern). **Plus: propose exactly 1 high-ROI canon-signature touch per the Upgrade Mandate (accent pulse / monogram emergence / signature beat) — append as `## ROI Upgrade Proposal` section.** Output: `<docroot>/v2-canon-audit.md`. Return: per-violation summary with severity + 1-line ROI upgrade name.
**Stage 1d — Frontend Developer prompt template:**
> Asset triage for `<mockup-path>`. For each image asset: identify dimensions, file size, alpha channel presence, where it's used, whether transparency is needed. Recommend swaps or remediation (rembg / cwebp / new export). **Plus: propose exactly 1 high-ROI asset upgrade per the Upgrade Mandate (transparent monogram / AVIF re-encode / color-grade LUT / variant generation) — append as `## ROI Upgrade Proposal` section. Recommend only — do NOT execute paid or compute-heavy operations.** Output: `<docroot>/v2-asset-audit.md`. Return: blocker count + specific swap paths + 1-line ROI upgrade name.
## Stage 1.5 — Automated deliverable validation (NEW)
After each Stage 1 agent reports DONE, the orchestrator runs:
```bash
bash <skill-root>/scripts/dispatch.sh <agent-slug> <deliverable-manifest.json> --html <target-html-if-any>
```
This wraps three automated checks:
1. **`validate-deliverable.sh`** — runs the deliverable against `schemas/deliverable.schema.json`. Verifies:
- JSON parse + required fields
- All 7 SaaS gates marked `passed: true`
- `roi_upgrade.proposed: true` + `prefers_reduced_motion_safe: true`
- `memory_writes` array has ≥ 1 entry (enforces memory write mandate)
- `return_summary.word_count` ≤ 280 (token-aware compliance)
2. **`saas-gate.sh`** — runs the 13 automated checks on any HTML deliverable (AVIF coverage, preload, skip link, focus-visible, asset paths resolve, etc.)
3. **Memory verification** — confirms the agent's memory dir grew by ≥ 1 fact file since dispatch start
**If any check fails**: deliverable is REJECTED. The orchestrator re-dispatches the agent with the specific failure notes. Re-dispatch limit: 3 attempts. After that, surface BLOCKED to founder.
**If all checks pass**: deliverable enters Stage 2 synthesis. Manifest is added to the synthesis pool.
This gate is **non-skippable** — manifest dispatches that bypass validation are out of contract.
## Stage 2 — Synthesize fix manifest
Read the 4 deliverable docs. Produce a single consolidated manifest at `<docroot>/v2-fix-manifest.md` that:
1. **Groups fixes by surface** (e.g., F01 Cover, F02 Hero, F04 Spread, etc.) so Senior Developer can apply them in spatial order.
2. **Ranks by priority**: P0 canon violations > Visual blockers > Polish mix-ins > Asset optimizations.
3. **For each fix**: exact file:line + before/after diff + which source audit it came from + verification step.
4. **Flags conflicts** between agent recommendations (e.g., UI Designer says larger lockup, UX Architect says add particle layer at same z-index). Resolve in the manifest or surface to user.
## Stage 3 — User review gate
Present the fix manifest to the user. Get explicit approval before executing. Auto Mode behavior: if user has pre-approved the pipeline + their previous interactions show no canon-blocking concerns, skip to Stage 4. Otherwise pause for sign-off.
## Stage 4 — Senior Developer execution
Dispatch the **Senior Developer** agent (subagent_type: `Senior Developer`) with the fix manifest. The agent is the premium implementation specialist — masters advanced CSS, Three.js integration, Laravel/Livewire/FluxUI, and standalone HTML/CSS/JS pipelines.
**Senior Developer prompt template:**
> You are executing the fix manifest at `<manifest-path>` against `<mockup-path>`. Apply fixes in priority order grouped by surface (Tier 0 → 1 → 2 → 3 → U). After each fix-group, commit atomically with conventional commit messages (`fix(<scope>): <description>` / `feat(<scope>): <addition>`). Run HTML parse verification + asset path verification after each group. Stop and surface BLOCKED if any fix conflicts with existing markup or canon. **Plus: implement exactly 1 high-ROI advanced web-platform feature per the Upgrade Mandate (scroll-driven animations / view-transitions / Houdini / container queries / `:has()` selectors / color-mix()) as Tier U commit — production-grade only, with graceful fallback, honoring `prefers-reduced-motion`. Append a `## ROI Upgrade Implemented` section to the final report with: feature name, commit SHA, lines added/removed, browser support matrix, fallback strategy.** Final report: commit SHAs per fix-group + Tier U upgrade SHA + before/after line counts + acceptance criteria pass/fail.
Senior Developer SHOULD:
- Apply fixes atomically per surface or per priority tier
- Verify HTML parses after each commit
- Verify canon-doc references are intact
- Use the existing `.cover__*` / `.hero__*` / `.voice__*` / `.spread__*` BEM namespaces from the mockup
- Add new CSS classes only when an existing class doesn't fit
Senior Developer MUST NOT:
- Introduce Three.js or WebGL into a standalone-mockup context (unless spec explicitly permits)
- Reference locked-out brands or break canon
- Re-fetch assets from CDNs
- Skip verification steps
## Stage 4.5 — Loop integration (drives Stage 4 to completion)
After dispatching Senior Developer (Stage 4) the orchestrator wraps execution in a `/loop` cycle so the pipeline iterates against the manifest's acceptance criteria until every fix lands or a hard block surfaces.
**Loop invocation:**
```
/loop "execute v2-fix-manifest.md until all tiers complete and acceptance criteria pass" \
--target docs/brand/design-mockups/v2.html \
--manifest docs/brand/design-mockups/v2-fix-manifest.md \
--on-cycle "dispatch Senior Developer with next-unlanded tier" \
--on-block "stop loop, surface BLOCKED report to user" \
--max-cycles 6 \
--acceptance-check "html parses + grep canon-violation patterns = 0 + git diff --name-only shows only target file"
```
**Loop cycle (one iteration):**
1. Read manifest, identify lowest-tier fix not yet committed
2. Dispatch Senior Developer (or appropriate agent) for that fix-group only
3. After agent reports DONE: run acceptance check
4. If pass and more fixes remain → next cycle
5. If pass and all done → exit loop, advance to Stage 5
6. If BLOCKED → exit loop, surface to user with state + commit SHAs landed so far
**Why a loop:** the manifest can be 10–20 fixes across 5 tiers. A single Senior Developer dispatch occasionally returns DONE_WITH_CONCERNS or hits a partial block (one fix conflicts with a prior fix's edit). The loop lets the pipeline:
- Auto-retry the failing fix with refined instructions
- Add a new agent (e.g., re-dispatch Brand Guardian) mid-stream if a canon question surfaces
- Stop cleanly when human input is required (rembg, founder asset call, ambiguous canon)
**Loop guards:**
- Hard ceiling: `--max-cycles 6` (prevents runaway)
- Atomic boundary: loop only advances at full fix-group completion, never mid-fix
- Token-aware integration: if budget state ≥ `handoff`, loop exits with RESUME PROMPT
- Branch protection: loop NEVER force-pushes, NEVER skips hooks, NEVER amends prior commits
**When NOT to wrap in /loop:**
- Manifest has ≤3 fixes (overhead exceeds benefit — use direct dispatch)
- All fixes share a single file with no inter-fix dependency (one Senior Developer dispatch is enough)
- User is actively reviewing — loop interrupts the human-in-loop pattern
For SkyyRose v2 work (12+ fixes typical, multi-tier): always wrap.
## Stage 5 — Final verify
Either:
- Dispatch a final review agent (subagent_type: `Reality Checker` or `Accessibility Auditor`) for a fresh-eyes pass
- OR inline: run HTML parse + grep for canon-violation patterns + diff summary
Acceptance criteria (mockup-specific, document in the manifest):
- HTML parses
- All canon docs unmodified during execution
- Zero locked-out brand references
- All asset paths resolve (no 404s on local file://)
- Each fix-group has a corresponding commit
## Stage 6 — Commit + report
Final report to user includes:
- Commit list (SHA + message per fix-group)
- Before/after line count
- Acceptance criteria pass/fail table
- Remaining items (deferred to production translation or future passes)
## Anti-Patterns to Avoid
- ❌ Dispatching agents sequentially when they're independent (always parallel in Stage 1)
- ❌ Skipping Stage 2 synthesis — Senior Developer should NOT read 4 raw reports, only the consolidated manifest
- ❌ Letting Senior Developer make canon decisions — those belong in Stage 1c (Brand Guardian) and locked before Stage 4
- ❌ Approving Stage 3 without surfacing the manifest to user when canon-breaking fixes are present
- ❌ Running Stage 4 without Stage 3 user gate (unless Auto Mode + pre-approved scope)
- ❌ Final verify (Stage 5) executed by Senior Developer themselves — must be independent
## Integration with other skills
- **`token-aware-behavior`** runs ALONGSIDE this skill at all times. Budget thresholds (60/75/88/95) govern dispatch density, return-summary length, and synthesis behavior. See "Token-Aware Runtime Guard" section above.
- **`/loop`** runs INSIDE this skill at Stage 4.5. Drives Senior Developer to manifest-complete or surfaces clean BLOCKED state. See "Stage 4.5 — Loop integration" above.
- **`brainstorming`** runs BEFORE this skill (creates the mockup spec). This skill is the REFINEMENT loop.
- **`writing-plans`** runs BEFORE this skill (creates the initial implementation plan). This skill polishes the result.
- **`subagent-driven-development`** is the orchestration pattern this skill uses internally for Stage 1 + 4.
- **`finishing-a-development-branch`** runs AFTER this skill (merge / PR / cleanup).
## Reference invocation
For SkyyRose v2 mockup refinement:
```
Inputs:
mockup-path = docs/brand/design-mockups/v2.html
live-url = https://skyyrose.co/
source-template = wordpress-theme/skyyrose-flagship/front-page.php
canon-docs = docs/brand/visual-references.md + collection-stories.md + asset-hierarchy.md
memory-canon = ~/.claude/projects/-Users-theceo-DevSkyy/memory/feedback_collection_canon_attribution.md
```
Outputs land at:
- `docs/brand/design-mockups/v2-polish-mix.md` (UX Architect)
- `docs/brand/design-mockups/v2-visual-fixes.md` (UI Designer)
- `docs/brand/design-mockups/v2-canon-audit.md` (Brand Guardian)
- `docs/brand/design-mockups/v2-asset-audit.md` (Frontend Developer)
- `docs/brand/design-mockups/v2-fix-manifest.md` (synthesis)
- Modified `docs/brand/design-mockups/v2.html` (Senior Developer execution)
- New asset variants if Frontend Developer flagged any (e.g., transparent monogram export)
## Quick reference card
```
luxury-mockup-pipeline =
token-aware guard (always-on)
+ 4 parallel auditors (each delivers 1 ROI upgrade)
→ manifest (Tiers 0–3 + Tier U upgrades)
→ 1 executor wrapped in /loop (max 6 cycles)
(executor also delivers 1 ROI upgrade)
→ 1 verifier
```
**Auditors:** UX Architect / UI Designer / Brand Guardian / Frontend Developer
**Executor:** Senior Developer (wrapped in `/loop`)
**Verifier:** Reality Checker OR Accessibility Auditor OR inline
**Guards:** `token-aware-behavior` (budget) + `/loop --max-cycles 6` (iteration ceiling)
**Mandatory ROI upgrades:** 5 (one per agent), all rolled into manifest Tier U
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!