+ Precisely connects value differences to systemic causes.
- Slightly long, with some proposed tokens weakly justified.
a design systems engineer performing a forensic UI audit.
| Category | Design › Product design |
|---|---|
| Tags | AnalyzingReviewingChecklist |
You are a design systems engineer performing a forensic UI audit. Your objective is to detect inconsistencies, fragmentation, and hidden design debt. Be specific. Avoid generic feedback. --- ### 1. Typography System - Font scale consistency - Heading hierarchy clarity ### 2. Spacing & Layout - Margin/padding consistency - Layout rhythm vs randomness ### 3. Color System - Semantic consistency - Redundant or conflicting colors ### 4. Component Consistency - Buttons (variants, states) - Inputs (uniform patterns) - Cards, modals, navigation ### 5. Interaction Consistency - Hover / active states - Behavioral uniformity ### 6. Design Debt Signals - One-off styles - Inline overrides - Visual drift across pages --- ### Output Format: **Consistency Score (1–10)** **Critical Inconsistencies** **System Violations** **Design Debt Indicators** **Standardization Plan** **Priority Fix Roadmap**
Useful for finding where a design system drifts across screens. It asks for a 1-10 consistency score, standardization plan, and prioritized fix roadmap.
ChatGPT best balances evidence and action. Gemini is specific but contains overclaims and errors, while [C] is missing.
+ Precisely connects value differences to systemic causes.
- Slightly long, with some proposed tokens weakly justified.
+ Offers highly specific comparisons and remediation code.
- Accessibility, 40px height, and schedule claims are flawed.
| Criterion | ChatGPT | Gemini | Leader |
|---|---|---|---|
| Instruction following | 10 | 9 | ChatGPT +11% |
| Accuracy | 9 | 5 | ChatGPT +80% |
| Specificity | 10 | 9 | ChatGPT +11% |
| Structure | 9 | 8 | ChatGPT +13% |
| Right length | 8 | 5 | ChatGPT +60% |
Scored 1–10 by gpt-5.6-sol with model names hidden (2026-09-25). This is an AI review, not a measurement.
We gave three models the same input and copied their answers unedited. Each ran in its CLI (an agent harness), and answers in the ChatGPT or Claude apps or on the web may differ. Outputs are in Korean.
[Pasted material]
다음은 저희 커머스 어드민 서비스의 컴포넌트 CSS 발췌본입니다.
.btn-primary { padding: 10px 16px; background: #3B82F6; border-radius: 6px; font-size: 14px; }
.btn-submit { padding: 12px 20px; background: #2563EB; border-radius: 4px; font-size: 15px; }
.card { padding: 16px; margin-bottom: 24px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.card-product { padding: 14px; margin-bottom: 20px; border-radius: 12px; box-shadow: 0 2px 4px rgba(0,0,0,0.08); }
.text-heading { font-family: Pretendard; font-size: 22px; font-weight: 700; }
.text-title { font-family: Noto Sans KR; font-size: 20px; font-weight: 600; }
.input-box { border: 1px solid #D1D5DB; padding: 8px 12px; border-radius: 4px; }
.input-search { border: 1px solid #E5E7EB; padding: 10px 14px; border-radius: 8px; }
.error-text { color: #FF3B30; }
.error-msg { color: #DC2626; }
버튼, 카드, 인풋이 페이지마다 조금씩 다른 값으로 재구현되어 있는데 정확히 뭐가 문제인지 정리해 주세요.Consistency Score (1–10)
4/10
기본 컴포넌트 구조는 존재하지만, 동일한 역할의 컴포넌트가 페이지별로 별도 구현되어 있어 토큰과 상태 정의가 분리된 상태입니다.
Critical Inconsistencies
.btn-primary와 .btn-submit으로 분리되어 있습니다.10px 16px vs 12px 20px#3B82F6 vs #2563EB6px vs 4px14px vs 15px.card와 .card-product가 카드 변형인지 별도 컴포넌트인지 정의되어 있지 않습니다.16px vs 14px24px vs 20px8px vs 12px8px 12px, 4px10px 14px, 8pxsize 또는 variant 규칙이 필요합니다.#FF3B30은 iOS 계열 색상에 가깝고#DC2626은 Tailwind 계열 색상입니다.System Violations
Pretendard와 Noto Sans KR로 혼용됩니다.22px / 700과 20px / 600이 이름만 다르고 계층 관계가 정의되어 있지 않습니다.heading, title이 실제 HTML heading 단계와 연결되어 있지 않습니다.#3B82F6과 #2563EB 모두 파란색 primary 계열이지만 용도가 정의되지 않았습니다.14px, 16px, 20px, 24px가 각각 어떤 의미인지 알 수 없습니다.4px, 6px, 8px, 12px로 분산되어 있습니다.Design Debt Indicators
.btn-submit, .input-search, .card-product처럼 페이지 또는 기능 중심의 one-off 클래스가 생성되어 있습니다..error-text, .error-msg로 나뉘어 있습니다.primary는 스타일 변형이고 submit은 사용 목적입니다.variant와 type을 분리해야 합니다.Standardization Plan
:root {
--font-family-base: "Pretendard", sans-serif;
--font-size-sm: 14px;
--font-size-md: 16px;
--font-size-lg: 20px;
--font-size-xl: 22px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-5: 20px;
--space-6: 24px;
--radius-sm: 4px;
--radius-md: 6px;
--radius-lg: 8px;
--color-primary: #2563EB;
--color-primary-hover: #1D4ED8;
--color-border: #D1D5DB;
--color-error: #DC2626;
}
variant와 size를 둡니다.variant: primary, secondary, dangersize: sm, md, lgtype: button, submit, resetsubmit을 별도 시각 컴포넌트로 만들지 않고, 필요하면 type="submit"으로 처리합니다.
padding: 16px, radius: 8pxvariant="product"로 정의.card-product를 제거하고 .card를 재사용input 기본 스타일size: sm, md, lgvariant: default, searcharia-invalid와 공통 .is-error로 통합.text-error,
.input.is-error,
.form-message.is-error {
color: var(--color-error);
}
Priority Fix Roadmap
.btn-submit, .error-msg 같은 기능·페이지별 중복 클래스 정리 핵심 문제는 값이 조금씩 다른 것 자체보다, 그 차이가 “의도된 변형”인지 “페이지별 재구현”인지 구분할 수 없다는 점입니다. Tokens → Base component → Variant → State 순서로 체계를 정리해야 추가적인 시각적 드리프트를 막을 수 있습니다.
| 7v7 Football Team Generator App | |
| Accessibility Auditor | |
| Accessibility Auditor Agent Role | |
| Accessibility Expert | |
| Accessibility Testing Superpower |