Translate human UI/UX requirements into site-design.contract.yaml
Sole Responsibility: Translate human UI/UX requirements into
tracks/<track_id>/site-design.contract.yaml
This Skill acts as a translator between human design intent and machine-executable contracts. It does NOT generate UI, pages, components, or styles.
| Input | Description | Examples |
|---|---|---|
project_type |
Site category | saas, landing, docs, blog, dashboard |
audience |
Target users | b2b, b2c, developer, enterprise |
brand_keywords |
Design tone descriptors | modern, minimal, professional, playful |
stack |
Technical stack | astro, react, tailwind, next |
tracks/<track_id>/site-design.contract.yaml
Contract must:
python _meta/governance/validator.pyknowledge/design/ui-ux/
āāā ui_styles.yaml # Style patterns (minimalism, glassmorphism, etc.)
āāā color_schemes.yaml # Color palettes by product type
āāā font_pairings.yaml # Typography combinations
āāā chart_types.yaml # Data visualization guidance
āāā ux_guidelines.yaml # UX patterns and anti-patterns
brand_keywords ā ui_styles.yaml (find matching style)project_type ā color_schemes.yaml (find base palette)font_pairings.yaml (select typography)ux_guidelines.yaml for anti-patterns| Action | Reason |
|---|---|
| Generate UI/pages/components | Builder responsibility |
| Modify contract schema | Schema is frozen |
| Read Builder feedback | One-way data flow (Skill ā Builder) |
| Treat knowledge as SSOT | Knowledge is reference, Constitution is SSOT |
Extract structured requirements from user description:
"Build a dark-mode SaaS dashboard for developers"
ā project_type: saas
ā audience: developer
ā brand_keywords: [dark, tech, minimal]
ā stack: [to be specified]
# From ui_styles.yaml (brand_keywords: dark, tech)
matched_style: dark_mode_oled
primary_colors: ["#000000", "#121212"]
effects: [minimal-glow, high-readability]
# From color_schemes.yaml (project_type: saas)
matched_scheme: developer_tools
primary: "#3B82F6"
background: "#0F172A"
# From font_pairings.yaml (keywords: tech, developer)
matched_pairing: developer_mono
heading: JetBrains Mono
body: IBM Plex Sans
Write to tracks/<track_id>/site-design.contract.yaml:
version: "1.0"
kind: site-design
scope: track-instance
enforcement: warning
inherits:
from: _meta/contracts/site-design.contract.yaml
site:
name: <track_id>
stack: [user-specified]
tokens:
colors:
primary: "#3B82F6"
background: "#0F172A"
# ... (derived from knowledge)
typography:
primary_font: "IBM Plex Sans"
heading_font: "JetBrains Mono"
# ...
style:
allowed_modes: [dark]
default_mode: dark
ux:
accessibility:
min_contrast_ratio: 4.5
anti_patterns:
- confirm_shaming
- forced_popup
python _meta/governance/validator.py
Input:
Create design contract for a B2B SaaS analytics dashboard.
Modern, professional, dark mode preferred.
Stack: Astro + Tailwind
Track: analytics-dashboard
Output: tracks/analytics-dashboard/site-design.contract.yaml
Input:
Design contract for a wellness app landing page.
Calm, organic, light colors.
Stack: Next.js + Tailwind
Track: wellness-landing
Output: tracks/wellness-landing/site-design.contract.yaml
tracks/<track_id>/site-design.contract.yaml (read-only)_meta/schemas/contracts.schema.jsonThis skill MUST stop execution once a valid site-design.contract.yaml has been generated and validated.
The skill MUST NOT:
Created: 2026-01-13 | Version: 1.0.0