1---
2name: demo
3description: Build one clickable demo page with 10 genuinely different options (designs, layouts, copy, flows, or approaches) side by side, so the user can pick by number. Use when the user types /demo, or says "make a demo", "show me options", "give me 10 versions", "demo some variants".
4---
5
6# demo: one page, 10 options
7
8Show 10 distinct takes on the thing the user named, on one page, so they can compare and pick by number.
9
10## Steps
11
121. **Pin the subject.** Use what the user named: a component, a page, a hero section, copy, a flow, a pricing layout, and so on. Ask only if there is no subject at all, and then use AskUserQuestion.
132. **Plan 10 real differences.** Before building, write one line per option naming its idea. Each option must differ in structure, concept or tone, not just in colour or spacing. If two lines sound alike, replace one.
143. **Build one self-contained HTML page:**
15 - Options numbered 1-10, one visible at a time, with a compact switcher (tabs or segmented control). Keys `1`-`9` and `0` (for 10) jump to an option, and left/right arrows step through them.
16 - Each option gets a 2-4 word name. No descriptions or captions.
17 - Use real content from the user's project, not lorem ipsum.
18 - Follow the project's design system if it has one. Every option ships only what its job needs, with no extra labels, captions or chrome.
19 - Support light and dark, and make it work at phone width.
20 - Remember the last viewed option in `localStorage` (wrapped in try/catch).
214. **Share it** the easiest way your environment offers: a published page or artifact if you have one, otherwise a local file path. If the demo belongs inside a running app, put it on a throwaway route instead and give the local URL.
22 Then open it in the user's regular browser, full window: `open <url or file>` on macOS, `xdg-open` on Linux. Never leave it only in an editor or side-pane preview.
235. **Check it once** in a browser: all 10 render and the keys switch between them.
246. **Reply** with the link, then the 10 names as a numbered list, then one line: "Pick a number (or mix, like '3 with 7's header')."
25
26## Rules
27
28- Always exactly 10 options, unless the user gives a different number.
29- No option is a straw man. Each should be one you could defend shipping.
30- Once the user picks, build the chosen option properly in the real code. The demo page is throwaway.
31