gabe-mockuplisted
Install: claude install-skill khujta/gabe-suite
# Gabe Mockup — the lift SOP
**Usage:** `/gabe-mockup [goal|react-story <screen-or-batch>|design-ref|refine <screen>] [--reconfigure] [--dry-run] [--platforms=web,mobile-web,native-mobile] [--themes=N]`
## Gabe execution contract (E1–E7)
This skill runs under the suite execution contract — E1 EVIDENCE · E2 RUN-BEFORE-✅ · E3 NO SILENT DOWNGRADE · E4 REUSE FIRST · E5 STATE SYNC · E6 MISSING ANCHOR = STOP · E7 REPORT WHERE — floors, not ceilings; a skill's own gate may be stricter, never looser. Full text: `../gabe-docs/references/execution-contract.md` (if that file is missing, E6 applies — STOP).
## Dispatch
Fires on ad-hoc UI phrasing ("make a spike", "build the X screen", "port from design-lab", "tweak this component") and on the `paths` auto-trigger above — not only explicit `/gabe-mockup` invocations. **The medium = receiving platform rule:** a React-first project (`apps/web/package.json` + `docs/rebuild/ux/REACT-STORYBOOK-WORKFLOW.md` present) renders new UI as production React + Storybook — never new static HTML (`references/react-story.md` rule 1: "No new static HTML mockups"). No React-first marker, or `.kdbp/PLAN.md` points at `docs/mockups/**` → the legacy static-HTML mockup-project flow (`references/legacy-html-phases.md`). Neither marker present → ask which workflow should be active before generating files. Never rebuild or recreate an existing component — resolve and reuse via the lift SOP below.
## The manifest
Read the `mockup:` block from `.kdbp/BEHAVIOR