I didn't run the skill's search script because this session has no shell tool. The palette and font recommendations come from rows I read in data/colors.csv and data/typography.csv. The style recommendation and the contrast notes are my own judgment and aren't from a database match. I also didn't read styles.csv or the landing-page data.
Visual style
Use soft, calm minimalism with generous whitespace, large photography and gentle rounded cards. Avoid heavy glass, neon and brutalist treatments.
- Layout: one primary CTA, "Book a treatment" (
primary-action). Keep it in the hero and repeat it in a sticky header or bottom bar. - Spacing and containers: use the spacing-scale rule and a consistent
max-w-6xlcontainer. - Motion: use slow, subtle fades and transform/opacity only. Animate one or two elements per view.
- Icons: use one SVG icon set, such as Lucide. No emoji.
Color palette
This is the "Beauty/Spa/Wellness Service" row (#32) from the dataset, which it describes as "soft pink + lavender luxury":
| Token | Hex |
|---|---|
| Primary | #EC4899 (text on it: #000000) |
| Secondary | #F9A8D4 |
| Accent | #8B5CF6 (text on it: #000000) |
| Background | #FDF2F8 |
| Foreground | #831843 |
| Card | #FFFFFF |
| Muted / muted text | #F1EEF5 / #475569 |
| Border | #FBCFE8 |
| Destructive | #DC2626 |
| Ring | #EC4899 |
- Tokens: put these in your Tailwind theme as semantic tokens (
bg-background,text-foreground,bg-primary) rather than raw hex in components. - Pink as text:
#EC4899and#F9A8D4are fine for fills and buttons but don't use them as text on the pink background. Body text should be#831843or#475569. - Button text: the dataset pairs black text with the primary and accent fills. White on
#EC4899or#8B5CF6is roughly 3.5–4.2:1, which fails AA for normal text. My estimate is about 6:1 for black on#EC4899, but verify it. - If pink is too playful: the Mental Health row (#22: lavender
#8B5CF6with green#059669) is a calmer alternative. Run any substitute through a contrast checker too.
Font pairing
Use "Wellness Calm" (pairing #8): Lora for headings and Raleway for body. The dataset describes it as "Lora's organic curves with Raleway's elegant simplicity."
// next/font/google, with display: 'swap'
Lora({ subsets: ['latin'], variable: '--font-serif' })
Raleway({ subsets: ['latin'], variable: '--font-sans' })
- Tailwind config:
fontFamily: { serif: ['Lora','serif'], sans: ['Raleway','sans-serif'] }. - Body text: use at least 16px with 1.5–1.75 line height and 65–75 characters per line. Use weight 400 or heavier for body, since Raleway's light weights get thin on tinted backgrounds.
- Alternative: "Classic Elegant" (Playfair Display + Inter) is the dataset's pick if you want a more luxury feel.
Checks before shipping
Ordered by the skill's priority list, with the booking flow in mind.
Accessibility (critical)
- Check contrast on every text/background pair: 4.5:1 for normal text and 3:1 for large text. Include text over hero images, which needs a scrim.
- Keep visible focus rings on every interactive element, and make sure the sticky header doesn't hide the focused control (WCAG 2.2
focus-not-obscured). - Make sure Tab order matches visual order, add a skip-to-content link, and keep headings sequential (one
h1, no skipped levels). - Write meaningful alt text for treatment photos, and hide decorative icons from screen readers. Icon-only buttons need an
aria-label. - Give every booking-form field a visible label, not placeholder-only. Show errors below the field and link them with
aria-describedby. After a failed submit, focus an error summary or the first invalid field. - Use
autocompleteand semantic input types (email,tel) so autofill and the right mobile keyboard work. - Respect
prefers-reduced-motion. Any carousel needs pause and stop controls. - Don't rely on color alone, for example for available versus unavailable time slots. Add text or an icon.
- Make sure the date or time picker works fully by keyboard, with no drag-only interaction.
Touch and interaction (critical)
- Make targets at least 44×44px (WCAG 2.2 AA minimum is 24×24) with at least 8px between them.
- Don't rely on hover for anything important, such as service details or pricing.
- Show loading and disabled states on the submit button, then a clear success or error confirmation. Give visual press feedback within about 100ms.
- Add
cursor-pointeron clickable elements, and usetouch-action: manipulation. - Offer visible controls and a way to cancel or go back at each step if booking is multi-step.
Performance and layout
- Serve the hero as AVIF or WebP using
next/imagewith the hero set topriority, set explicit dimensions, and lazy-load images below the fold. CLS should be under 0.1. - Use
next/fontwithdisplay: swapand load only the weights you use. - Check that there's no horizontal scroll at 375px. Don't disable zoom, and use
min-h-dvhinstead of100vh. - Give the fixed header padding offsets so it doesn't cover content or anchor targets.
I can run through these against your code once there's a page to check. If you want database-verified style and landing-structure matches, I'd need a shell tool to run the search script.
Real run in an isolated folder with only this skill installed. Only the Skill and Read tools were enabled, so the search script was not run; the palette and font rows come from the data files the model read.
できること
モデルがローカルで検索できる UI/UX 資料を提供します。79 のスタイル、192 のプロダクト別配色(推論ルール付き)、74 のフォントペア、119 の UX ガイドライン、105 のアイコン、17 の GSAP モーションプリセット、25 種のチャート、22 のフロントエンドスタック(React、Next.js、Vue、SwiftUI、Flutter、Tailwind、shadcn など)向けのヒントが含まれます。
動き方
- モデルが依頼内容からプロダクトの種類と技術スタックを判断します。
- 新しいページやプロダクトでは、同梱の Python 検索スクリプト(
--design-system)を実行し、プロダクト・スタイル・配色・ランディングページ構成・フォントの結果を 1 つの提案にまとめます。個別の課題は--domain、スタックのヒントは--stackを使います。 - 結果は
design-system/<プロジェクト>/MASTER.mdとして保存でき、ページ別の上書きファイルも作れるため、次回以降も同じ判断を使えます。 - モバイル向け UI を納品する前に、チェックリスト(アイコン、タッチのフィードバック、ライト/ダークのコントラスト、セーフエリア、アクセシビリティ)で確認します。
向いている場面
新しいランディングページやダッシュボードの設計、プロダクトに合う配色とフォント選び、UI のアクセシビリティや操作性のレビュー、技術スタック別の実装ヒント。バックエンド、API、インフラの作業には向きません。
Python スクリプト(標準ライブラリのみ)を含みます。同梱データを読み取って結果を表示するだけで、ネットワークには接続しません。ファイルを書き込むのは `--persist` を付けたときだけで、指定した出力先に `design-system/<プロジェクト>/MASTER.md` を作成します。既存の MASTER.md は `--force` を付けない限り上書きされず、Skill はユーザーの明示的な許可なしに `--force` を使わないようモデルに指示しています。アカウントやキーは不要です。検索結果はあくまで提案なので、自社のブランドやユーザーに照らして判断してください。このサイトの掲載版では、メンテナ専用のデータ検証スクリプトとテストファイルを除いていますが、検索とデザインシステム機能には影響しません。