Enforce the ASOE visual design system whenever building any UI screen, component, page, or artifact for the ASOE platform. Triggers include: "build a dashboard", "create a UI", "design a screen", "new page for ASOE", "component", "layout", "card", "table", "metric tile", "queue view", "detail view", "sidebar", "agent card", "toast", "badge", "button", "pricing waterfall", "execution log", or any request to produce frontend code for ASOE. Also trigger when styling, theming, or fixing visual inconsistencies in existing ASOE screens. Read this skill FIRST, then read references/design-tokens.css for token values, references/component-patterns.md for component anatomy, and references/layout-templates.md for page composition. Cross-reference with application-design for agentic UX philosophy and frontend-design for execution quality standards.
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Enforce the ASOE visual design system whenever building any UI screen, component, page, or artifact for the ASOE platform. Triggers include: "build a dashboard", "create a UI", "design a screen", "new page for ASOE", "component", "layout", "card", "table", "metric tile", "queue view", "detail view", "sidebar", "agent card", "toast", "badge", "button", "pricing waterfall", "execution log", or any request to produce frontend code for ASOE. Also trigger when styling, theming, or fixing visual inconsistencies in existing ASOE screens. Read this skill FIRST, then read references/design-tokens.css for token values, references/component-patterns.md for component anatomy, and references/layout-templates.md for page composition. Cross-reference with application-design for agentic UX philosophy and frontend-design for execution quality standards.
ASOE UI Design System
1. Overview
This skill defines the complete design system for the ASOE (Agentic System of Engagement) platform — the agent-first interaction paradigm, design tokens, color, typography, components, layout patterns, motion, accessibility, and quality gates. Every screen, artifact, and component built for ASOE must conform to this system.
→ Read references/design-tokens.css for the full CSS variable definitions.
→ Read references/component-patterns.md for component anatomy and specs.
→ Read references/layout-templates.md for page-level composition rules.
→ Read references/anti-patterns.md for explicit "never do this" examples.
2. Design Philosophy
The Paradigm: Agent-First, Not Dashboard-First
ASOE is not a dashboard the user operates. It is a living system the user guides. The AI agents are the primary actors — they detect, diagnose, recommend, and execute. The human is the decision authority who intervenes at key moments, approves escalations, and handles edge cases. This fundamentally reshapes every screen:
Traditional Enterprise UI
ASOE Agent-First UI
User initiates every action
System active by default — agents always working
Static screens, final-state only
System in motion — progression, steps, transitions visible
AI hidden behind "Analysis" tab
AI activity central and visible without navigation
The System Is Alive — ASOE appears active without user input. Agents process continuously. The UI reflects this through activity indicators, progression states, and dynamic descriptions — never static labels alone. "On Hold" is a status. "Agent analyzing 3 condition records…" is activity.
Human as Intervener — Users step in at decision points, not at every step. Clear intervention opportunities (approve, override, escalate) with minimal manual workflow. If the user clicks 5 times where the agent could handle it, the design has failed.
Inline Intervention — Modify any step in-place. No navigating away to act. Actions are contextually embedded: sidebar, expanded rows, in-row buttons. The user never leaves the queue to see a diagnosis or take action.
Decision-Oriented — Every agent surface presents: recommended action, visible alternatives, trade-offs. The user is guided toward a decision, not presented raw data to interpret.
Legible Reasoning — Agent logic is traceable. Inputs, condition records, decision steps available on demand (Layer 2). But structured, never streamed — never a chat transcript.
Intelligent Escalation — Based on confidence and risk. The UI communicates why something was escalated and what the agent needs from the human.
Parallel Visibility — Multiple exception threads visible simultaneously. The user sees the full landscape of work, not one order at a time.
Traceability & Continuity — Full audit trail. Step-by-step history. Work resumes seamlessly. Context is preserved between sessions.
Visual Design Principles
Content First — Typography and spacing create hierarchy. Borders and decoration are last resorts.
Calm Authority — The interface feels like a senior analyst's briefing: precise, organized, unhurried.
Brand Restraint — Brand purple (#5A4BD6) appears in exactly three places: primary CTA buttons, nav logo mark, active tab indicator. Everything else neutral. 95%+ of pixels are grays.
Progressive Disclosure — Summary → Expand → Deep Dive. Default to minimum information needed to act.
Consistency Compounds Trust — Design decisions are system-level constants, not per-screen choices.
Status: Success #00B860/#F0FDF4 · Warning #E5C100/#FFFBEB · Error #E04040/#FEF2F2
Category: Purple #7C3AED · Teal #0D9488 · Amber #D97706 · Rose #E11D48 · Slate #64748B — each with subtle bg variant.
Color Rules
Brand purple is for action only. CTAs, nav logo, active tab. Nothing else.
95%+ neutral. Color appears only on status badges and CTA buttons.
Selected states = neutral surface + shadow. Never --color-brand-subtle.
Agent cards = elevation, not color. No purple stripe, icon, or confidence bar.
Neutral buttons = gray text.--color-text-secondary, not brand.
No raw hex in components. Tokens only.
5. Typography
--font-sans: "SF Pro Display", "SF Pro Text", "Inter", ui-sans-serif, system-ui, sans-serif;
--font-mono: "SF Mono", "JetBrains Mono", "Fira Code", ui-monospace, monospace;
SF Mono preferred for data — ~10–15% narrower than JetBrains Mono. Ships with macOS/iOS; JetBrains Mono is cross-platform fallback. Inter loads from Google Fonts (400/500/600/700).
Token
Size
Weight
Usage
--font-display
28px
700
Page title
--font-title
20px
700
Card/modal heading
--font-heading
16px
700
Section heading
--font-subhead
14px
600
Subsection
--font-body
13px
400
Content, descriptions
--font-caption
11px
500
Timestamps, metadata
--font-label
10px
700
Uppercase labels (tracked, tertiary)
--font-mono-data
14px
600
Prices, quantities
--font-mono-sm
11px
500
SAP codes, IDs
Rules: Left-align everything. Labels are scaffolding (10px, tertiary, tracked). Mono for all numeric data. Max 3 weights per screen. No size below 10px.
6. Component Library
Fixed components. No one-off designs.
Component
Purpose
Notes
NavBar
Glass surface, sticky, logo + nav + agent status + avatar
Brand purple only on logo
MetricTile
Icon + label + value + subtitle
Neutral icon backgrounds
Card
Primary container, borderless, shadow
Elevation varies by importance
DataTable
Expandable rows, no vertical borders, mono numerics
Rules: CSS-first only. Functional motion — animation indicates processing, state change, or spatial relationship. Never decorative. Agent pulse dot is the only looping animation. The system feels alive through content change (ActivityIndicator text updates), not gratuitous effects. Respect prefers-reduced-motion.
10. Accessibility
Contrast: WCAG 2.1 AA (4.5:1 body, 3:1 large). Glass → solid fallback. Keyboard: Tab-navigable, 2px solid var(--color-brand) focus ring, Escape closes overlays. Screen readers: aria-label on tiles, role="status" on badges, aria-live="polite" on agent cards. Reduced transparency: glass → solid surface.
11. Implementation
Layer
Stack
Framework
React 19 (hooks)
Styling
CSS custom properties + Tailwind
Font
Inter (Google Fonts), SF Mono (system)
Icons
Lucide React (24px)
Charts
Recharts
Motion
CSS transitions + @keyframes
Build: Tokens → Reset → Primitives → Cards → DataTable → AgentCard + ActivityIndicator → Waterfall → Shell → Nav → Toast → Pages → Motion pass. Naming: CSS --category-name, components PascalCase, classes BEM asoe-*. No inline styles in production.
12. Anti-Patterns & Quality Gates
Anti-Pattern
Correct Pattern
Brand purple on data, links, badges, borders, confidence bars