$npx -y skills add bitjaru/styleseed --skill ss-pageScaffold a new mobile page/screen using the StyleSeed layout patterns
| 1 | # Mobile Page Scaffolder |
| 2 | |
| 3 | ## When NOT to use |
| 4 | |
| 5 | - For a single composed pattern within an existing page → use `/ss-pattern` |
| 6 | - For desktop-only screens — this skill is mobile-first |
| 7 | - For multi-page navigation structure → use `/ss-flow` first |
| 8 | - For tweaking an existing page — edit the file directly |
| 9 | |
| 10 | Create a new page: **$0** |
| 11 | Description: $ARGUMENTS |
| 12 | |
| 13 | ## Instructions |
| 14 | |
| 15 | 1. Read the design system reference: |
| 16 | - `CLAUDE.md` for file structure and conventions |
| 17 | - `components/patterns/page-shell.tsx` for page layout |
| 18 | - `components/patterns/top-bar.tsx` for header pattern |
| 19 | - `components/patterns/bottom-nav.tsx` for navigation |
| 20 | |
| 21 | 2. Page structure template: |
| 22 | ```tsx |
| 23 | import { PageShell, PageContent } from "@/components/patterns/page-shell" |
| 24 | import { TopBar, TopBarAction } from "@/components/patterns/top-bar" |
| 25 | import { BottomNav } from "@/components/patterns/bottom-nav" |
| 26 | |
| 27 | export default function PageName() { |
| 28 | return ( |
| 29 | <PageShell> |
| 30 | <TopBar |
| 31 | logo={/* logo or page title */} |
| 32 | subtitle={/* optional subtitle */} |
| 33 | actions={/* optional action buttons */} |
| 34 | /> |
| 35 | <PageContent> |
| 36 | {/* Page sections with space-y-6 */} |
| 37 | </PageContent> |
| 38 | <BottomNav items={[/* nav items */]} activeIndex={0} /> |
| 39 | </PageShell> |
| 40 | ) |
| 41 | } |
| 42 | ``` |
| 43 | |
| 44 | 3. Layout rules: |
| 45 | - Container: `max-w-[430px]` (mobile viewport) |
| 46 | - Page background: `bg-background` |
| 47 | - Section horizontal padding: `px-6` |
| 48 | - Section vertical spacing: `space-y-6` |
| 49 | - Bottom padding for nav: `pb-24` |
| 50 | - Cards: `bg-card rounded-2xl p-6 shadow-[var(--shadow-card)]` |
| 51 | |
| 52 | 4. Use semantic tokens for all colors — never hardcode hex values. |
| 53 | |
| 54 | 5. Compose the page from existing components (ui/ and patterns/) wherever possible. |
| 55 | |
| 56 | 6. Safe area: include `env(safe-area-inset-*)` padding for modern devices. |
| 57 | |
| 58 | 7. **Post-generation verification (MANDATORY):** |
| 59 | After creating the page, verify against the Golden Rules: |
| 60 | - [ ] All content is inside cards (no bare background content) |
| 61 | - [ ] Only `--brand` color used for accents (no other accent colors) |
| 62 | - [ ] No hardcoded hex values (all semantic tokens) |
| 63 | - [ ] Section types alternate (no two identical types in a row) |
| 64 | - [ ] Numbers have 2:1 ratio with units |
| 65 | - [ ] Spacing uses 6px multiples (p-1.5, p-3, p-6) |
| 66 | - [ ] `mx-6` for single cards, `px-6` for grids/carousels |
| 67 | - [ ] Touch targets ≥ 44px on all interactive elements |
| 68 | If any violation is found, fix it before presenting the page to the user. |